Instalando modulo WSGI no apache 2 com Django 1.4

Created: Jan. 1, 2010, 4 a.m.
Update: Oct. 29, 2020, 8:28 p.m.
Como colocar em produção um projeto Django 1.4 no apache2

Ambiente:

    Debian Squeeze
    Python 2.6
    Apache 2
    Djang 1.4.3

Fonte: https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/#using-mod-wsgi-daemon-mode

Lembrando que os projetos Django 1.4 tem a estrutura de diretórios diferentes, e por isso é mais fácil que a versão anterior 1.3.

Diretório padrao apache /var/www/

Diretorio raiz do projeto onde ficam as apps hbib/

wsgi.py padrao criado pelo Django 1.4

hbib/hbib/wsgi.py  

Vamos editar esse arquivo e configurar o PATH do projeto

$ vim /etc/apache2/httpd.conf

WSGIScriptAlias / /var/www/hbib/hbib/wsgi.py

WSGIPythonPath /var/www/hbib

<Directory /var/www/hbib/hbib>
   <Files wsgi.py>
         Order deny,allow
         Allow from all
    </Files>
</Directory>


Vamos editar o arquivo de configuração do site e configurar os PATHS para o projeto Django.
$ vim /etc/apache2/sites-available/default

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/hbib

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /var/www/hbib/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    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
</VirtualHost>

Reinicar o apache após as alterações
$ /etc/init.d/apache2 restart

Faça bom aproveito!


Tiago de Souza Moraes - teago.futuria.com.br - 2020 // CSS by UIKIT CSS