Django Setup
- Stellen Sie in LiveConfig den Pfad der Domain(s) korrekt ein. Wir empfehlen folgendes Schema:
- example.com zeigt auf
/examplecom
- www.example.com zeigt auf
/examplecom
- weitere Subdomains nach Wahl auf
/examplecom.subdomain
, oder direkt/subdomain
- Die Verzeichnisse entsprechen dann im FTP-Account
/htdocs/examplecom
bzw./htdocs/examplecom.subdomain
!
- Nutzen Sie nun den SSH-Zugriff, um sich mit Ihren Zugangsdaten am Server anzumelden.
- Laden Sie Ihre Python-Anwendung in das Zielverzeichnis der Domain auf den Server.
Folgende Verzeichnisstruktur ist zu empfehlen:
/priv/examplecom
: Der Sourcecode des Django-Projekts, indem sich Ihremanage.py
befindet./htdocs/examplecom
: alle Medien-Daten (CSS, Bilder, Uploads, …)
- Erstellen Sie nun die VirtualEnv-Umgebung, über die Sie Django sowie die von Ihnen benötigten weiteren Python-Pakete verwalten.
Somit wird im Ordner
python3 -mvenv ~/priv/venv
~/priv/venv
eine neue Python3-Umgebung erstellt.- Aktivieren Sie diese VirtualEnv, um damit zu arbeiten:
Ist dies erfolgreich, so ändert sich der Prompt und zeigt dann die aktive VirtualEnv an:
source ~/priv/venv/bin/activate
ssd123@django1:~$ source priv/venv/bin/activate (venv) ssd123@django1:~$
- Um die Installation Ihrer benötigten Python-Module vornehmen zu können, installieren bzw. aktualisieren Sie zuerst einige System-Bibliotheken:
pip install wheel pip install -U pip
- Nun können Sie mit
pip
die von Ihnen gewünschten und benötigten Python-Module, beispielsweise Django, installieren:pip install -U Django mysqlclient
- Aktivieren Sie diese VirtualEnv, um damit zu arbeiten:
- Nachdem Sie Ihre VirtualEnv-Umgebung vorbereitet haben, hinterlegen Sie in Ihrer
settings.py
Datei die Verbindung zur MySQL-Datenbank. Nutzen Sie in Ihrersettings.py
die von Ihnen gewünschten Konfigurationseinstellungen, setzen jedoch dasMEDIA_ROOT
-Verzeichnis auf eines, das der Webserver einsehen kann. Dies kann beispielsweise mit folgendem Code-Snippet dynamisch erfolgen:import os PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) MEDIA_ROOT = os.path.abspath(os.path.join(PROJECT_ROOT, "../../htdocs/examplecom"))
- Abschließend nutzen Sie
python manage.py migrate
, um Ihre Datenbank mit Inhalten zu füllen. - Speichern Sie folgende
.htaccess
-Datei im öffentlichen Zielverzeichnis der Domain (/htdocs/examplecom
):Options +ExecCGI RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /app.wsgi/$1 [QSA,L]
- Legen Sie im selben Ordner folgende
app.wsgi
ab:Dieimport sys, os sys.path.insert(0, '/var/www/USERNAME/priv/examplecom') sys.path.insert(0, '/var/www/USERNAME/priv/venv/lib/python3.7/site-packages') os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
app.wsgi
muss außerdem ausführbar gemacht werden (chmod 0755
). - Rufen Sie die Webseite im Browser auf:
- wird die Seite erfolgreich angezeigt: Herzlichen Glückwunsch!
- erhalten Sie Fehler, finden Sie auf dieser Seite weitere Hinweise.
USERNAME ist der tatsächliche Benutzername Ihres Hosting-Accounts, z.B. ssd1234.
Bei Fragen steht Ihnen unser Support gerne zur Verfügung.