Django Setup

  1. 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!
  1. Nutzen Sie nun den SSH-Zugriff, um sich mit Ihren Zugangsdaten am Server anzumelden.
  2. 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 Ihre manage.py befindet.
    • /htdocs/examplecom: alle Medien-Daten (CSS, Bilder, Uploads, …)
  3. Erstellen Sie nun die VirtualEnv-Umgebung, über die Sie Django sowie die von Ihnen benötigten weiteren Python-Pakete verwalten.
    virtualenv ~/priv/venv
    Somit wird im Ordner ~/priv/venv eine neue Python3-Umgebung erstellt.
    • Aktivieren Sie diese VirtualEnv, um damit zu arbeiten:
      source ~/priv/venv/bin/activate
      Ist dies erfolgreich, so ändert sich der Prompt und zeigt dann die aktive VirtualEnv an:
      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
  4. Nachdem Sie Ihre VirtualEnv-Umgebung vorbereitet haben, hinterlegen Sie in Ihrer settings.py Datei die Verbindung zur MySQL-Datenbank. Nutzen Sie in Ihrer settings.py die von Ihnen gewünschten Konfigurationseinstellungen, setzen jedoch das MEDIA_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"))
  5. Abschließend nutzen Sie python manage.py migrate, um Ihre Datenbank mit Inhalten zu füllen.
  6. 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]
  7. Legen Sie im selben Ordner folgende app.wsgi ab:
    import 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()
    Die app.wsgi muss außerdem ausführbar gemacht werden (chmod 0755).
  8. 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.