la prima edizione è pubblicata su
http://wiki.unbit.it/HowToCapistrano#preview
jeko
Ciao ragazzi,
come va?
Vi scrivo perchè avrei bisogno di un aiutino :
Ho due applicazioni rails APP1 e APP2 che devo far girare sotto apache
utilizzando FastCGI nella seguente sintassi :
http://server/APP1
http://server/APP2
Ho modificato i files dispatch.rb,dispatch.fcgi e .htaccess di tutte e
due le applicazioni e la mia attuale configurazione apache funzionante
per un’applicazione è la seguente :
Grazie mille.
Simone C.
LoadModule fastcgi_module
/usr/lib/apache2/mod_fastcgi.so
LoadModule rewrite_module
/usr/lib/apache2/mod_rewrite.so
LoadModule proxy_module
/usr/lib/apache2/mod_proxy.so
LoadModule proxy_http_module
/usr/lib/apache2/mod_proxy_http.so
AddHandler fastcgi-script .fcgi
FastCgiConfig -minProcesses 2 -killInterval 3600 -maxProcesses 128
-startDelay 30 -idle-timeout 40 -restart -initial-env
‘RUBYOPT=-rubygems’
<VirtualHost *:80>
SetEnv RAILS_ENV production
ServerName server
AddDefaultCharset UTF-8
DocumentRoot /srv/www/rails/APP1/public
<Directory “/srv/www/rails/APP1/public”>
Order allow,deny
Allow from all
AllowOverride All
Options -Indexes -ExecCGI -FollowSymLinks -Includes
RewriteEngine On
AccessFileName .htaccess
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
ErrorLog /var/log/apache2/server-error_log
CustomLog /var/log/apache2/server-access_log common
CustomLog /var/log/apache2/server-access_log deflate
Come faccio ad aggiungere APP2 in modo che se digito http://server/APP2
vada direttamente li ?
Stò provando le direttive alias e location ma non ho ottenuto buoni
risultati
Mi dareste un aiutino?
Il giorno mar, 26/06/2007 alle 18.17 +0200, simone cecchetti ha scritto:
-zac
Ci sono tanti metodi, qui te ne dico uno forse bruttino ma che non
richiede di essere un ‘guru’ di apache.
Poniamo che hai questa struttura:
/SRV
/SRV/app1
/SRV/app2
dove app1 e app2 sono le tue due app rails
aggiungi una dir all’albero:
/SRV/www
sara’ la tua DocumentRoot (imposta quindi il virtualhost di conseguenza)
ovviamente se vai adesso sul browser la troverai vuota quindi:
da dentro /SRV/www fai 2 link simbolici alle directory public delle 2
app:
ln -s …/app1/public app1
ln -s …/app2/public app2
ora avrai:
/SRV/www/app1
/SRV/www/app2
se vai sul browser dovresti gia’ vedere le due index.html di rails
dentro ognuna delle due dir
ora bisogna agganciare il fastcgi:
FastCgiServer /SRV/www/app1/dispatch.fcgi -idle-timeout 120 -initial-env
RAILS_ENV=development -processes 1
FastCgiServer /SRV/www/app2/dispatch.fcgi -idle-timeout 120
-initial-env RAILS_ENV=development -processes 1
(mi raccomando i path in questo punto)
ora sistema i file .htaccess per utilizzare fastcgi e aggiungi (come
consigliato nei commenti dello stesso file) la RewriteBase
per app1 ->
RewriteBase /app1
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
per app2 ->
RewriteBase /app2
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
Ora gia’ dovresti veder funzionare il tutto ma ci vuole il tocco di
classe:
nel config/environment.rb di ogni app metti:
ActionController::AbstractRequest.relative_url_root = “/app1”
e
ActionController::AbstractRequest.relative_url_root = “/app2”
riavvia le due app e hai finito
Parto del presupposto che hai gia’ configurato apache per leggere i
file .htaccess, e per seguire i link simbolici
Ciao
Ciao Roberto,
mille grazie.
Domattina la provo subito e ti faccio sapere.
Ciao e grazie ancora.
Simone
Le informazioni trasmesse attraverso la presente e-mail ed i suoi
allegati sono diretti esclusivamente al destinatario e devono ritenersi
riservati con divieto di diffusione e di uso. La diffusione e la
comunicazione da parte di soggetto diverso dal destinatario è vietata
dall’art. 616 e ss. c.p. e dal d. l.vo n. 196/03.
Se la presente e-mail ed i suoi allegati fossero stati ricevuti per
errore da persona diversa dal destinatario siete pregati di distruggere
tutto quanto ricevuto e di informare il mittente con lo stesso mezzo.
Il giorno mer, 27/06/2007 alle 12.57 +0200, simone cecchetti ha scritto:
Ciao Roberto,
ho provato ma ho un access denied perché i symbolic links hanno come owner l’utente root e non sono riuscito a cambiare i permessi del link simbolico.
Devo aggiungere qualcosa su apache?
Accertati che la direttiva FollowSymLinks sia attiva per la directory
che contiene i link
Ciao Roberto,
ho provato ma ho un access denied perché i symbolic links hanno come owner
l’utente root e non sono riuscito a cambiare i permessi del link
simbolico.
Devo aggiungere qualcosa su apache?
Ciao e grazie ancora.
Simone
-----Messaggio originale-----
Da: [email protected] [mailto:[email protected]]
Per conto di Roberto De Ioris
Inviato: martedì 26 giugno 2007 19.38
A: ruby-it
Oggetto: Re: [ruby-it] Configurazione Apache + FastCGI
Il giorno mar, 26/06/2007 alle 18.17 +0200, simone cecchetti ha scritto:
-zac
Ci sono tanti metodi, qui te ne dico uno forse bruttino ma che non
richiede di essere un ‘guru’ di apache.
Poniamo che hai questa struttura:
/SRV
/SRV/app1
/SRV/app2
dove app1 e app2 sono le tue due app rails
aggiungi una dir all’albero:
/SRV/www
sara’ la tua DocumentRoot (imposta quindi il virtualhost di conseguenza)
ovviamente se vai adesso sul browser la troverai vuota quindi:
da dentro /SRV/www fai 2 link simbolici alle directory public delle 2
app:
ln -s …/app1/public app1
ln -s …/app2/public app2
ora avrai:
/SRV/www/app1
/SRV/www/app2
se vai sul browser dovresti gia’ vedere le due index.html di rails
dentro ognuna delle due dir
ora bisogna agganciare il fastcgi:
FastCgiServer /SRV/www/app1/dispatch.fcgi -idle-timeout 120 -initial-env
RAILS_ENV=development -processes 1
FastCgiServer /SRV/www/app2/dispatch.fcgi -idle-timeout 120
-initial-env RAILS_ENV=development -processes 1
(mi raccomando i path in questo punto)
ora sistema i file .htaccess per utilizzare fastcgi e aggiungi (come
consigliato nei commenti dello stesso file) la RewriteBase
per app1 →
RewriteBase /app1
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
per app2 →
RewriteBase /app2
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
Ora gia’ dovresti veder funzionare il tutto ma ci vuole il tocco di
classe:
nel config/environment.rb di ogni app metti:
ActionController::AbstractRequest.relative_url_root = “/app1”
e
ActionController::AbstractRequest.relative_url_root = “/app2”
riavvia le due app e hai finito
Parto del presupposto che hai gia’ configurato apache per leggere i
file .htaccess, e per seguire i link simbolici
Ciao
–
Roberto De Ioris
http://unbit.it
JID: [email protected]
Ho applicato la direttiva FollowSymLinks ed è scomparso l’errore ma ora
la pagina ci mette tantissimo a caricare e alla fine mi da errore 500.
Puoi aiutarmi?
Grazie mille Roberto.
A presto.
Simone
-----Messaggio originale-----
Da: [email protected] [mailto:[email protected]]
Per conto di Roberto De Ioris
Inviato: mercoledì 27 giugno 2007 13.16
A: ruby-it
Oggetto: Re: R: [ruby-it] Configurazione Apache + FastCGI
Il giorno mer, 27/06/2007 alle 12.57 +0200, simone cecchetti ha scritto:
Ciao Roberto,
ho provato ma ho un access denied perché i symbolic links hanno come owner l’utente root e non sono riuscito a cambiare i permessi del link simbolico.
Devo aggiungere qualcosa su apache?
Accertati che la direttiva FollowSymLinks sia attiva per la directory
che contiene i link
Il giorno mar, 26/06/2007 alle 18.17 +0200, simone cecchetti ha scritto:
da dentro /SRV/www fai 2 link simbolici alle directory public delle 2
se vai sul browser dovresti gia’ vedere le due index.html di rails
(mi raccomando i path in questo punto)
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
Ora gia’ dovresti veder funzionare il tutto ma ci vuole il tocco di
–
Roberto De Ioris
http://unbit.it
JID: [email protected]
Si Roberto i permessi sono di tipo 755 e il proprietario è l’utente di
apache wwwrun .
Nell’error log di apache ho questo :
[Wed Jun 27 12:30:17 2007] [error] [client XX.XX.XX.XX] FastCGI: comm
with server “/srv/www/rails/railsymbols/APP1/dispatch.fcgi” aborted:
idle timeout (120 sec)
[Wed Jun 27 12:30:17 2007] [error] [client XX.XX.XX.XX] FastCGI:
incomplete headers (0 bytes) received from server
“/srv/www/rails/railsymbols/APP1/dispatch.fcgi”
La mia configurazione apache è la seguente :
AddHandler fastcgi-script .fcgi
FastCgiConfig -minProcesses 2 -killInterval 3600 -maxProcesses 128
-startDelay 30 -idle-timeout 40 -restart -initial-env
‘RUBYOPT=-rubygems’
LoadModule fastcgi_module
/usr/lib/apache2/mod_fastcgi.so
LoadModule proxy_module /usr/lib/apache2/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/mod_proxy_http.so
LoadModule proxy_connect_module /usr/lib/apache2/mod_proxy_connect.so
LoadModule headers_module /usr/lib/apache2/mod_headers.so
LoadModule deflate_module /usr/lib/apache2/mod_deflate.so
LoadModule rewrite_module /usr/lib/apache2/mod_rewrite.so
LoadModule status_module /usr/lib/apache2/mod_status.so
#LoadModule alias_module /usr/lib/apache2/mod_alias.so
Il Symbolic Link è app1 all’interno della cartella railsymbols
Grazie ancora per il tuo tempo.
A presto.
Simone
-----Messaggio originale-----
Da: Roberto De Ioris [mailto:[email protected]]
Inviato: mercoledì 27 giugno 2007 15.47
A: simone cecchetti
Cc: ruby-it
Oggetto: Re: R: R: [ruby-it] Configurazione Apache + FastCGI
Il giorno mer, 27/06/2007 alle 15.42 +0200, simone cecchetti ha scritto:
Ho applicato la direttiva FollowSymLinks ed è scomparso l’errore ma ora la pagina ci mette tantissimo a caricare e alla fine mi da errore 500.
Puoi aiutarmi?
Grazie mille Roberto.
Guarda l’error_log di apache ,quasi sicuramente il fastcgi non e’
partito.
Ma i permessi delle due applicazioni sono giusti ? apache deve poter
scrivere dentro la directory log
Ciao
ho provato ma ho un access denied perché i symbolic links hanno come owner l’utente root e non sono riuscito a cambiare i permessi del link simbolico.
Da: [email protected] [mailto:[email protected]] Per conto di Roberto De IorisPoniamo che hai questa struttura:
ora avrai:
RAILS_ENV=development -processes 1RewriteRule ^([^.]+)$ $1.html [QSA]
Ciao
–
Roberto De Ioris
http://unbit.it
JID: [email protected]
Il giorno mer, 27/06/2007 alle 15.42 +0200, simone cecchetti ha scritto:
Ho applicato la direttiva FollowSymLinks ed è scomparso l’errore ma ora la pagina ci mette tantissimo a caricare e alla fine mi da errore 500.
Puoi aiutarmi?
Grazie mille Roberto.
Guarda l’error_log di apache ,quasi sicuramente il fastcgi non e’
partito.
Ma i permessi delle due applicazioni sono giusti ? apache deve poter
scrivere dentro la directory log
Ciao
Ciao Roberto,
alla fine io e Stefano abbiamo risolto il problema.
Volevo ringraziarti molto,il tuo aiuto c’è stato utilissimo.
Ciao a presto.
Simone
Le informazioni trasmesse attraverso la presente e-mail ed i suoi
allegati sono diretti esclusivamente al destinatario e devono ritenersi
riservati con divieto di diffusione e di uso. La diffusione e la
comunicazione da parte di soggetto diverso dal destinatario è vietata
dall’art. 616 e ss. c.p. e dal d. l.vo n. 196/03.
Se la presente e-mail ed i suoi allegati fossero stati ricevuti per
errore da persona diversa dal destinatario siete pregati di distruggere
tutto quanto ricevuto e di informare il mittente con lo stesso mezzo.
Da: Roberto De Ioris [mailto:[email protected]]
Inviato: mer 27/06/2007 15.46
A: simone cecchetti
Cc: ruby-it
Oggetto: Re: R: R: [ruby-it] Configurazione Apache + FastCGI
Il giorno mer, 27/06/2007 alle 15.42 +0200, simone cecchetti ha scritto:
Ho applicato la direttiva FollowSymLinks ed è scomparso l’errore ma ora la pagina ci mette tantissimo a caricare e alla fine mi da errore 500.
Puoi aiutarmi?
Grazie mille Roberto.
Guarda l’error_log di apache ,quasi sicuramente il fastcgi non e’
partito.
Ma i permessi delle due applicazioni sono giusti ? apache deve poter
scrivere dentro la directory log
Ciao
ho provato ma ho un access denied perché i symbolic links hanno come owner l’utente root e non sono riuscito a cambiare i permessi del link simbolico.
Da: [email protected] [mailto:[email protected]] Per conto di Roberto De IorisPoniamo che hai questa struttura:
ora avrai:
RAILS_ENV=development -processes 1RewriteRule ^([^.]+)$ $1.html [QSA]
Ciao
–
Roberto De Ioris
http://unbit.it http://unbit.it/
JID: [email protected]
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs