Var/www/assets

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

http://bbb.qualcosa/bbb_rails

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 tipo

load ‘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.