Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:django_modfastcgi_pyhost

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
linux:django_modfastcgi_pyhost [2013/10/18 20:50] patrickbecklinux:django_modfastcgi_pyhost [2014/03/16 18:08] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== Django installation unter ModFastCGI ======
 +
 +Diese Webpräsenz läuft unter einem Shared-Hosting Account mit ModFastCGI als Apache-Modul. Folgende Konfiguration ist erforderlich (angepasst auf mein eigenes Django-Projekt).
 +
 +===== Django und Module =====
 +
 +Die Installation von Django geschah Lokal für meinen Nutzer. Dazu habe ich das aktuelle Release-Archiv von Django in mein Nutzerverzeichnis (/home/pbeck) entpackt. Alle für das Projekt benötigten Module können dort ebenfalls entpackt werden. Bei meinem Projekt war das Beispielsweise Markdown um kein HTML anwenden zu müssen und xmpp (damit Neuigkeiten direkt per Jabber empfangen werden können).
 +   
 +
 +===== Apache =====
 + 
 +**vhost/epydial.yourse.de**
 +
 +<code>
 +ServerAlias epydial.yourse.de
 +       Alias /media/ /home/pbeck/django/contrib/admin/media/
 +       Alias /site_media/ /home/pbeck/epydial/templates/site_media/
 +       Alias /images/ /home/pbeck/epydial/templates/site_media/images/
 +       ScriptAlias / /var/www/pbeck/bin/epydial.fcgi/
 +
 +### Logging ###
 +ErrorLog /var/www/pbeck/log/error_django_yourse_de.log
 +LogFormat "%h %l %u %t \"%r\" %>s %b" common
 +CustomLog /var/www/pbeck/log/access_django_yourse_de.log common
 +</code>
 +
 +Durch die Alias-Verweise wird die Auslieferung von statischen Dokumenten vollkommen dem Apachen überlassen (wie auch empfohlen). Die Document-Serv-Methode innerhalb der urls.py gilt als ineffizent und unsicher.
 +
 +Zum Ausführen der Applikation ist eine Scriptdatei innerhalb von bin/ nötig die folgenden Inhalt besitzt. Eine separate Datei wird für jedes Webprojekt benötigt. 
 +
 +**bin/epydial.fcgi**
 +
 +<code>
 +#!/usr/bin/python
 +import sys, os
 +
 +# Add a custom Python path.
 +sys.path.insert(0, "/home/pbeck/")
 +sys.path.insert(0, "/home/pbeck/epydial")
 +
 +# Switch to the directory of your project. (Optional.)
 +os.chdir("/home/pbeck/epydial")
 +
 +# Set the DJANGO_SETTINGS_MODULE environment variable.
 +os.environ['DJANGO_SETTINGS_MODULE'] = "epydial.settings"
 +
 +from django.core.servers.fastcgi import runfastcgi
 +runfastcgi(method="threaded", daemonize="false")
 +</code>
 +
 +====== Projekt-Konfiguration für den Server ======
 +
 +**urls.py anpassungen**
 +
 +'django.views.static.serve' - Methoden auskommentieren und Apache die Auslieferung statischer Inhalte überlassen (siehe oben).
 +
 +**settings.py anpassungen**
 +
 +Die Folgenden Variablen mit # auskommentieren. Aktiviert die Fehlerseiten 404.html und 500.html im Template-Verzeichnis.
 +
 +#DEBUG = True\\ 
 +#TEMPLATE_DEBUG = DEBUG
 +
 +Folgende Variablen an die Serverkonfiguration anpassen.
 +
 +  * MEDIA_ROOT
 +  * MEDIA_URL, 
 +  * ADMIN_MEDIA_PREFIX 
 +
 +Als letzte Änderung ist im Admininterface noch unter **Sites >> Webseiten** der Domainname anzupassen, damit alle Links auf das richtige Ziel verweisen.
 +