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.