Installation Django · 5 min read · Dec 04, 2025
Comment Installer Django Sur Mandriva 2008.1 (Apache2/mod_python)
Comment Installer Django Sur Mandriva 2008.1 (Apache2/mod_python)
Version 1.0
Auteur : Falko Timme
Ce tutoriel explique comment installer Django sur un serveur Mandriva 2008.1. Django est un framework web qui permet de développer rapidement des applications web Python avec autant d’automatisation que possible. Je vais l’utiliser avec Apache2 et mod_python dans ce guide.
Ce guide est destiné à être un guide pratique ; il ne couvre pas les bases théoriques. Elles sont traitées dans de nombreux autres documents sur le web.
Ce document est fourni sans aucune garantie ! Je tiens à dire que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que je choisis. Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Installer MySQL
Avant d’installer des paquets, nous devons activer les dépôts main, main_updates, contrib et contrib_updates. Allez sur http://easyurpmi.zarb.org/ - cela devrait vous donner les commandes que vous devez exécuter pour activer ces dépôts. Dans mon cas, j’ai exécuté
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 peut utiliser plusieurs backends de base de données, par exemple PostgreSQL, MySQL, SQLite, etc. Si vous souhaitez utiliser MySQL, vous pouvez l’installer comme suit :
urpmi MySQL MySQL-clientPar défaut, le réseau n’est pas activé dans le paquet MySQL de Mandriva 2008.1. Nous pouvons changer cela en commentant la ligne skip-networking dans /etc/my.cnf :
vi /etc/my.cnf| [...] # Ne pas écouter sur un port TCP/IP du tout. Cela peut être un renforcement de la sécurité, # si tous les processus qui ont besoin de se connecter à mysqld s'exécutent sur le même hôte. # Toute interaction avec mysqld doit se faire via des sockets Unix ou des pipes nommés. # Notez que l'utilisation de cette option sans activer les pipes nommés sous Windows # (via l'option "enable-named-pipe") rendra mysqld inutile ! # #skip-networking [...] |
Ensuite, nous créons les liens de démarrage système pour MySQL…
chkconfig mysqld on… et le démarrons :
/etc/init.d/mysqld startVérifiez maintenant que le réseau est activé. Exécutez
netstat -tap | grep mysqlLa sortie devrait ressembler à ceci :
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql-im *:* LISTEN 3746/mysqlmanager
tcp 0 0 *:mysql *:* LISTEN 3754/mysqld
[root@server1 ~]#Exécutez
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordpour définir un mot de passe pour l’utilisateur root (sinon, n’importe qui peut accéder à votre base de données MySQL !).
2 Installer Apache Et mod_python
Si Apache2 et mod_python ne sont pas déjà installés sur votre système, vous pouvez les installer comme suit :
urpmi apache-mod_python(Cela installera également Apache2 s’il n’est pas déjà installé.)
3 Installer Django
Pour installer Django et les liaisons Python MySQL, nous exécutons :
urpmi python-django python-mysql4 Configurer Apache
Avant de configurer Apache, nous devons créer un projet Django (par exemple, appelé mysite) (voir http://www.djangoproject.com/documentation/tutorial01/). Pour des raisons de sécurité, je crée ce projet en dehors de ma racine de documents (j’utilise ici la racine de documents par défaut de Mandriva /var/www/html) (par exemple, dans /home/mycode) :
mkdir /home/mycode
cd /home/mycode
/usr/bin/django-admin.py startproject mysiteCela créera le répertoire /home/mycode/mysite avec quelques fichiers Python à l’intérieur.
Maintenant que le projet mysite est créé, nous pouvons configurer Apache. Je crée une copie de sauvegarde de l’original /etc/httpd/modules.d/16_mod_python.conf et en crée un nouveau comme suit :
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 |
(Cette configuration est valide pour le vhost par défaut de Mandriva dans /var/www/html - si vous avez déjà défini d’autres vhosts où vous souhaitez utiliser Django, veuillez placer la section
Le chemin dans la première ligne (
Redémarrez Apache ensuite :
/etc/init.d/httpd restartVous pouvez maintenant accéder à http://www.example.com/mysite dans un navigateur. Si tout s’est bien passé, vous devriez voir quelque chose comme ceci :

Cela signifie que Django a été installé avec succès, et vous pouvez maintenant l’utiliser pour développer vos applications web Python (veuillez vous référer à http://www.djangoproject.com/documentation/ pour apprendre à développer des applications web avec Django).
5 Se Connecter À Une Base De Données MySQL Depuis Un Projet Django
Si vous souhaitez utiliser une base de données MySQL dans votre projet Django, vous devez d’abord créer cette base de données (par exemple, mysite) et un utilisateur de base de données (par exemple, mysiteadmin) pour cette base de données :
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;Ensuite, ouvrez le fichier settings.py dans le dossier du projet (par exemple, /home/mycode/mysite) et modifiez les paramètres de la base de données, par exemple comme suit :
vi /home/mycode/mysite/settings.py| [...] DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' ou 'ado_mssql'. DATABASE_NAME = 'mysite' # Ou chemin vers le fichier de base de données si vous utilisez sqlite3. DATABASE_USER = 'mysiteadmin' # Non utilisé avec sqlite3. DATABASE_PASSWORD = 'mysiteadmin_password' # Non utilisé avec sqlite3. DATABASE_HOST = '' # À définir comme chaîne vide pour localhost. Non utilisé avec sqlite3. DATABASE_PORT = '' # À définir comme chaîne vide pour par défaut. Non utilisé avec sqlite3. [...] |
6 Liens
- Django : http://www.djangoproject.com
- Python : http://www.python.org
- Mandriva : http://www.mandriva.com
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.