Mostrando postagens com marcador apache. Mostrar todas as postagens
Mostrando postagens com marcador apache. Mostrar todas as postagens

9/27/2007

Instalando Django com Apache e Mod_Python no Ubuntu

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 2
Para instalar o Apache 2 no Ubuntu basta abrir o terminal e digitar apenas um apt-get
#sudo apt-get install apache2

Para ver se o Apache foi instalado com sucesso e está em funcionamento é só acessar http://localhost em seu navegador.

2 - Instalando mod_python
Para instalar o mod_python no Ubuntu não é muito diferente
#sudo apt-get libapache2-mod-python

3 - Instalando o Django
#sudo apt-get install python-django

4 - Configurando o Apache
Como 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.conf

E 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 Apache
Após configurar o Apache é só reiniciar ele. Para reiniciar ele digite o comando abaixo:
#/etc/init.d/apache2 reload

Para 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.