[Silakan lihat bagian bawah pertanyaan untuk status terbaru!]
Saya mencoba mengatur Django dengan Apache + mod_wsgi pada mesin vanili Debian 6.0.
Sayangnya, ketika saya pergi ke alamat IP mesin di browser, saya mengerti 403 Forbidden: You don't have permission to access / on this server
. Log Apache hanya mengatakan:
[Wed May 04 10:20:56 2011] [error] [client x.x.x.x] (13)Permission denied: access to / denied
Jadi, inilah yang saya coba lakukan. Saya telah menyiapkan proyek Django baru di ~/fruit/myfruit
, dan beberapa file WSGI / Apache ~/fruit/apache
, sebagai berikut:
**~/fruit/apache/django.wsgi**
import os
import sys
path = '~/fruit'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myfruit.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
**~/fruit/apache/django_wsgi.conf**
WSGIScriptAlias / "/root/fruit/apache/django.wsgi"
<Directory "/root/fruit/apache">
Order deny,allow
Allow from all
</Directory>
Dan saya telah mengedit berbagai file Apache sebagai berikut:
**/etc/apache2/httpd.conf **
LoadModule wsgi_module modules/mod_wsgi.so
Include "/root/fruit/apache/django_wsgi.conf"
**/etc/hosts**
127.0.0.1 localhost
[[my_ip_address]] debian debian
Ketika saya me-restart Apache (menjalankan sebagai root), saya mendapatkan peringatan berikut:
root@debian:~/fruit/apache# /etc/init.d/apache2 restart
Restarting web server: apache2[Wed May 04 10:27:36 2011] [warn] module wsgi_module is already loaded, skipping
apache2: Could not reliably determine the server's fully qualified domain name, using [[my_ip_address]] for ServerName
... waiting [Wed May 04 10:27:37 2011] [warn] module wsgi_module is already loaded, skipping
apache2: Could not reliably determine the server's fully qualified domain name, using [[my_ip_address]] for ServerName
.
Saya tidak tahu apakah ini terhubung dengan kesalahan izin, atau apakah penting bahwa pesan kesalahan dicetak dua kali.
Tolong bisakah ada yang memberi tahu saya apa yang saya lakukan salah? Saya memiliki sedikit pengalaman tentang Apache!
Terimakasih banyak!
UPDATE: Dalam kasus itu kesalahan hak akses file, saya sudah menjalankan chmod a+x *
untuk semua file dalam myfruit
dan apache
direktori dan direktori sendiri, dan restart Apache. Tidak ada sukacita
PEMBARUAN: Saya bahkan tidak bisa terhubung ke localhost:
root@debian:~/fruit# wget http://localhost
--2011-05-04 10:44:41-- http://localhost/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2011-05-04 10:44:41 ERROR 403: Forbidden.
PEMBARUAN: OK diselesaikan, dengan menetapkan chmod a+x
pada root
direktori saya . Saya tidak suka ini sama sekali - pasti itu pasti lubang keamanan? Apa yang harus saya lakukan?
/var/www
tampaknya menjadi cara untuk pergi :)