Apache mod_wsgi Fehler: Verboten Sie haben keine Berechtigung zum Zugriff auf / auf diesem server
Ich bin mit Ubuntu 10.04.
Ich erstelle ein django-Projekt unter /home/wong2/Code/python/django2/
namens atest
und erstellen Sie eine wsgi-Datei setting.wsgi
im gleichen Verzeichnis
Hier ist der Inhalt setting.wsgi
:
import os
import sys
path = '/home/wong2/Code/python/django2'
if path not in sys.path:
sys.path.append(path)
os.environ["DJANGO_SETTINGS_MODULE"] = "atest.settings"
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
und hier ist was ich meine meine httpd.conf:
<VirtualHost *:80>
ServerName localhost
WSGIScriptAlias / /home/wong2/Code/python/django2/setting.wsgi
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
<Directory "/home/wong2/Code/python/django2/atest">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Das problem ist, wenn ich Besuch http://localhost, es sagt
Verboten
Sie haben keine Berechtigung zum access /
auf diesem server.
Vielen Dank.
Entfernen Sie den ersten Directory-Abschnitt - Sie brauchen es nicht, und ich denke, es ist das überschreiben der WSGIAlias.
InformationsquelleAutor wong2 | 2011-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zweiten directory-block nicht übereinstimmen, wo Sie Ihre WSGI-Skript-Datei installiert. Es ist sehr schlechte Praxis, obwohl der stick das WSGI-script-Datei in einem Ort, wo die source-Codes oder andere sensible Dateien vorhanden sind, dh., gleichen Verzeichnis oder Unterverzeichnis. Stattdessen sollten Sie kleben Sie es in ein Unterverzeichnis von eigene. Also:
So erstellen 'apache' Unterverzeichnis 'atest'. Bewegen " - Einstellung.wsgi' in, dass 'apache' - Unterverzeichnis und ändern der config oben.
Dein problem kann auch verursacht werden durch restriktive permisions auf Ihr home-Verzeichnis, da kann der Apache nicht innen zu sehen.
Uhr:
http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations
als es erklärt, dass diese Berechtigungen Probleme sowie Fragen, wie, wo stecken Sie Ihren code und die WSGI-Skript-Datei.
Lesen Sie auch:
http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
InformationsquelleAutor Graham Dumpleton
Mit Django 1.5+ sollten Sie verwenden Sie den vorgeschlagenen Weg in der Dokumentation beschrieben:
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/
Hier gilt das gleiche. Hinzufügen <Files> gearbeitet. Vielen Dank.
FYI -
Require all granted
funktioniert nur auf Apache 2.4.x und basierend auf die OP ' shttpd.conf
es scheint er ist mit 2.2.x oder zumindest die syntax als solche. Das heißt, gute Antwort!InformationsquelleAutor neosergio
Ich hatte das gleiche problem wegen der eingeschränkten Datei-Berechtigungen.
Standardmäßig dein home-Ordner der Benutzer hat die Einstellungen:
Bedeutung, dass niemand, aber sich selbst in der Lage ist, durchsuchen Sie den Ordner.
Hinzufügen ausführen option, um den Ordner behoben, mein problem
InformationsquelleAutor Viktor
versuchen http://localhost/index.html hat, die zeigen, dass der apache-Seite?
Wenn Sie wsgi konfiguriert ist, die Wurzel richtig wird es nicht.
Bekommen Sie eine Fehlermeldung, da werden Sie vielleicht Fragen, der webserver für das Verzeichnis des www-Ordner
edit:
Meine Projekte sind immer in
/var/pyproj//pysrc/
und server-Dateien, die ich in
/var/py_proj//server/
Hier ist mein gehen Sie auf wsgi-Skript
und ich benutze einen vhost.conf
welche ich in der sites-available Ordner in eine Datei, die wie folgt aussieht
httpd.conf leer ist. Apache ist auch schrecklich senden Sie statische Dateien, also ich habe meinen apache-Server auf port 8080 und nginx-setup auf port 80, die nach vorne zu apache. Sie sollten in der Lage sein, um nur den port ändern, auf meine Websites-zur Verfügung-Datei, um es auszuführen, ohne nginx, aber ich würde nicht gehen, daß Sie so Leben
403 Forbidden
FehlerAuf den zweiten Gedanken, Ihr Problem könnte nur sein, ein Berechtigungen-Problem. Wenn www-data (linux-apache-user) nicht Lesen können, Ihrem home-Verzeichnis, die auslösen könnte, dass Fehler.
InformationsquelleAutor Plahcinski
Erhalten Sie möglicherweise eine überraschung, wo Ihre WSGI hat sein home-Verzeichnis! Auf meine zugegebenermaßen naive wsgi_mod installation, es ist /- war ich so überrascht, dass ich hatte, dieses Skript zu schreiben um sicher zu gehen:
Das bedeutet, dass importierte Anwendungen müssen einen vollständigen Pfad gefunden werden, z.B.:
Dies ist die empfohlene (von Google) Lösungsansatz:
InformationsquelleAutor user2100427