Ma perche’ cavolo mi va a cercare gli assets sotto /var/www?
Ho un’applicazione fatta con rails 3.2.8, funziona ma nei logs vedo
che mi va a cercare gli assets nella /var/www/assets.
Eppure nei vari files di configurazione non vedo nessun riferimento a
questa directory.
Avete qualche idea?
On 12 September, 2012, at 14:15, Mauro [email protected] wrote:
Ma perche’ cavolo mi va a cercare gli assets sotto /var/www?
Ho un’applicazione fatta con rails 3.2.8, funziona ma nei logs vedo
che mi va a cercare gli assets nella /var/www/assets.
Eppure nei vari files di configurazione non vedo nessun riferimento a
questa directory.
Avete qualche idea?
Succede sulla macchina di dev o in produzione?
Alessandro
Che libreria usi per la gestione dei file?
Parli dei log di Rails ovviamente. Non i log di nginx o altro.
La Rails.root qual’?
-f
2012/9/13 Fabrizio R. [email protected]:
Che libreria usi per la gestione dei file?
Parli dei log di Rails ovviamente. Non i log di nginx o altro.
I log di apache.
Forse ho scoperto l’inghippo.
In un css ho:
body { background-image: image-url(‘bg.png’) },
va a cercare quel bg.png sotto /var/www/assets.
quella image-url non “linguaggio” CSS, una funzione che Rails usa per
generare il percorso agli asset, quindi nel CSS “compilato” lo trovi
tradotto in:
url(’/assets/bg.png’);
Il file di log dove trovi quella chiamata del virtual host specifico o
nel file di log generico di apache? E’ una distinzione utile a volte per
capire che succede.
-f
2012/9/13 Fabrizio R. [email protected]:
quella image-url non “linguaggio” CSS, una funzione che Rails usa per generare
il percorso agli asset, quindi nel CSS “compilato” lo trovi tradotto in:url('/assets/bg.png');
Il file di log dove trovi quella chiamata del virtual host specifico o nel file
di log generico di apache? E’ una distinzione utile a volte per capire che
succede.
E’ nel file error.log di apache, pertanto e’ il log generico.
Ho usato image-url poiche’ usando solo url non mi trovava il file.
Puoi vedere cosa viene compilato nel file css esposto dalla tua
applicazione? Ovvero quello che trovi in /assets/application.css (o che
altro).
-f
2012/9/13 Fabrizio R. [email protected]:
Puoi vedere cosa viene compilato nel file css esposto dalla tua applicazione?
Ovvero quello che trovi in /assets/application.css (o che altro).
Sotto public/assets?
background-image:image-url(“bg.png”)
No, nel browser. Dovresti vedere qualcosa di diverso.
Sotto public/assets ci sono gli asset compilati, quindi mi pare strano
che l ci trovi qualcosa che abbia un image-url(XX). Dovresti trovare
solo url(XX)
.
-f
2012/9/13 Fabrizio R. [email protected]:
No, nel browser. Dovresti vedere qualcosa di diverso.
background-image: url(/assets/bg.png);
Il problema nella configurazione di Apache, posta qualcosa di quello.
Non
hai detto qual’ la Rails root.
-f
2012/9/13 Alessandro M. [email protected]:
On 12 September, 2012, at 14:15, Mauro [email protected] wrote:
Ma perche’ cavolo mi va a cercare gli assets sotto /var/www?
Ho un’applicazione fatta con rails 3.2.8, funziona ma nei logs vedo
che mi va a cercare gli assets nella /var/www/assets.
Eppure nei vari files di configurazione non vedo nessun riferimento a
questa directory.
Avete qualche idea?Succede sulla macchina di dev o in produzione?
Quella in produzione.
2012/9/13 Fabrizio R. [email protected]:
Il problema nella configurazione di Apache, posta qualcosa di quello. Non
hai detto qual’ la Rails root.
irb(main):001:0> Rails.root
=> #Pathname:/home/user/projects/rails/bbb_rails
La conf di apache e’:
VirtualHost *:80>
ServerName bbb
ProxyRequests Off
#RewriteEngine On
#RewriteRule ^/$ /bbb_rails [R,L]
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /bbb_rails ajp://192.168.240.11:8009/bbb_rails
ProxyPassReverse /bbb_rails ajp://192.168.240.11:8009/bbb_rails
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
deny from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
deny from all
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error,
crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
On Fri, Sep 14, 2012 at 9:50 AM, Mauro [email protected] wrote:
VirtualHost *:80>
ProxyPass /bbb_rails ajp://192.168.240.11:8009/bbb_rails
Options Indexes FollowSymLinks MultiViews
deny from all
Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
per portarlo in produzione usi capistrano?
hai fatto qualcosa del tipo
load ‘deploy/assets’
set :uri, ‘/bbb_rails’
set :asset_env, “#{asset_env} RAILS_RELATIVE_URL_ROOT=#{uri}”
presumo che vuoi arrivare all’applicazione rails utilizzando una url del
genere
Giusto?
Se si, allora Rails deve sapere che sta girando in un path che non ‘/’.
in questo modo pu riscrivere le URL degli asset in modo appropriato, es.
/bbb_rails/assets/application.css etc.
Come fare non mi ricordo di preciso, per thin c’era una opzione a riga
di comando, guarda thin --help.
-f
On 14 September 2012 10:28, Fabrizio R. [email protected] wrote:
Come fare non mi ricordo di preciso, per thin c’era una opzione a riga di
comando, guarda thin --help.
Ok, grazie per le risposte.
Facci sapere come va.
On 14 September 2012 10:26, Roberto P. [email protected]
wrote:
La conf di apache e’:
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
CustomLog ${APACHE_LOG_DIR}/access.log combined
per portarlo in produzione usi capistrano?
hai fatto qualcosa del tipoload ‘deploy/assets’
set :uri, ‘/bbb_rails’
set :asset_env, “#{asset_env} RAILS_RELATIVE_URL_ROOT=#{uri}”
no niente di tutto questo.
Ciao, di sicuro hai gia’ considerato questa possibilita’ . Magari non
centra nulla
ma su stackoverflow ho visto questo post
se usi thin magari hai un problema simile?
se non centra scusate
D.