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

Standardmäß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 mysql

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

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

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

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

(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 -Abschnitt in der entsprechenden Vhost-Konfiguration, lassen Sie aber die LoadModule-Zeile in /etc/httpd/modules.d/16_mod_python.conf.)

Der Pfad in der ersten Zeile ( ) bezieht sich auf die URL - das bedeutet, diese Konfiguration wird verwendet, wenn Sie /mysite in der URL verwenden (z.B. http://www.example.com/mysite). Sie können dies nach Belieben ändern. Bitte passen Sie die anderen Werte ( SetEnv DJANGO_SETTINGS_MODULE mysite.settings und PythonPath “[‘/home/mycode’] + sys.path”) an den Namen Ihres Projekts und den Pfad, wo es sich befindet, an.

Starten Sie Apache danach neu:

/etc/init.d/httpd restart

Jetzt 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 -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;

Ö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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.