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.cz
urpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.cz
urpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.cz
urpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.cz

Django 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-client

Par 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 start

Vérifiez maintenant que le réseau est activé. Exécutez

netstat -tap | grep mysql

La 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 yourrootsqlpassword

pour 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-mysql

4 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 mysite

Cela 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 SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonDebug On PythonPath "['/home/mycode'] + sys.path" |

(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 dans la configuration vhost appropriée, mais laissez la ligne LoadModule dans /etc/httpd/modules.d/16_mod_python.conf.)

Le chemin dans la première ligne ( ) fait référence à l’URL - ce qui signifie que cette configuration sera utilisée si vous utilisez /mysite dans l’URL (par exemple, http://www.example.com/mysite). Vous pouvez le changer selon vos préférences. Veuillez ajuster les autres valeurs ( SetEnv DJANGO_SETTINGS_MODULE mysite.settings et PythonPath “[‘/home/mycode’] + sys.path”) au nom de votre projet et au chemin où il est situé.

Redémarrez Apache ensuite :

/etc/init.d/httpd restart

Vous 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 -p
CREATE 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

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.