Hospedando um site do Django com o Apache / Ubuntu

2

Estou tendo problemas para implantar meu primeiro aplicativo Django no Ubuntu / Apache. Eu segui os guias no djangoproject.com e vasculhei a internet em busca de respostas e estou preso. Eu tenho o básico instalado e funcionando, mas quando tento visitar meu site (twilightinternal.com), recebo o seguinte erro:

ImportError: Could not import settings 'twilight_boutique.settings' (Is it on sys.path? Does it have syntax errors?): No module named twilight_boutique.settings

Meu código do django está na pasta / root / django_projects / twilight_boutique

Eu tenho as seguintes informações em meus sites disponíveis / twilightinternal:

<VirtualHost *>
        ServerAdmin [email protected]
        ServerName www.twilightinternal.com
        ServerAlias twilightinternal.com

        DirectoryIndex index.html
        DocumentRoot /var/www/twilightinternal/

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        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

        <Location "/">
                SetHandler python-program
                PythonHandler django.core.handlers.modpython
                SetEnv DJANGO_SETTINGS_MODULE twilight_boutique.settings
                PythonOption django.root /root/django_projects/twilight_boutique
                PythonDebug Off
                PythonPath "['/root/django_projects', '/var/www'] + sys.path"
        </Location>

</VirtualHost>   

Eu estou realmente presa e qualquer ajuda seria muito apreciada.

    
por Shawn Inman 10.11.2011 / 18:34

1 resposta

1

Primeiro, você deve usar mod_wsgi se puder ou FastCGI como uma opção de fallback.

Suas configurações do Apache parecem corretas, então é provavelmente o seu settings.py. É muito provável que seja um problema de permissões. Existe uma razão particular pela qual você está executando o / root? Normalmente, o apache não é executado como root e não poderá ler nenhum arquivo em / root. Tente mover o projeto para outro local.

Se isso não ajudar, veja algumas outras etapas de depuração para tentar.

O servidor de desenvolvimento funciona corretamente?

cd /root/django_projects/twilight_boutique
python manage.py runserver

Se isso falhar, você tem um erro de sintaxe no seu arquivo de configurações.

Você também pode tentar usar o shell python para tentar depurar isso. Execute o python de qualquer diretório e execute o seguinte código:

import sys
sys.path.insert(0, '/root/django_projects')
import twilight_boutique.settings
    
por 10.11.2011 / 19:01