Django Installation · 4 min read · Dec 04, 2025
Como Instalar Django No Mandriva 2008.1 (Apache2/mod_python)
Como Instalar Django No Mandriva 2008.1 (Apache2/mod_python)
Versão 1.0
Autor: Falko Timme
Este tutorial explica como instalar o Django em um servidor Mandriva 2008.1. Django é um framework web que permite desenvolver aplicações web em Python rapidamente com o máximo de automação possível. Eu o utilizarei com Apache2 e mod_python neste guia.
Este howto é destinado como um guia prático; não cobre os fundamentos teóricos. Eles são tratados em muitos outros documentos na web.
Este documento vem sem garantia de qualquer tipo! Quero dizer que este não é o único modo de configurar tal sistema. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não dou nenhuma garantia de que isso funcionará para você!
1 Instalar MySQL
Antes de instalarmos quaisquer pacotes, devemos habilitar os repositórios main, main_updates, contrib e contrib_updates. Vá para http://easyurpmi.zarb.org/ - isso deve lhe dar os comandos que você precisa executar para habilitar esses repositórios. No meu caso, eu executei
urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.czurpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.czurpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.czurpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.czO Django pode usar múltiplos backends de banco de dados, por exemplo, PostgreSQL, MySQL, SQLite, etc. Se você quiser usar o MySQL, pode instalá-lo da seguinte forma:
urpmi MySQL MySQL-clientPor padrão, a rede não está habilitada no pacote MySQL do Mandriva 2008.1. Podemos mudar isso comentando a linha skip-networking em /etc/my.cnf:
vi /etc/my.cnf| [...] # Não ouça em uma porta TCP/IP de forma alguma. Isso pode ser uma melhoria de segurança, # se todos os processos que precisam se conectar ao mysqld rodarem na mesma máquina. # Toda interação com mysqld deve ser feita via sockets Unix ou pipes nomeados. # Note que usar esta opção sem habilitar pipes nomeados no Windows # (via a opção "enable-named-pipe") tornará o mysqld inútil! # #skip-networking [...] |
Depois, criamos os links de inicialização do sistema para o MySQL…
chkconfig mysqld on… e o iniciamos:
/etc/init.d/mysqld startAgora verifique se a rede está habilitada. Execute
netstat -tap | grep mysqlA saída deve ser parecida com isto:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql-im *:* LISTEN 3746/mysqlmanager
tcp 0 0 *:mysql *:* LISTEN 3754/mysqld
[root@server1 ~]#Execute
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordpara definir uma senha para o usuário root (caso contrário, qualquer um pode acessar seu banco de dados MySQL!).
2 Instalar Apache E mod_python
Se o Apache2 e o mod_python não estiverem instalados em seu sistema, você pode instalá-los da seguinte forma:
urpmi apache-mod_python(Isto também instalará o Apache2 se ele já não estiver instalado.)
3 Instalar Django
Para instalar o Django e os bindings do Python MySQL, executamos:
urpmi python-django python-mysql4 Configurar Apache
Antes de configurarmos o Apache, devemos criar um projeto Django (por exemplo, chamado mysite) (veja http://www.djangoproject.com/documentation/tutorial01/). Por razões de segurança, eu crio esse projeto fora do meu diretório de documentos (estou usando o diretório de documentos padrão do Mandriva /var/www/html aqui) (por exemplo, em /home/mycode):
mkdir /home/mycode
cd /home/mycode
/usr/bin/django-admin.py startproject mysiteIsso criará o diretório /home/mycode/mysite com alguns arquivos Python nele.
Agora, com o projeto mysite criado, podemos configurar o Apache. Eu crio uma cópia de backup do arquivo original /etc/httpd/modules.d/16_mod_python.conf e crio um novo da seguinte forma:
cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf
vi /etc/httpd/modules.d/16_mod_python.conf| LoadModule python_module extramodules/mod_python.so |
(Esta configuração é válida para o vhost padrão do Mandriva em /var/www/html - se você já definiu outros vhosts onde gostaria de usar o Django, por favor, coloque a seção
O caminho na primeira linha (
Reinicie o Apache depois:
/etc/init.d/httpd restartAgora você pode acessar http://www.example.com/mysite em um navegador. Se tudo correr bem, você deve ver algo como isto:

Isso significa que o Django foi instalado com sucesso, e agora você pode usá-lo para desenvolver suas aplicações web em Python (por favor, consulte http://www.djangoproject.com/documentation/ para aprender como desenvolver aplicações web com Django).
5 Conectar A Um Banco De Dados MySQL A Partir De Um Projeto Django
Se você quiser usar um banco de dados MySQL em seu projeto Django, primeiro deve criar esse banco de dados (por exemplo, mysite) e um usuário de banco de dados (por exemplo, mysiteadmin) para esse banco de dados:
mysql -u root -pCREATE DATABASE mysite;
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY 'mysiteadmin_password';
GRANT ALL ON mysite.* TO 'mysiteadmin'@'localhost.localdomain' IDENTIFIED BY 'mysiteadmin_password';
FLUSH PRIVILEGES;
quit;Em seguida, abra o arquivo settings.py na pasta do projeto (por exemplo, /home/mycode/mysite) e modifique as configurações do banco de dados, por exemplo, da seguinte forma:
vi /home/mycode/mysite/settings.py| [...] DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' ou 'ado_mssql'. DATABASE_NAME = 'mysite' # Ou caminho para o arquivo do banco de dados se usar sqlite3. DATABASE_USER = 'mysiteadmin' # Não usado com sqlite3. DATABASE_PASSWORD = 'mysiteadmin_password' # Não usado com sqlite3. DATABASE_HOST = '' # Defina como string vazia para localhost. Não usado com sqlite3. DATABASE_PORT = '' # Defina como string vazia para o padrão. Não usado com sqlite3. [...] |
6 Links
- Django: http://www.djangoproject.com
- Python: http://www.python.org
- Mandriva: http://www.mandriva.com
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.