Django Installation · 4 min read · Dec 04, 2025
So installieren Sie Django auf Mandriva 2008.1 (Apache2/mod_python)
So installieren Sie Django auf Mandriva 2008.1 (Apache2/mod_python)
Version 1.0
Autor: Falko Timme
Dieses Tutorial erklärt, wie man Django auf einem Mandriva 2008.1-Server installiert. Django ist ein Web-Framework, das es ermöglicht, Python-Webanwendungen schnell mit so viel Automatisierung wie möglich zu entwickeln. Ich werde es in diesem Leitfaden mit Apache2 und mod_python verwenden.
Dieses Howto ist als praktische Anleitung gedacht; es behandelt nicht die theoretischen Hintergründe. Diese werden in vielen anderen Dokumenten im Web behandelt.
Dieses Dokument kommt ohne jegliche Gewährleistung! Ich möchte sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies für Sie funktioniert!
1 MySQL installieren
Bevor wir Pakete installieren, müssen wir die Haupt-, main_updates-, contrib- und contrib_updates-Repositories aktivieren. Gehen Sie zu http://easyurpmi.zarb.org/ - es sollte Ihnen die Befehle geben, die Sie ausführen müssen, um diese Repositories zu aktivieren. In meinem Fall habe ich ausgeführt
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 kann mehrere Datenbank-Backends verwenden, z.B. PostgreSQL, MySQL, SQLite usw. Wenn Sie MySQL verwenden möchten, können Sie es wie folgt installieren:
urpmi MySQL MySQL-clientStandardmäßig ist das Networking im MySQL-Paket von Mandriva 2008.1 nicht aktiviert. Wir können dies ändern, indem wir die Zeile skip-networking in /etc/my.cnf auskommentieren:
vi /etc/my.cnf| [...] # Hören Sie überhaupt nicht auf einen TCP/IP-Port. Dies kann eine Sicherheitsverbesserung sein, # wenn alle Prozesse, die eine Verbindung zu mysqld herstellen müssen, auf demselben Host ausgeführt werden. # Alle Interaktionen mit mysqld müssen über Unix-Sockets oder benannte Pipes erfolgen. # Beachten Sie, dass die Verwendung dieser Option ohne Aktivierung benannter Pipes unter Windows # (über die Option "enable-named-pipe") mysqld unbrauchbar macht! # #skip-networking [...] |
Danach erstellen wir die Systemstartlinks für MySQL…
chkconfig mysqld on… und starten es:
/etc/init.d/mysqld startÜberprüfen Sie nun, ob das Networking aktiviert ist. Führen Sie aus
netstat -tap | grep mysqlDie Ausgabe sollte so aussehen:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql-im *:* LISTEN 3746/mysqlmanager
tcp 0 0 *:mysql *:* LISTEN 3754/mysqld
[root@server1 ~]#Führen Sie aus
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordum ein Passwort für den Benutzer root festzulegen (ansonsten kann jeder auf Ihre MySQL-Datenbank zugreifen!).
2 Apache und mod_python installieren
Wenn Apache2 und mod_python noch nicht auf Ihrem System installiert sind, können Sie sie wie folgt installieren:
urpmi apache-mod_python(Dies wird auch Apache2 installieren, falls es noch nicht installiert ist.)
3 Django installieren
Um Django und die Python MySQL-Bindings zu installieren, führen wir aus:
urpmi python-django python-mysql4 Apache konfigurieren
Bevor wir Apache konfigurieren, müssen wir ein Django-Projekt erstellen (z.B. genannt mysite) (siehe http://www.djangoproject.com/documentation/tutorial01/). Aus Sicherheitsgründen erstelle ich dieses Projekt außerhalb meines Dokumentenstamms (ich verwende hier den Standard-Dokumentenstamm von Mandriva /var/www/html) (z.B. in /home/mycode):
mkdir /home/mycode
cd /home/mycode
/usr/bin/django-admin.py startproject mysiteDies erstellt das Verzeichnis /home/mycode/mysite mit einigen Python-Dateien darin.
Jetzt, da das Projekt mysite erstellt wurde, können wir Apache konfigurieren. Ich erstelle eine Sicherungskopie der ursprünglichen /etc/httpd/modules.d/16_mod_python.conf-Datei und erstelle eine neue wie folgt:
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 |
(Diese Konfiguration ist gültig für den Standard-Mandriva-Vhost in /var/www/html - wenn Sie bereits andere Vhosts definiert haben, in denen Sie Django verwenden möchten, platzieren Sie bitte den
Der Pfad in der ersten Zeile (
Starten Sie Apache danach neu:
/etc/init.d/httpd restartJetzt können Sie http://www.example.com/mysite in einem Browser aufrufen. Wenn alles gut gelaufen ist, sollten Sie etwas wie dies sehen:

Das bedeutet, dass Django erfolgreich installiert wurde und Sie es jetzt verwenden können, um Ihre Python-Webanwendungen zu entwickeln (bitte beziehen Sie sich auf http://www.djangoproject.com/documentation/, um zu lernen, wie man Webanwendungen mit Django entwickelt).
5 Verbindung zu einer MySQL-Datenbank von einem Django-Projekt
Wenn Sie eine MySQL-Datenbank in Ihrem Django-Projekt verwenden möchten, sollten Sie zuerst diese Datenbank (z.B. mysite) und einen Datenbankbenutzer (z.B. mysiteadmin) für diese Datenbank erstellen:
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;Öffnen Sie dann die settings.py-Datei im Projektordner (z.B. /home/mycode/mysite) und ändern Sie die Datenbankeinstellungen, z.B. wie folgt:
vi /home/mycode/mysite/settings.py| [...] DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' oder 'ado_mssql'. DATABASE_NAME = 'mysite' # Oder Pfad zur Datenbankdatei, wenn sqlite3 verwendet wird. DATABASE_USER = 'mysiteadmin' # Nicht verwendet mit sqlite3. DATABASE_PASSWORD = 'mysiteadmin_password' # Nicht verwendet mit sqlite3. DATABASE_HOST = '' # Auf leere Zeichenfolge für localhost setzen. Nicht verwendet mit sqlite3. DATABASE_PORT = '' # Auf leere Zeichenfolge für Standard setzen. Nicht verwendet mit sqlite3. [...] |
6 Links
- Django: http://www.djangoproject.com
- Python: http://www.python.org
- Mandriva: http://www.mandriva.com
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.