<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi&amp;feed=atom&amp;action=history</id>
		<title>Redmine e apache via fcgi - Cronologia</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi&amp;action=history"/>
		<updated>2013-05-25T00:58:57Z</updated>
		<subtitle>Cronologia della pagina su questo sito</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi&amp;diff=7377&amp;oldid=prev</id>
		<title>Targzeta: Creata pagina con '&lt;!-- Per http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi --&gt;  Category: Ufficio_e_Web = Introduzione = In questo articolo vedremo come installare ...'</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi&amp;diff=7377&amp;oldid=prev"/>
				<updated>2012-11-25T12:05:27Z</updated>
		
		<summary type="html">&lt;p&gt;Creata pagina con &amp;#039;&amp;lt;!-- Per http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi --&amp;gt;  &lt;a href=&quot;/slacky/Categoria:Ufficio_e_Web&quot; title=&quot;Categoria:Ufficio e Web&quot;&gt;Category: Ufficio_e_Web&lt;/a&gt; = Introduzione = In questo articolo vedremo come installare ...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- Per http://www.slacky.eu/wikislack/index.php?title=Redmine_e_apache_via_fcgi --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Ufficio_e_Web]]&lt;br /&gt;
= Introduzione =&lt;br /&gt;
In questo articolo vedremo come installare Redmine sulla Slackware (testato su Slackware 14.0 e 13.37 con gli accorgimenti riportati in seguito) e come configurare il server apache (httpd) in modo da renderlo accessibile via fcgi.&lt;br /&gt;
&lt;br /&gt;
Redmine salva i propri dati su di un database e può gestire diversi tipi di DBMS ma, dato che Slackware ha come DBMS di defaul MySQL, noi useremo quest'ultimo.&lt;br /&gt;
&lt;br /&gt;
= Installare Redmine =&lt;br /&gt;
L'installazione avviene senza problemi seguendo la [http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Installation-procedure guida ufficiale]. Di seguito, comunque, riporto un sunto di quello che va fatto per installarlo su Slackware.&lt;br /&gt;
&lt;br /&gt;
== Step 0: installare fcgi e mod_fcgi ==&lt;br /&gt;
Per poter usare httpd via fcgi (Fast CGI) va installata nel sistema sia la libreria '''fcgi''' che il modulo '''mod_fcgid''' (per httpd stesso).&lt;br /&gt;
&lt;br /&gt;
=== fcgi versione 2.4.1-SNAP-0910052249 ===&lt;br /&gt;
Il progetto è molto vecchio (2009), ma [http://www.fastcgi.com/ gli sviluppatori] dicono che le modifiche sono minime perché il protocollo è stabile. Il sorgente lo trovate [http://www.fastcgi.com/dist/ qui], ma noi creeremo il pacchetto per Slackware grazie ai comandi seguenti (l'ultimo va eseguito come root):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
mkdir fcgi&lt;br /&gt;
cd fcgi&lt;br /&gt;
wget http://www.fastcgi.com/dist/fcgi-2.4.1-SNAP-0910052249.tar.gz&lt;br /&gt;
wget http://www.slacky.eu/wikislack/upload/1/13/Fcgi-SlackBuild.tar.bz2&lt;br /&gt;
tar -xf Fcgi-SlackBuild.tar.bz2&lt;br /&gt;
sh fcgi.SlackBuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il pacchetto verrà creato nella directory corrente (''/tmp/fcgi'').&lt;br /&gt;
&lt;br /&gt;
=== mod_fcgid versione 2.3.7 ===&lt;br /&gt;
Per controllare l'uscita di versioni più recenti si veda [https://httpd.apache.org/download.cgi#mod_fcgid questo link]. Di seguito, i comandi necessari alla costruzione del pacchetto per Slackware (al solito, l'ultimo va eseguito come root):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
mkdir mod_fcgid&lt;br /&gt;
cd mod_fcgid&lt;br /&gt;
wget http://apache.panu.it//httpd/mod_fcgid/mod_fcgid-2.3.7.tar.bz2&lt;br /&gt;
wget http://www.slacky.eu/wikislack/upload/8/8a/Mod_fcgid-SlackBuild.tar.bz2&lt;br /&gt;
tar -xf Mod_fcgid-SlackBuild.tar.bz2&lt;br /&gt;
sh mod_fcgid.SlackBuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il pacchetto verrà creato nella directory corrente (''/tmp/mod_fcgid'').&lt;br /&gt;
&lt;br /&gt;
Una volta installato il pacchetto, va anche detto al server httpd di usarlo:&lt;br /&gt;
 echo 'LoadModule fcgid_module lib64/httpd/modules/mod_fcgid.so' &amp;gt;&amp;gt; /etc/httpd/httpd.conf&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|Una volta lanciato il server apache, noterete nel suo log ''/var/log/httpd/error_log'', se il modulo è stato caricato correttamente, una riga simile a questa:&lt;br /&gt;
 AH00489: Apache/2.4.3 (Unix) PHP/5.4.7 mod_fcgid/2.3.7 configured&lt;br /&gt;
Alternativamente, si può controllare tra i moduli caricati da apache con:&lt;br /&gt;
 httpd -M | grep fcgid&lt;br /&gt;
dovrebbe comparire la riga:&lt;br /&gt;
 fcgid_module (shared)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Step 1: scaricare Redmine ==&lt;br /&gt;
Scaricate redmine dal [http://www.redmine.org/projects/redmine/wiki/Download sito ufficiale] ed estraete l'archivio nella directory che preferite. Tenete conto che la sotto-directory ''public'' (contenuta nell'archivio) è quella che verrà gestita dal server web. Per questa wiki, l'archivio è stato scaricato nella directory ''/tmp'' ed è stato estratto sotto ''/var/www/htdocs/'' con i comandi (per Redmine 2.1.4):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://rubyforge.org/frs/download.php/76578/redmine-2.1.4.tar.gz&lt;br /&gt;
cd /var/www/htdocs/&lt;br /&gt;
tar -xf /tmp/redmine-2.1.4.tar.gz&lt;br /&gt;
mv redmine-2.1.4 redmine&lt;br /&gt;
chown root.root -R redmine&lt;br /&gt;
chmod go-w -R redmine/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|Visto che abbiamo installato redmine sotto ''/var/www/htdocs/'', tutti i comandi vanno eseguiti con i diritti dell'utente root. In realtà, se si installa redmine in una directory accessibile all'utente non amministratore, i comandi possono anche essere eseguiti senza l'ausilio del superutente.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Step 2: installare i requisiti ==&lt;br /&gt;
Installate il pacchetto '''bundler''' per Ruby eseguendo, come root:&lt;br /&gt;
 gem install bundler&lt;br /&gt;
{{Warning&lt;br /&gt;
|Slackware 13.37 o precedenti&lt;br /&gt;
|Il pacchetto '''bundler''' necessita di una versione recente di '''gem''' non installata nel pacchetto Slackware di Ruby. Si può comunque provare ad installare la versione di Ruby presente nella Slackware 14.0 usando direttamente lo SlackBuild di Pat. Prima di compilare ed installare Ruby, comunque, va compilata e installata anche la libreria '''libyaml''', sempre presenta nella Slackware 14.0. Ecco i link agli SlackBuild ufficiali:&lt;br /&gt;
* [http://slackware.org.uk/slackware/slackware-14.0/source/l/libyaml/ libyaml]&lt;br /&gt;
* [http://slackware.org.uk/slackware/slackware-14.0/source/d/ruby/ ruby]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|Dato che redmine necessita di tutta una serie di dipendenze per Ruby di cui è difficile trovare i pacchetti Slackware, qui useremo il package manager per Ruby di default, '''gem'''. Tutti i pacchetti installati, comunque, saranno inseriti da '''gem''' nella directory (su una slackware64-14.0) ''/usr/lib64/ruby/gems/1.9.1/gems''.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Ora, assicuratevi di essere all'interno della directory di redmine:&lt;br /&gt;
 cd /var/www/htdocs/redmine&lt;br /&gt;
&lt;br /&gt;
Tramite '''bundler''' e il file '''Gemfile''' fornito con redmine, si possono installare tutte le dipendenze necessarie a quest'ultimo. Prima però bisogna eseguire il comando:&lt;br /&gt;
 echo &amp;quot;gem 'fcgi'&amp;quot; &amp;gt; Gemfile.local&lt;br /&gt;
per dire a '''bundler''' che deve installare anche il pacchetto '''fcgi''' (per Ruby). Ora siamo pronti ad installare il tutto tramite il comando:&lt;br /&gt;
 bundle install --without development test postgresql sqlite&lt;br /&gt;
le opzioni dicono a '''bundler''' di non installare i pacchetti necessari al ramo di sviluppo, a quello di test, e di ignorare anche i pacchetti necessari ai DBMS PostgreSQL e SQLite.&lt;br /&gt;
&lt;br /&gt;
== Step 3: preparare il database MySQL ==&lt;br /&gt;
Ora dobbiamo creare sia un database che un utente per MySQL a cui garantire pieno accesso. Come suggerito nella [http://www.redmine.org/projects/redmine/wiki/RedmineInstall#MySQL guida ufficiale] creiamo il database '''redmine''' e l'utente '''redmine''' (con password '''redminepass''') via mysql:&lt;br /&gt;
 mysql -u'root' -p'root_pass'&lt;br /&gt;
 create database redmine character set utf8;&lt;br /&gt;
 create user 'redmine'@'localhost' identified by 'redminepass';&lt;br /&gt;
 grant all privileges on redmine.* to 'redmine'@'localhost';&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
== Step 4: configurare redmine all'uso del database ==&lt;br /&gt;
Per dire a redmine di usare il database creato al passo precedente bisogna creare il file ''config/database.yml'' con all'interno le seguenti righe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
production:&lt;br /&gt;
  adapter: mysql2&lt;br /&gt;
  database: redmine&lt;br /&gt;
  host: localhost&lt;br /&gt;
  username: redmine&lt;br /&gt;
  password: redminepass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possiamo farlo eseguendo il comando seguente:&lt;br /&gt;
 echo -e 'production:\n  adapter: mysql2\n  database: redmine\n  host: localhost\n  username: redmine\n  password: redminepass' &amp;gt; config/database.yml&lt;br /&gt;
&lt;br /&gt;
== Step 5: generare il secret token ==&lt;br /&gt;
Questo passo genera una chiave random usata da '''Rails''' (il framework Ruby usato da Redmine) per codificare i cookie di sessione:&lt;br /&gt;
 rake generate_secret_token&lt;br /&gt;
&lt;br /&gt;
== Step 6: creare le tabelle del database ==&lt;br /&gt;
Ora create le tabelle di redmine con il comando:&lt;br /&gt;
 RAILS_ENV=production rake db:migrate&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|La variabile di ambiente RAILS_ENV serve a dire a '''Rails''' quale ramo deve usare, quello che abbiamo configurato noi (vedi file ''config/database.yml'') è quello di produzione (c'è anche quello di test e di sviluppo).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Step 7: popolare le tabelle con i dati di default ==&lt;br /&gt;
 RAILS_ENV=production REDMINE_LANG=it rake redmine:load_default_data&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|REDMINE_LANG=it dice a redmine di installare la traduzione in lingua italiana.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Step 8: permessi a file e directory ==&lt;br /&gt;
Ora dobbiamo garantire l'accesso al server httpd ad alcuni file e directory:&lt;br /&gt;
 mkdir -p tmp/pdf public/plugin_assets&lt;br /&gt;
 chown -R apache.apache files log tmp public/plugin_assets&lt;br /&gt;
&lt;br /&gt;
== Step 9: testare il tutto ==&lt;br /&gt;
Per controllare se redmine è stato installato correttamente, basta eseguire il comando:&lt;br /&gt;
 ruby script/rails server webrick -e production&lt;br /&gt;
e poi andare all'indirizzo http://localhost:3000/&lt;br /&gt;
&lt;br /&gt;
== Step 10: login ==&lt;br /&gt;
Nello step 7 redmine ha creato anche un utente amministratore di default con le seguenti credenziali:&lt;br /&gt;
* login: admin&lt;br /&gt;
* password: admin&lt;br /&gt;
&lt;br /&gt;
= Usare fcgi =&lt;br /&gt;
Una volta installato redmine, possiamo &amp;quot;integrarlo&amp;quot; nel server web apache ('''httpd''') via '''fcgi'''. Prima assicuriamoci di aver seguito lo [[#Step_0:_installare_fcgi_e_mod_fcgi|Step 0]] del paragrafo precedente e di aver installato via '''gem''' il pacchetto '''fcgi''' anche per Ruby ([[#Step_2:_installare_i_requisiti|Step 2]] del paragrafo precedente).&lt;br /&gt;
&lt;br /&gt;
Prima di eseguire i passi seguenti, assicuriamoci ancora una volta di stare nella directory in cui abbiamo decompresso redmine:&lt;br /&gt;
 cd /var/www/htdocs/redmine&lt;br /&gt;
&lt;br /&gt;
== Step 0: preparare redmine e apache ==&lt;br /&gt;
Redmine viene fornito di uno script FCGI che esegue il vero processo. Lo script si chiama ''public/dispatch.fcgi.example'', rinominiamolo (o copiamolo) eliminando l'estensione ''.example''.&lt;br /&gt;
 mv public/dispatch.fcgi.example public/dispatch.fcgi&lt;br /&gt;
&lt;br /&gt;
Ora che abbiamo il wrapper fcgi, abbiamo anche bisogno di istruire apache in modo che lo esegua. Anche per questo redmine ha un file htaccess di esempio, ''public/htaccess.fcgi.example''. Rinominiamo anche questo:&lt;br /&gt;
 mv public/htaccess.fcgi.example public/.htaccess&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|Se date uno sguardo al file ''public/.htaccess'' appena spostato, noterete che ci sono una serie di '''IfModule'''. Questo perché redmine può essere eseguito via fcgi sia con il modulo per apache '''mod_fcgid''' (il nostro caso) sia con '''mod_fastcgi'''. Per l'ultimo caso si veda [http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine#mod_fastcgi la guida sul sito di redmine]. Per le nostre esigenze, il file ''public/.htaccess'' potrebbe essere anche riscritto nel modo seguente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# General Apache options&lt;br /&gt;
AddHandler fcgid-script .fcgi&lt;br /&gt;
&lt;br /&gt;
Options +FollowSymLinks +ExecCGI&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^$ index.html [QSA]&lt;br /&gt;
RewriteRule ^([^.]+)$ $1.html [QSA]&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]&lt;br /&gt;
&lt;br /&gt;
ErrorDocument 500 &amp;quot;&amp;lt;h2&amp;gt;Application error&amp;lt;/h2&amp;gt;Rails application failed to start properly&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warning&lt;br /&gt;
|Attenzione&lt;br /&gt;
|La Slackware non ha, di default, il modulo apache '''mod_rewrite''' attivo, necessario per poter usare i file ''.htaccess''. Per attivarlo assicuriamoci che la relativa riga nel file ''/etc/httpd/httpd.conf'' sia decommentata (qui la riga per la Slackware64 14.0):&lt;br /&gt;
 LoadModule rewrite_module lib64/httpd/modules/mod_rewrite.so&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Quello che resta da fare è dire a '''Rails''' di eseguire l'ambiente di produzione, altrimenti di default verrà eseguito l'ambiente di sviluppo. Per fare questo bisogna inserire all'inizio del file ''config/environment.rb'' le seguenti righe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Force the rails environment to production&lt;br /&gt;
ENV['RAILS_ENV'] ||= 'production'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Possiamo farlo direttamente eseguendo il seguente comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -i '1i \&lt;br /&gt;
# Force the rails environment to production \&lt;br /&gt;
ENV[&amp;quot;RAILS_ENV&amp;quot;] ||= &amp;quot;production&amp;quot; \&lt;br /&gt;
' config/environment.rb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 1: configurare il virtual host di apache ==&lt;br /&gt;
Ci sono due modi per rendere disponibile redmine via apache. Possiamo settargli un virtual host dedicato, oppure renderlo disponibile come sotto-directory di un virtual host già esistente.&lt;br /&gt;
&lt;br /&gt;
=== Virtual host dedicato ===&lt;br /&gt;
Aggiungiamo al file che contiene le impostazioni sui virtual host, ''/etc/httpd/extra/httpd-vhosts.conf'', seguenti righe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Redmine&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  DocumentRoot &amp;quot;/var/www/htdocs/redmine/public&amp;quot;&lt;br /&gt;
  ServerName redmine&lt;br /&gt;
  &amp;lt;Directory &amp;quot;/var/www/htdocs/redmine/public&amp;quot;&amp;gt;&lt;br /&gt;
    AllowOverride FileInfo Options&lt;br /&gt;
    Require all granted&lt;br /&gt;
  &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Information&lt;br /&gt;
|Note&lt;br /&gt;
|Le due direttive di '''AllowOverride''' servono rispettivamente, per abilitare l'uso del file ''.htaccess'' e per dare la possibilità a quest'ultimo di aggiungere le opzioni di cui necessita ('''+FollowSymLinks''' e '''+ExecCGI''').&lt;br /&gt;
}}&lt;br /&gt;
Dopo aver riavviato il server apache, basta collegarsi a http://redmine per vedere se il server è attivo (la prima volta ci vorrà un po' tempo affinché il framework '''Rails''' faccia il setup completo).&lt;br /&gt;
{{Warning&lt;br /&gt;
|Attenzione&lt;br /&gt;
|Affinché il link http://redmine funzioni, c'è bisogno che la richiesta venga rediretta al nostro server apache. Nel nostro caso, dato che stiamo provando tutto in locale, questo può essere fatto aggiungendo la riga seguente al file ''/etc/hosts'':&lt;br /&gt;
 127.0.0.1       redmine&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Usare un virtual host esistente ===&lt;br /&gt;
Possiamo installare redmine sotto un virtual host esistente. Per fare questo, però, dato che la directory pubblica è una sotto-directory di redmine (la directory ''public/''), per non dover scrivere nel URL ''/redmine/public/'' è più conveniente settare un alias.&lt;br /&gt;
&lt;br /&gt;
Supponiamo che ci sia già il seguente virtual host configurato nel file ''/etc/httpd/extra/httpd-vhosts.conf'' (notate il '''ServerName''' come '''localhost'''):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  DocumentRoot &amp;quot;/srv/httpd/htdocs&amp;quot;&lt;br /&gt;
  ServerName localhost&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per settare l'alias per redmine bisogna modificare la precedente configurazione, con questa:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  DocumentRoot &amp;quot;/srv/httpd/htdocs&amp;quot;&lt;br /&gt;
  ServerName localhost&lt;br /&gt;
&lt;br /&gt;
  # Redmine&lt;br /&gt;
  Alias &amp;quot;/redmine&amp;quot; &amp;quot;/var/www/htdocs/redmine/public&amp;quot;&lt;br /&gt;
  &amp;lt;Directory &amp;quot;/var/www/htdocs/redmine/public&amp;quot;&amp;gt;&lt;br /&gt;
    AllowOverride FileInfo Options&lt;br /&gt;
    Require all granted&lt;br /&gt;
  &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ora però va modificato il file ''public/.htaccess'' settando la '''RewriteBase''' come ''/redmine'', altrimenti le richieste a http://localhost/redmine saranno riscritte in maniera errata (in particolare, non andranno verso ''public/dispatch.fcgi'' ma direttamente verso ''dispatch.fcgi''). Possiamo farlo con il comando seguente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sed -i '/^RewriteEngine/a \&lt;br /&gt;
RewriteBase /redmine' public/.htaccess&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prima di testare il tutto, bisogna correggere [http://www.redmine.org/issues/12102 un piccolo bug] del framework '''Rails''' che gli impedisce di avviarsi in maniera corretta quando l'applicazione è un alias di un virtual host. Quindi modifichiamo il file ''config/environment.rb'' sostituendo le righe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Initialize the rails application&lt;br /&gt;
RedmineApp::Application.initialize!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Initialize the rails application&lt;br /&gt;
RedmineApp::Application.routes.default_scope =  { :path =&amp;gt; '/redmine', :shallow_path =&amp;gt; '/redmine' }&lt;br /&gt;
RedmineApp::Application.initialize!&lt;br /&gt;
Redmine::Utils::relative_url_root = '/redmine'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ora tutto dovrebbe essere pronto e redmine dovrebbe rispondere correttamente all'indirizzo http://localhost/redmine.&lt;br /&gt;
&lt;br /&gt;
== Possibili problemi ==&lt;br /&gt;
Se redmine non dovesse funzionare a dovere, potete provare a guardare il file di log ''log/production.log''.&lt;br /&gt;
&lt;br /&gt;
=== `require': no such file to load -- fcgi (LoadError) ===&lt;br /&gt;
Se trovate questo errore, provate a modificare il file ''public/dispatch.fcgi'' inserendovi all'inizio le seguenti righe:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'rubygems'&lt;br /&gt;
require 'fcgi'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ovviamente dovete anche aver installato il pacchetto '''fcgi''' per Ruby, come visto nello [[#Step_2:_installare_i_requisiti|Step 2]] fatto durante l'installazione di redmine. Se non l'avete fatto, potete sempre farlo con:&lt;br /&gt;
 gem install fcgi&lt;br /&gt;
&lt;br /&gt;
= Rimuovere il tutto =&lt;br /&gt;
Durante l'installazione di redmine, abbiamo modificato qualche file di configurazione ed installato un bel po' di software. Vediamo come poter tornare indietro.&lt;br /&gt;
&lt;br /&gt;
== Rimozione pacchetti installati ==&lt;br /&gt;
I pacchetti da rimuovere, con removepkg, sono:&lt;br /&gt;
* mod_fcgid&lt;br /&gt;
* fcgi&lt;br /&gt;
(eventualmente anche ruby e libyaml).&lt;br /&gt;
 removepkg mod_fcgid fcgi&lt;br /&gt;
&lt;br /&gt;
Vanno anche cancellati, il file:&lt;br /&gt;
 /var/run/fcgid_shm&lt;br /&gt;
e la directory:&lt;br /&gt;
 /var/run/fcgidsock/&lt;br /&gt;
con:&lt;br /&gt;
 rm -r /var/run/fcgid_shm /var/run/fcgidsock/&lt;br /&gt;
&lt;br /&gt;
== Pacchetti per Ruby ==&lt;br /&gt;
Via '''gem''' e '''bundler''' abbiamo installato i seguenti pacchetti sotto (per Slackware64-14.0) ''/usr/lib64/ruby/gems/1.9.1/gems/'':&lt;br /&gt;
* actionmailer-3.2.8&lt;br /&gt;
* actionpack-3.2.8&lt;br /&gt;
* activemodel-3.2.8&lt;br /&gt;
* activerecord-3.2.8&lt;br /&gt;
* activeresource-3.2.8&lt;br /&gt;
* activesupport-3.2.8&lt;br /&gt;
* arel-3.0.2&lt;br /&gt;
* builder-3.0.0&lt;br /&gt;
* bundler-1.2.2&lt;br /&gt;
* coderay-1.0.8&lt;br /&gt;
* erubis-2.7.0&lt;br /&gt;
* fcgi-0.8.8&lt;br /&gt;
* hike-1.2.1&lt;br /&gt;
* i18n-0.6.1&lt;br /&gt;
* journey-1.0.4&lt;br /&gt;
* jquery-rails-2.0.3&lt;br /&gt;
* json-1.7.5&lt;br /&gt;
* mail-2.4.4&lt;br /&gt;
* mime-types-1.19&lt;br /&gt;
* multi_json-1.3.7&lt;br /&gt;
* mysql2-0.3.11&lt;br /&gt;
* net-ldap-0.3.1&lt;br /&gt;
* polyglot-0.3.3&lt;br /&gt;
* rack-1.4.1&lt;br /&gt;
* rack-cache-1.2&lt;br /&gt;
* rack-openid-1.3.1&lt;br /&gt;
* rack-ssl-1.3.2&lt;br /&gt;
* rack-test-0.6.2&lt;br /&gt;
* rails-3.2.8&lt;br /&gt;
* railties-3.2.8&lt;br /&gt;
* rake-10.0.2&lt;br /&gt;
* rdoc-3.12&lt;br /&gt;
* rmagick-2.13.1&lt;br /&gt;
* ruby-openid-2.1.8&lt;br /&gt;
* sprockets-2.1.3&lt;br /&gt;
* thor-0.16.0&lt;br /&gt;
* tilt-1.3.3&lt;br /&gt;
* treetop-1.4.12&lt;br /&gt;
* tzinfo-0.3.35&lt;br /&gt;
&lt;br /&gt;
Tutti questi pacchetti possono essere rimossi con il comando seguente (occhio che se qualche altro software per Ruby li usa ...):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/lib64/ruby/gems/1.9.1&lt;br /&gt;
rm -r */actionmailer-3.2.8* */actionpack-3.2.8* */activemodel-3.2.8* \&lt;br /&gt;
*/activerecord-3.2.8* */activeresource-3.2.8* */activesupport-3.2.8* \&lt;br /&gt;
*/arel-3.0.2* */builder-3.0.0* */bundler-1.2.2* */coderay-1.0.8* */erubis-2.7.0* \&lt;br /&gt;
*/fcgi-0.8.8* */hike-1.2.1* */i18n-0.6.1* */journey-1.0.4* */jquery-rails-2.0.3* \&lt;br /&gt;
*/json-1.7.5* */mail-2.4.4* */mime-types-1.19* */multi_json-1.3.7* \&lt;br /&gt;
*/mysql2-0.3.11* */net-ldap-0.3.1* */polyglot-0.3.3* */rack-1.4.1* \&lt;br /&gt;
*/rack-cache-1.2* */rack-openid-1.3.1* */rack-ssl-1.3.2* */rack-test-0.6.2* \&lt;br /&gt;
*/rails-3.2.8* */railties-3.2.8* */rake-10.0.2* */rdoc-3.12* */rmagick-2.13.1* \&lt;br /&gt;
*/ruby-openid-2.1.8* */sprockets-2.1.3* */thor-0.16.0* */tilt-1.3.3* \&lt;br /&gt;
*/treetop-1.4.12* */tzinfo-0.3.35*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Redmine ==&lt;br /&gt;
Ovviamente va anche eliminato redmine stesso:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/htdocs/&lt;br /&gt;
rm -r redmine&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
Il database e l'utente creati si possono eliminare con:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql -u'root' -p'root_pass'&lt;br /&gt;
drop database redmine;&lt;br /&gt;
drop user redmine@localhost;&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File modificati ==&lt;br /&gt;
* ''/etc/httpd/httpd.conf'': eliminare la riga&lt;br /&gt;
 LoadModule fcgid_module lib64/httpd/modules/mod_fcgid.so&lt;br /&gt;
&lt;br /&gt;
* ''/etc/httpd/extra/httpd-vhosts.conf'': dipende se abbiamo settato [[#Virtual_host_dedicato|un virtual host dedicato]] o se abbiamo [[#Usare_un_virtual_host_esistente|usato un virtual host esistente]].&lt;br /&gt;
&lt;br /&gt;
* ''/etc/hosts'': solo se l'abbiamo modificato inserendo la riga:&lt;br /&gt;
 127.0.0.1       redmine&lt;br /&gt;
&lt;br /&gt;
= Autore =&lt;br /&gt;
[[Utente:Targzeta|Targzeta]] ([[Discussioni utente:Targzeta|discussioni]]) 13:05, 25 nov 2012 (CET)&lt;/div&gt;</summary>
		<author><name>Targzeta</name></author>	</entry>

	</feed>