Ho cercato molto ma ho ancora un problema con i file statici (css, image, ...) con il mio sito django.file statico con mod_wsgi in django
sto utilizzando mod_wsgi con Apache su 64bits archlinux
ho aggiunto nella mia http.conf:
LoadModule wsgi_module modules/mod_wsgi.so
<VirtualHost *:80>
WSGIDaemonProcess mart.localhost user=mart group=users processes=2 threads=25
WSGIProcessGroup mart.localhost
LogLevel debug
Alias /media /home/mart/programmation/python/django/martfiles/media/
<Directory /home/mart/programmation/python/django/martfiles/>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias//srv/http/wsgi-scripts/django.wsgi
</VirtualHost>
Ho cercato di usare il django.wsgi nella mia cartella home, ma non funziona (permission denied to access /
) (stranamente funziona se uso lo script di test dato here)
tutte le directory e contenuti (cartella apache, WSGI-script, martfiles) avere il permesso 775 root:devusers
con il gruppo devuse rs tra cui il mio utente, http e radice
nel mio modello base.html, che io chiamo il css in questo modo:
<html> <head>
<link rel="stylesheet" href="/media/css/style.css" />
e l'errore in /var/log/http/error.log
[Sat Jan 16 13:22:21 2010] [error] [client 127.0.0.1] (13)Permission denied: access to /media/css/style.css denied, referer: http://localhost/
[Sat Jan 16 13:22:21 2010] [info] mod_wsgi (pid=14783): Attach interpreter ''
/srv/http/wsgi-script/django.wsgi
/home/.../martfiles/settings.py
grazie
Edit: Ho preciso che il mio sito web Django funziona bene (eccetto le sessioni, ma non credo che è legato) e quindi non sono sicuro che sia legato al file di django.wsgi (forse mi sbaglio), ma quello che è sicuro è che dovrei essere in grado di utilizzare il django.wsgi dal di fuori della cartella apache
se cambio la linea Alias /media /home/mart/programmation/python/django/martfiles/media/
con Alias /media /srv/http/media/
e dà i permessi giusti, Funziona. Ma non voglio (e non dovrei) mettere tutti i miei media nella cartella apache
è per questo che ho dato il permesso 775 con i devusers di gruppo che contengono il mio utente apache (http). Dove e quale permesso? Lo proverò –
Ho messo i miei media in/usr/share/django con i soli privilegi di root e funziona! Grazie mille –
+1 per aver corretto il mio errore. Quali sono le implicazioni sulla sicurezza di impostare le autorizzazioni di casa su 755? – g33kz0r