Um servidor com
Apache rodando
Django através de
mod_python é uma das melhores escolhas para se fazer um deploy de uma aplicação feita em Django. Devido a isso resolvi fazer através deste post um simples passo a passo de como fazer a instalação e configuração desse deploy.
Como no Ubuntu
Python já vem instalado, é uma coisa a menos a se preocupar. Outra vantagem em usar o
Ubuntu, ou qualquer distribuição baseada em Debian e a possibilidade de utilizar o apt-get para facilitar a instalação dos programas.
Então vamos aos passos:
1 - Instalando o Apache 2Para instalar o
Apache 2 no
Ubuntu basta abrir o terminal e digitar apenas um apt-get
#sudo apt-get install apache2Para ver se o
Apache foi instalado com sucesso e está em funcionamento é só acessar http://localhost em seu navegador.
2 - Instalando mod_pythonPara instalar o
mod_python no
Ubuntu não é muito diferente
#sudo apt-get libapache2-mod-python3 - Instalando o Django#sudo apt-get install python-django4 - Configurando o ApacheComo o mod_python foi instalado via apt-get, o módulo já fica habilitado automaticamente.
Mas é necessário configurarmos nossa aplicação no
Apache. Para isso temos que editar o http.conf da seguinte maneira:
Para editar o http.conf, é só digitar esse comando no terminal:
#sudo gedit /etc/apache2/http.confE adicionar as linhas a seguir:
<VirtualHost * > <Location "/"> SetHandler python-program PythonPath "['/home/seuusuario/projetos/'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE meuprojeto.settings PythonDebug On </Location> </VirtualHost>Onde informamos através do PythonPath o diretório onde ficam os seus projetos como no exemplo foi: '/home/seuusuario/projetos/'. E criamos a variável de ambiente DJANGO_SETTINGS_MODULE cujo valor é o local onde fica o settings.py onde "meuprojeto" é o nome do projeto.
Podemos ao invés de editar o http.conf editar o arquivo: /etc/apache2/sites-avaliable/default.
5 - Reiniciando o ApacheApós configurar o
Apache é só reiniciar ele. Para reiniciar ele digite o comando abaixo:
#/etc/init.d/apache2 reloadPara testar é só acessar no seu navegador o endereço configurado!
Só para lembrar, o Django + Apache + Mod_python é uma ótima opção para deploy, ou seja, para rodar sua aplicação já finalizada. Para ser servidor de desenvolvimento não é recomendado a utilização do Apache e sim do próprio servidor de testes do Django.