Instalación Django · 4 min read · Dec 04, 2025
Cómo instalar Django en Mandriva 2008.1 (Apache2/mod_python)
Cómo instalar Django en Mandriva 2008.1 (Apache2/mod_python)
Versión 1.0
Autor: Falko Timme
Este tutorial explica cómo instalar Django en un servidor Mandriva 2008.1. Django es un marco web que permite desarrollar aplicaciones web en Python rápidamente con la mayor automatización posible. Lo usaré con Apache2 y mod_python en esta guía.
Este cómo hacer está destinado como una guía práctica; no cubre los antecedentes teóricos. Estos se tratan en muchos otros documentos en la web.
¡Este documento se proporciona sin garantía de ningún tipo! Quiero decir que esta no es la única forma de configurar un sistema así. Hay muchas maneras de lograr este objetivo, pero este es el camino que tomo. No emito ninguna garantía de que esto funcione para ti!
1 Instalar MySQL
Antes de instalar cualquier paquete, debemos habilitar los repositorios main, main_updates, contrib y contrib_updates. Ve a http://easyurpmi.zarb.org/ - debería darte los comandos que necesitas ejecutar para habilitar estos repositorios. En mi caso, ejecuté
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.czDjango puede usar múltiples backends de base de datos, por ejemplo, PostgreSQL, MySQL, SQLite, etc. Si deseas usar MySQL, puedes instalarlo de la siguiente manera:
urpmi MySQL MySQL-clientPor defecto, la red no está habilitada en el paquete MySQL de Mandriva 2008.1. Podemos cambiar esto comentando la línea skip-networking en /etc/my.cnf:
vi /etc/my.cnf| [...] # No escuchar en un puerto TCP/IP en absoluto. Esto puede ser una mejora de seguridad, # si todos los procesos que necesitan conectarse a mysqld se ejecutan en el mismo host. # Toda interacción con mysqld debe hacerse a través de sockets Unix o pipes con nombre. # Ten en cuenta que usar esta opción sin habilitar pipes con nombre en Windows # (a través de la opción "enable-named-pipe") hará que mysqld sea inútil! # #skip-networking [...] |
Después, creamos los enlaces de inicio del sistema para MySQL…
chkconfig mysqld on… y lo iniciamos:
/etc/init.d/mysqld startAhora verifica que la red esté habilitada. Ejecuta
netstat -tap | grep mysqlLa salida debería verse así:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql-im *:* LISTEN 3746/mysqlmanager
tcp 0 0 *:mysql *:* LISTEN 3754/mysqld
[root@server1 ~]#Ejecuta
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordpara establecer una contraseña para el usuario root (¡de lo contrario, cualquiera puede acceder a tu base de datos MySQL!).
2 Instalar Apache y mod_python
Si Apache2 y mod_python no están ya instalados en tu sistema, puedes instalarlos de la siguiente manera:
urpmi apache-mod_python(Esto también instalará Apache2 si no está ya instalado.)
3 Instalar Django
Para instalar Django y los enlaces de Python MySQL, ejecutamos:
urpmi python-django python-mysql4 Configurar Apache
Antes de configurar Apache, debemos crear un proyecto Django (por ejemplo, llamado mysite) (ver http://www.djangoproject.com/documentation/tutorial01/). Por razones de seguridad, creo ese proyecto fuera de mi raíz de documentos (estoy usando la raíz de documentos predeterminada de Mandriva /var/www/html aquí) (por ejemplo, en /home/mycode):
mkdir /home/mycode
cd /home/mycode
/usr/bin/django-admin.py startproject mysiteEsto creará el directorio /home/mycode/mysite con algunos archivos de Python en él.
Ahora, con el proyecto mysite creado, podemos configurar Apache. Creo una copia de seguridad del archivo original /etc/httpd/modules.d/16_mod_python.conf y creo uno nuevo de la siguiente manera:
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 configuración es válida para el vhost predeterminado de Mandriva en /var/www/html - si ya has definido otros vhosts donde te gustaría usar Django, por favor coloca la sección
La ruta en la primera línea (
Reinicia Apache después:
/etc/init.d/httpd restartAhora puedes acceder a http://www.example.com/mysite en un navegador. Si todo salió bien, deberías ver algo como esto:

Esto significa que Django se ha instalado correctamente, y ahora puedes usarlo para desarrollar tus aplicaciones web en Python (por favor consulta http://www.djangoproject.com/documentation/ para aprender cómo desarrollar aplicaciones web con Django).
5 Conectar a una base de datos MySQL desde un proyecto Django
Si deseas usar una base de datos MySQL en tu proyecto Django, primero debes crear esa base de datos (por ejemplo, mysite) y un usuario de base de datos (por ejemplo, mysiteadmin) para esa base de datos:
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;Luego abre el archivo settings.py en la carpeta del proyecto (por ejemplo, /home/mycode/mysite) y modifica la configuración de la base de datos, por ejemplo, de la siguiente manera:
vi /home/mycode/mysite/settings.py| [...] DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' o 'ado_mssql'. DATABASE_NAME = 'mysite' # O ruta al archivo de base de datos si se usa sqlite3. DATABASE_USER = 'mysiteadmin' # No se usa con sqlite3. DATABASE_PASSWORD = 'mysiteadmin_password' # No se usa con sqlite3. DATABASE_HOST = '' # Establecer como cadena vacía para localhost. No se usa con sqlite3. DATABASE_PORT = '' # Establecer como cadena vacía para predeterminado. No se usa con sqlite3. [...] |
6 Enlaces
- Django: http://www.djangoproject.com
- Python: http://www.python.org
- Mandriva: http://www.mandriva.com
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.