linux - py3 - wsgi django
Django en apache con mod_wsgi(Linux)-403 prohibido (3)
Unas cosas para comenzar:
WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi
Para esto, no tienes un correspondiente:
<Directory/home/nick/Mysite>
<Files mysite.wsgi>
Require all granted
</Files>
</Directory>
Además, un directorio de inicio como / home / nick generalmente no es legible para otros usuarios, por lo que Apache no podrá leer cosas en ese directorio de todos modos.
El siguiente es:
Alias /static /var/www/mysite/static/
No debería tener una barra inclinada final en la ruta final. No tener coincidencias para una URL secundaria puede causar problemas, aunque generalmente cuando la barra inclinada final está en la URL y falta para la ruta del sistema de archivos. Mejor solo hacer que coincidan en cuanto a si se usa una barra inclinada o no.
Bien, entonces estoy siguiendo este tutorial. Cuando intento acceder a mi sitio a través de mi servidor local, aparece este peculiar error:
Forbidden You don''t have permission to access / on this server. Apache/2.4.6 (Ubuntu) Server at mysite.com Port 80
Forbidden You don''t have permission to access / on this server. Apache/2.4.6 (Ubuntu) Server at mysite.com Port 80
.
Por lo que a mí respecta he hecho todo bien (he implementado el doble del método propuesto) y esto podría ser fácilmente un error de SO (estoy ejecutando Mint 16 y el error dice (Ubuntu)
), sin embargo no tengo experiencia y por lo tanto necesito Un poco de ayuda.
Hice algunas investigaciones, pero ninguna de estas ( 1 , 2 ) preguntas junto con otras, parece que no responden a mi caso.
Así que aquí está el archivo mysite.conf
:
<VirtualHost *:80>
WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi
ServerName mysite.com
Alias /static /var/www/mysite/static/
<Directory /var/www/mysite/>
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
y mi archivo hosts
que muestra cómo la dirección IP se redirige a mi host local:
127.0.0.1 localhost
127.0.1.1 nick-HP-Notebook-PC
192.168.1.2 mysite.com
192.168.1.2 mysite2.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Entonces, ¿qué sugieres que sea el problema? ¿Podría ser esto simplemente un error relacionado con Linux? y avíseme si necesita información adicional sobre el proyecto o cualquier cosa.
Gracias una tonelada.
Actualizar:
Aquí está mi archivo .wsgi
:
import os
import sys
sys.path = [''/var/www/mysite''] + sys.path
os.environ[''DJANGO_SETTINGS_MODULE''] = ''mysite.settings''
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
También recibo este mensaje cuando reinicio el servidor.
Restarting web server apache2 AH00558: apache2: Could not reliably determine the server''s fully qualified domain name, using 127.0.1.1. Set the ''ServerName'' directive globally to suppress this message [ OK ]
Quizás esto ayude?
Yo tuve el mismo problema.
su script .wsgi debe estar ubicado en la carpeta / var / www / mysite / y sus archivos de configuración se deben ajustar según sea necesario.
Eliminar también la entrada / salida:
.. Alias /static /var/www/mysite/static ..
Si este es exactamente su archivo de configuración, entonces dudo que la ruta que está utilizando sea incorrecta. Arregle eso primero.
Establezca WSGIScriptAlias para corregir la ruta.
Entonces su archivo WSGI debe verse más o menos así:
import os
import sys
os.environ[''DJANGO_SETTINGS_MODULE''] = ''mysite.settings''
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()