Wie man Django im Telekom Hosting einrichtet


Django ist ein Open-Source-Framework basierend auf der Programmiersprache Python, oder anders: Django ist der Werkzeugkasten, mit dem man alles Mögliche an Projekten fürs Internet umsetzen kann. Da Django immer beliebter wird, möchten wir hier die ersten Schritte zum eigenen Django-Projekt zeigen, denn tatsächlich dürfte die erstmalige Einrichtung die größte Hürde sein.

Django ist mit allen Produkten nutzbar, mit denen Python genutzt werden kann. Das sind aktuell die Produkte Webhosting Basic und Pro sowie Homepage M und L und Homepage Basic, Advanced und Professional. 

Damit die Anleitung etwas einfacher zu verstehen ist, folgende Vorgeschichte: Max Muster will für sein Unternehmen, die Minimal AG, eine Homepage mit Django erstellen. Dafür hat er sich das Produkt Webhosting Pro bei der Telekom gebucht und sich die Domain minimalag.de registriert.

Domain minimalag.de, Verzeichniss minimalag oder auch Datenbank-Benutzername und Passwort müssen natürlich durch die eigenen individuellen Angaben ersetzt werden.

Schritt 1 - Per SSH verbinden und Django updaten

Herr Muster stellt mit Windows 10/11 eine Verbindung per SSH mit dem Server her und aktualisiert die bereits vorhandene Django Installation mit dem folgenden Befehl:

 

pip install --upgrade django

 

Schritt 2 - Webserver konfigurieren

Damit ein Nutzer im Browser die neue Homepage aufrufen kann, muss Herr Muster die Serverkonfiguration anpassen. Dazu erstellt er den Ordner "etc" und legt in diesem Ordner die Datei httpd.conf mit einem spezifischen Inhalt fest. Und dazu verwendet er folgende Befehle:

 

mkdir /home/www/etc
nano /home/www/etc/httpd.conf

 

Jetzt befindet sich Herr Muster im Editor Nano mit einer leeren Seite. Hier trägt er Folgendes ein:

 

LoadModule wsgi_module modules/mod_wsgi.so

<VirtualHost *:443>
 ServerName minimalag.de
 ServerAlias minimalag.de 
 DocumentRoot /home/www/minimalag/minimalag/wsgi.py
</VirtualHost> 

<Directory /home/www/minimalag/minimalag>
 <Files wsgi.py>
 Require all granted
 </Files>
</Directory>
Alias /static /usr/lib/python3/dist-packages/django/contrib/admin/static
<Directory /usr/lib/python3/dist-packages/django/contrib/admin/static>
 Require all granted
</Directory>

 

Jetzt drückt er die Tastenkombination "Strg + X", um die Eingaben zu speichern und bestätigt die Eingabe mit der Taste "y".

Schritt 3 - Datenbankkonfiguration

Herr Muster legt im Homepage Center unter "Website / MySQL-Datenbanken" eine neue MySQL-Datenbank an. Anschließen wechselt er wieder in die SSH Verbindung und legt eine Konfigurationsdatei an.

 

nano /home/www/.my.cnf

 

Diese befüllt er wie folgt:

 

[client]
host="mysqla.service"
user="HTO01FLABCDE"
password="musterpass"
database="HTO01FLABCDE"

[mysql]
database="HTO01FLABCDE"

[mysqldump]
no-tablespaces
lock-tables=false
skip-add-locks

 

Diese Eingaben speichert er wieder mit "Strg+x" und der Taste "y".

Schritt 4 - Django-Projekt einrichten

Er legt ein neues Projekt an.

 

django-admin startproject minimalag

 

und passt die Konfiguration dieses Projekts an. Dazu öffnet er die Datei wsgi.py im Editor.

 

nano /home/www/minimalag/minimalag/wsgi.py

 

Und fügt hier die Zeilen

 

import sys
sys.path.append('/home/www/minimalag')

 

ein und speichert die Eingabe mit "Strg+x" und "y".

Als Nächstes wird die Datei settings.py bearbeitet.

 

nano /home/www/minimalag/minimalag/settings.py

 

Hier sucht er den Eintrag ALLOWED_HOSTS und trägt in die eckige Klammer .minimal.ag ein. Der Punkt vor der Domain gilt als Wildcard. Damit ist das Projekt über https://minimalag.de, aber auch über https://www.minimalag.de aufrufbar.

 

ALLOWED_HOSTS = ['.minimalag.de']

 

Jetzt sucht er den Eintrag DATABASE und ändert diesen wie folgt ab:

 

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'OPTIONS': {

            'read_default_file': '/home/www/.my.cnf',

        },

    }

}

 

Abschließend speichert er mit "Strg + X" und "y".

Dann

nano /home/www/minimalag/manage.py

und hier die erste Zeile von 

 

#!/usr/bin/env pyhton

 

in

 

#!/usr/bin/env python3

 

ändern und mit mit "Strg + X" und "y" speichern.

Schritt 5 - Einrichtung abschließen

Mit dem Befehl

 

/home/www/minimalag/manage.py migrate

 

befüllt Herr Muster die Datenbank mit der notwendigen Struktur. Zum Schluss legt er dann einen Superuser an. 

 

/home/www/minimalag/manage.py createsuperuser

 

Mit diesem kann er dann sein Projekt verwalten.

Wie geht es weiter?

Herr Muster hat jetzt den Grundstein gelegt und fängt an, seine Seite zu programmieren. Dazu gibt es zahlreiche Anleitungen im Netz, wie z.B.