Apache e Django em Windows – 2º parte
Esta é a 2º parte de um artigo, a 1º parte pode ser econtrada aqui.
Vamos começar por enunciar o que já fizemos até ao momento:
1º – Configuramos o pythonpath
2º – Instalámos o módulo wsgi
3º – Instalámos o Django
4º passo – instalar a Base de Dados
O Django requer uma base de dados para funcionar, pelo que habitualmente as duas das opções mais imediatas são o PostgreSQL ou MySQL, seja qual for a opção, os passos a tomar são semelhantes.
Caso a vossa escolha recaia sobre o PostgreSQL, após o mesmo estar instalado e configurado, devem instalar o Psycopg, como o que precisamos mesmo é o binário para Windows, ele pode ser descarregado aqui (consoante a vossa versão do PostgreSQL).
Se a vossa escolha for MySQL (caso ainda não o tenham), nesse caso após a respectiva instalação e configuração, devem instalar o MySQL-python ou mais especificamente, o seu binário para Windows, que pode ser encontrado aqui.
Tanto o psycopg como mysql-python são adaptadores que permitem “uma comunicação directa” entre o vosso interpretador e a base de dados.
5º passo – criar um projecto Django no htdocs
Agora que o sistema está práticamente todo a funcionar, vamos criar um projecto na pasta htdocs do vosso Apache.
Primeiro vamos necessitar novamente do ficheiro django-admin.py que tal como anteriormente, se econtra na pasta principal da vossa instalação do Python, no meu caso: “C:/Programas/Python27/django-admin.py″.
Copiem o ficheiro para a vossa pasta htdocs que habitualmente se encontra em “C:/Program Files/Apache Group/Apache2/htdocs/” e executem os seguintes passos, como no meu caso estou a usar o XAMPP, o processo seguinte será algo como:
– cd C:/Program Files/XAMPP/xampp/htdocs/
– django-admin.py startproject exemplo
– cd exemplo
Agora que o projecto está criado, podemos fechar a Linha de Comandos e vamos sim aceder à pasta do mesmo (através do Explorador do Windows), já dentro da pasta “C:/Program Files/XAMPP/xampp/htdocs/exemplo” vamos criar um ficheiro a que vamos dar o nome de django.wsgi e introduzir o seguinte texto dentro do ficheiro:
import os, sys
sys.path.append(‘C:/Programas/Python27/’)
sys.path.append(‘C:/Program Files/XAMPP/xampp/htdocs/’)
sys.path.append(‘C:/Program Files/XAMPP/xampp/htdocs/exemplo’)
os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘settings’
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Este ficheiro .wsgi é o responsável para o que o vosso Apache compreenda que está a lidar com um projecto de python e mais especificamente de django, pelo que cada novo projecto que criem futuramente, necessita de ter um ficheiro de configuração .wsgi à semelhança deste.
6º passo – configurar o httpd.conf
Para fazer a configuração final do httpd.conf devemos ir novamente à pasta /apache/modules/ e abrir o respectivo ficheiro, httpd.conf.
Com ficheiro já aberto no vosso editor preferido, procurem a secção do DocumentRoot e na seguinte a essa, adicionem os seguintes dados, que devem estar em conformidade com a pasta (nome) que deram ao vosso projecto, anteriormente:
WSGIScriptAlias /exemplo “C:/Program Files/XAMPP/xampp/htdocs/exemplo/django.wsgi”
<Directory “C:/Program Files/XAMPP/xampp/htdocs/exemplo/”>
AllowOverride None
Options None
Order deny,allow
Allow from all
</Directory>
Alias /media/ “C:/Programas/Python27/Lib/site-packages/django/contrib/admin/media/”
Por cada novo projecto que queiram realizar com o Django de forma integrada ao Apache, devem sempre adicionar uma configuração respectiva como a que está exemplificada acima.
A única exepcção vai para a a linha final “Alias /media/…” que serve apenas para indicar ao Apache onde se encontram os ficheiros de média (imagens, etc) para a área de administração, e que é transversal a todos os projectos.
7º passo – Finalização
Agora que concluímos todos os nosso passos, a instalação do Django já deve correr nativamente como o vosso Apache, pelo que o http://127.0.0.1/exemplo deverá ser o vosso ponto de partida para explorarem este novo? mundo.
Devem ter em mente que cada alteração estrutural a nível de configurações (e isto já dentro do próprio Django) requer por vezes a reinicialização do vosso servidor, isto deve ao facto de o vosso esqueleto de funcionamento em Windows ser algo como:
Python <–> ( MySQL/PostgreSQL <-> mysql-python/psycopg ) <—> Wsgi <–> Apache <–> Wsgi <—> Django
Espero que este artigo possa ser útil, e que seja aquele que eu não tive para chegar lá com sucesso.
Lembrem-se “Don’t fight the environment and go with the flow“
Publicado a 28 de Março de 2011, em: InfoTec
Etiquetas: apache, django, mysql, python, windows, wsgi
Partilhar:
Digg
del.icio.us
Sapo Tags
doMelhor
FixolaS
Rec6
Comentários: 2 comentários
Comentários
Comentário de Pedro Cavaco
28 de Março de 2011, 11:41 ante meridiem
Epá desconhecia e realmente poupa tempo e trabalho…
A questão do 2.6.5 também deve ser temporária, portanto para criar um ambiente de produção “caseiro”, serve bem.
Obrigado pela dica
Comentário de Alcides
28 de Março de 2011, 2:49 post meridiem
Já usei vários tipos de instalação de django em windows para deployment, e o mais simples e eficaz para mim foi usar o http://bitnami.org/stack/djangostack. É um instalador que trata de tudo. Desde a instalação de Python, a bases de dados
Como desvantagem tem o python 2.6.5, o que embora seja suficientemente actual para a maior parte dos projectos, pode ser limitador.