Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Installazione di Redmine con SVN su A cPanel/CentOS 5.6 Server

Questo tutorial spiega come installare Redmine con SVN su un server cPanel/CentOS 5.6. Redmine è un’applicazione web di gestione progetto flessibile. Scritto utilizzando il Ruby on Rails quadro, è cross-platform e cross-database.

Tutti i passaggi vengono eseguiti come ‘root’.

Prima dell’installazione verificare se ImageMagick è installato:

# /scripts/checkimagemagick
  ok

Se non si tratta quindi di installarlo:

# /scripts/installimagemagick

Ci vorranno pochi minuti quindi preparano un caffè. 😉

Dopo ImageMagick è installato vediamo iniziare con mod_dav.

Verifica se mod_dav è attivata:

# httpd -M | grep dav

dav_module (statico)
dav_fs_module (statico)

Se visualizzato nulla quindi ricompilare Apache usando:

# /scripts/easyapache
  • Verrà caricato semplice CLI:
  • Spostare con ‘Tab’ tra i pulsanti.
  • Carica default – “Precedentemente salvato Config”
  • Iniziare a personalizzare sulla base del profilo.
  • Scegliere la versione più recente di Apache (ad es.: 2.2.22).
  • Scegliere l’ultima versione stabile di PHP (ad es.: 5.3.15).
  • Spostare con il tasto ‘Tab’ “Esaustivo elenco di opzioni”.
  • Sotto il marchio “Built-in modulo di Apache” Dav e DAVFs
  • Spostare verso il basso con freccia giù “Preferenze”.
  • Mark “Archivio di Backup (solo per questa sessione)” – ovviamente per creare un backup di lavorare Apache 🙂
  • “Passo successivo” > “Salva e costruire” > confermare tutto se chiesto… E l’esecuzione della compilazione.

Ora è possibile avere 20-30 minuti break – bere caffè precedentemente preparato 😀

Dopo con successo è finito nuovamente check se dav è ora abilitato:

# httpd -M | grep dav

dav_module (statico)
dav_fs_module (statico)

Poi abbiamo bisogno di installare/attivare sovversione.

# cd /usr/local/src/

Ultimo pacchetto di rpmforge rpm di repo http://pkgs.repoforge.org/rpmforge-release/ secondo l’architettura del sistema di verifica (uname -p) e scaricare e installarlo:

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -i rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Installare subversion ultime da rpmforge:

# yum --enablerepo=rpmforge install subversion

Risorse di Get di subversion stesso rilasciare hai appena installato (ad esempio 1.6.11):

# svn --version

SVN, versione 1.6.11 (r934486)
compilato 14 maggio 2012, 05:36:18

  # yum list subversion

Pacchetti installati
Subversion.i386 1.6.11-10.el5_8 installato
Subversion.x86_64 1.6.11-10.el5_8 installato

  # wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.bz2

Verifica il pacchetto più recente fusione tra SQLite su http://www.sqlite.org/download.html e scaricare il programma (ad es.: 3.7.13):

# wget http://www.sqlite.org/sqlite-amalgamation-3071300.zip

Disfare tutto e preparare per la configurazione:

# tar xjf subversion-1.6.11.tar.bz2
# decomprimere sqlite-fusione-3071300.zip
# mkdir -p subversion-1.6.11/sqlite-amalgamation/
# cp sqlite-fusione-3071300/sqlite3.c subversion-1.6.11/sqlite-amalgamation/sqlite3.c
# ls-lad /usr/local/apache/bin/apxs/home/cpeasyapache/src/httpd * / srclib/apr/home/cpeasyapache/src/httpd * / srclib/apr-util

drwxr-xr-x 26 root root 4096 Aug 11 05:36 /home/cpeasyapache/src/httpd-2.2.22/srclib/apr/
drwxr-xr-x 20 root root 4096 Aug 11 05:37 /home/cpeasyapache/src/httpd-2.2.22/srclib/apr-util/
-rwxr-xr-x 1 root root 22652 Aug 11 05:36 /usr/local/apache/bin/apxs*

^^^^^^^^^^^^^^
Notice the paths – will be needed for next step.

Configure, build and install subversion:

# cd subversion-1.6.11
# ./configure –with-apxs=/usr/local/apache/bin/apxs –with-apr=/home/cpeasyapache/src/httpd-2.2.22/srclib/apr –with-apr-util=/home/cpeasyapache/src/httpd-2.2.22/srclib/apr-util
# make clean
# make && make install

Again – take a short break…

After successful installation of subversion let’s configure it.

Create include folder for EA3 config file:

# mkdir -p /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAIN]
# vi /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAIN]/svn.conf

Add following lines:

<IfModule mod_dav_svn.c>
   <Location /svn>
     DAV svn
     SVNPath /home/[USERNAME]/svn
     AuthType Basic
     AuthName "Subversion"
     AuthUserFile /home/[USERNAME]/.svn.htpasswd
     Require valid-user
   </Location>
</IfModule>

Find the location of modules:

# updatedb
# locate mod_dav_svn.so mod_authz_svn.so

/usr/local/apache/modules/mod_authz_svn.so
/usr/local/apache/modules/mod_dav_svn.so
^^^^^^^^^^^^^^

Notice the paths – will be needed for next step.

# vi /etc/httpd/conf/includes/pre_main_global.conf

Add following lines:

   LoadModule dav_svn_module /usr/local/apache/modules/mod_dav_svn.so
   LoadModule authz_svn_module /usr/local/apache/modules/mod_authz_svn.so

Create svn repository:

# cd /home/[USERNAME]
# svnadmin create svn
# chown -R [USERNAME]:nobody svn

Check if htpasswd is present:

# locate htpasswd

.
.
/usr/local/apache/bin/htpasswd
.
.

# /usr/local/apache/bin/htpasswd -cm /home/[USERNAME]/.svn.htpasswd [USERNAME_FOR_SVN]

Verrà richiesto di impostare una nuova password.

Infine fare:

# ln -s /home/[USERNAME]/svn /svn

Set up della sovversione è fatto, ora facciamo renderlo permanente e apportare alcune modifiche…

Creare script di avvio:

# vi /etc/init.d/subversion

Inserire seguenti linee:

#!/bin/bash
   #
   #   /etc/rc.d/init.d/subversion
   #
   # Starts the Subversion Daemon
   #
   # chkconfig: 345 90 10
   # description: Subversion Daemon 
   # processname: svnserve

source /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

# To pass additional options (for instace, -r root of directory to server) to
   # the svnserve binary at startup, set OPTIONS here.
   #
   OPTIONS="-r /svn"
 

RETVAL=0
   prog="svnserve"
   desc="Subversion Daemon"

start() {
   echo -n $"Starting $desc ($prog): "
   daemon $prog -d $OPTIONS
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
   echo
   }

stop() {
   echo -n $"Shutting down $desc ($prog): "
   killproc $prog
   RETVAL=$?
   [ $RETVAL -eq 0 ] && success || failure
   echo
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
   return $RETVAL
   }

case "$1" in
   start)
   start
   ;;
   stop)
   stop
   ;;
   restart)
   stop
   start
   RETVAL=$?
   ;;
   condrestart)
   [ -e /var/lock/subsys/$prog ] && restart
   RETVAL=$?
   ;;
   *)
   echo $"Usage: $0 {start|stop|restart|condrestart}"
   RETVAL=1
   esac

exit $RETVAL

Ora di verificare se lo script di avvio è funzionante:

# service subversion status
  Usage: /etc/init.d/subversion {start|stop|restart|condrestart}

Grande! 🙂
Consentirle di lanciare all’avvio del server:

subversion chkconfig # su
# chkconfig – sovversione elenco

  subversion      0:off   1:off   2:on    3:on    4:on    5:on    6:off

Ora controllare se tutto è configurato correttamente e applicare le modifiche:

# /scripts/verify_vhost_includes

Test /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAIN]/svn.conf…ok
^^^^^^^^^^^^^^

Non continuare se ci sono errori! Esaminare e controllare dove si trova l’errore!

# /scripts/ensure_vhost_includes --user=[USERNAME]

info [safeapacherestart] riavvio forzato trascorsi secondi: 2
Apache si è riavviato.

# /scripts/rebuildhttpdconf
  Built /usr/local/apache/conf/httpd.conf OK
# /scripts/restartsrv_httpd
# service subversion restart

Controllo finale:

Vai a www.yoursite.com/svn

Se tutto funziona bene dovrebbe essere richiesto per nome utente/password.

Dopo SVN è impostato correttamente Let’s deal con Redmine.

Va’ a casa:

# cd

Ottenere il più recente fonte stabile di Redmine:

# svn co http://redmine.rubyforge.org/svn/branches/2.0-stable redmine-2.0

Installare i prerequisiti:

Fardellatrice di installare gemma n.
n # gem install rmagick

Installare il pacchetto:

# cd redmine-2.0
n # pacchetto di installazione..–senza sviluppo test postgresql sqlite

^^^^^^^^^^^^
Si noti che ‘..–senza ‘ può avere ‘rmagick’ come parametro, se non è installato.

Creare un database e l’utente per Redmine (in questo caso MySQL):

# mysql -u [USERNAME] -p

MySQL > creare redmine set di caratteri database utf8;
MySQL > creare redmine_devel set di caratteri database utf8;
MySQL > concedere tutti i privilegi su [nome utente] _redmine [nome utente];
MySQL > concedere tutti i privilegi su [nome utente] _redmine_devel [nome utente];
MySQL > show databases;

+————————–+
Database |
+————————–+
INFORMATION_SCHEMA |
[USERNAME] _redmine |
[USERNAME] _redmine_devel |
+————————–+
3 righe nel set (0,16 sec)

# cp config/database.yml.example yml
# vi yml

Modificare il file secondo le vostre esigenze con database precedentemente impostato, ad esempio:

production:
   adapter: mysql
   database: [USERNAME]_redmine
   host: localhost
   username: [USERNAME]
   password: [PASSWORD]
   encoding: utf8

development:
   adapter: mysql
   database: [USERNAME]_redmine_development
   host: localhost
   username: [USERNAME]
   password: {PASSWORD}
   encoding: utf8

Creare token segreta, compilare il database, ecc…

n # rastrello generate_secret_token
# RAILS_ENV = produzione rake db: migrate
# RAILS_ENV = produzione rastrello redmine:load_default_data
# mkdir -p tmp pubblico/plugin_assets
# chown -R [USERNAME]: [nome utente] file registro pubblico tmp/plugin_assets
# chmod -R 755 file registro pubblico tmp/plugin_assets

Ora provare se funziona utilizzando server web WEBrick:

# ruby script/rails server webrick -e production

Scegliere il browser Web http://[DOMAINNAME]:3000
Admin account predefinito: admin / admin

Una volta controllato e tutto sembra di lavoro torna alla sessione di terminale e uccidere il WEBrick (ad es.: CTLR + C).

Redmine è istituito – ora abbiamo bisogno di farlo funzionare con ‘Phusion Passenger’, aka mod_rails’ ‘.

Torna a casa (ancora 🙂 e installare passeggero:

# cd
passeggero di installare gemma n.
n # passeggeri-install-apache2-modulo

Se tutto va bene, installatore vi dirà cosa fare, per esempio:

--------------------------------------------
   The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.15/ext/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.15
   PassengerRuby /usr/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
   applications on Apache, without any further Ruby on Rails-specific configuration!

Press ENTER to continue.

--------------------------------------------
   Deploying a Ruby on Rails application: an example

Suppose you have a Rails application in /somewhere. Add a virtual host to your
   Apache configuration file and set its DocumentRoot to /somewhere/public:

<VirtualHost *:80>
   ServerName www.yourhost.com
   # !!! Be sure to point DocumentRoot to 'public'!
   DocumentRoot /somewhere/public
   <Directory /somewhere/public>
   # This relaxes Apache security settings.
   AllowOverride all
   # MultiViews must be turned off.
   Options -MultiViews
   </Directory>
   </VirtualHost>

And that's it! You may also want to check the Users Guide for security and
   optimization tips, troubleshooting and other useful information:

/usr/lib/ruby/gems/1.8/gems/passenger-3.0.15/doc/Users guide Apache.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
   https://www.phusionpassenger.com

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

Facciamolo allora!

# vi /usr/local/apache/conf/includes/pre_main_global.conf

Aggiungere le seguenti righe (in base all’output dall’installazione di passeggeri):

   # Load passenger module
   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.15/ext/apache2/mod_passenger.so

Ora modificare EA3 include file:

# vi /etc/httpd/conf/userdata/std/2/[USERNAME]/[DOMAINNAME]/redmine.conf

Aggiungere le seguenti righe (ancora una volta, in base all’output precedente):

<IfModule mod_passenger.c>
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.15
   PassengerRuby /usr/bin/ruby

# Optional - delete HTTP header which would be added by Passenger
   #        Header always unset "X-Powered-By"
   #        Header always unset "X-Rack-Cache"
   #        Header always unset "X-Content-Digest"
   #        Header always unset "X-Runtime"

# Optional - for passenger tuning
   #        PassengerLogLevel 0
   #        RailsAutoDetect On
   #        PassengerMaxPoolSize 20
   #        PassengerMaxInstancesPerApp 4
   #        PassengerPoolIdleTime 3600
   #        PassengerUseGlobalQueue on
   #        #PassengerHighPerformance on !!! conflict with DAV svn
   #        PassengerStatThrottleRate 10
   #        RailsSpawnMethod smart
   #        RailsAppSpawnerIdleTime 86400
   #        RailsFrameworkSpawnerIdleTime 0
   #        PassengerUserSwitching On
   #        PassengerDefaultUser apache
   #        PassengerMaxRequests 3000
   #        PassengerMinInstances 3

RailsBaseURI /redmine

<Directory /home/[USERNAME]/public_html/redmine>
   Options -MultiViews
   </Directory>

</IfModule>

Creare un link simbolico e controllare:

# ln -s /home/[USERNAME]/redmine-2.0/public/Home / [nome utente] / public_html/redmine
# ls -l/Home / [nome utente] / public_html/redmine

  lrwxrwxrwx 1 root root 33 Aug 12 04:05 /home/[USERNAME]/public_html/redmine -> /home/[USERNAME]/redmine-2.0/public/

Ora aprire un’altra sessione di terminale e mantenere il controllo per errori:

# tail -f /usr/local/apache/logs/error_log

Indietro nella prima sessione di terminale:

# /scripts/verify_vhost_includes
  Testing /usr/local/apache/conf/userdata/std/2/[USERNAME]/[DOMAINNAME]/redmine.conf...ok

Se tutto è OK, quindi:

# / scripts/ensure_vhost_includes..–utente = [nome utente]
# / scripts/rebuildhttpdconf
# / scripts/restartsrv_httpd

E questo dovrebbe essere! 🙂

 

Riferimenti:

  • http://www.webhostgear.com/122.html
  • http://docs.cPanel.NET/TWiki/pub/AllDocumentation/TrainingResources/TrainingSlides08/EA3Build.pdf
  • http://wiki.CentOS.org/howtos/Subversion
  • http://Sven.webiny.com/Subversion-on-cPanel-3-with-CentOS-55-and-easyapache-32/
  • http://www.rackset.com/Blog/install-subversion-CentOS-cPanel-VPS-with-autostart-script-reboot
  • http://www.serveradminz.com/Blog/?p=107
  • http://www.webxpert.ro/Andrei/2010/03/12/Install-Subversion-for-VPS-cPanel-under-CentOS/
  • http://www.Edugeek.net/forums/nix/26101-Subversion-WHM-cPanel-11-a.html
  • http://StackOverflow.com/questions/1254366/Problem-installing-rmagick-rubygem-on-CentOS-5/7766705#7766705
  • http://jetpackweb.com/Blog/2009/07/21/install-Phusion-Passenger-a-k-a-Mod_Rails-on-cPanel-server
  • http://www.modrails.com/documentation/Users%20Guide%20Apache.html#_installing_via_the_gem
  • http://www.modrails.com/documentation/Users%20Guide%20Apache.html#deploying_rails_to_sub_uri
  • http://www.redmine.org/projects/Redmine/wiki/HowTo_configure_Apache_to_run_Redmine

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp