(Für PyLucid v0.8.5)
Diese Anleitung beschreibt eine mögliche Vorgehensweise der Installation von PyLucid.
Alle Varianten gehen davon aus, dass PyLucid im Hauptverzeichnis des Webservers (document root) installiert wird.
Wer die Möglichkeit hat direkt auf die Shell seines Servers zuzugreifen, sollte diese Nutzen. Viele Schritte der Installationsanleitung können dann direkt von hier per Copy und Paste ausgeführt werden oder bedürfen nur geringer Anpassung an die eigene Umgebung.
Bauen Sie dafür zuerst einmal eine Verbindung zum Server auf.
(Zum Beispiel direkt per SSH unter Linux/*unix oder mithilfe von Putty unter Windows.)
Durch die folgenden Zeilen werden einige Shell-Variablen gesetzt, die die spätere Arbeit erleichtern.
(Passen Sie die Werte ggf. an.)
(Ein einfacherer Editor als VI ist z.B. nano oder Joe )
Die jeweils aktuelle Version steht auf SourceForge.net zur Verfügung.
http://sourceforge.net/projects/pylucid/
Laden Sie das gepackte Archiv herunter und entpacken Sie es auf Ihrem Rechner.
Mithilfe eines FTP-Clients kopieren Sie nun das Verzeichnis pylucid in das Hautpverzeichnis des Webservers. (Achtung, mit pylucid-Verzeichnis ist nicht das entpackte Hauptverzeichnis, sonder das Verzeichnis "pylucid" unterhalb dieses Ordners gemeint.)
Mit Shell-Zugang kann das Archiv direkt auf dem Server heruntergeladen und dort entpackt werden:
(Die drei XXX im Dateinamen mit der aktuellen Versionnummer ersetzten ;)
SQLite muss nicht speziell eingerichtet werden. Bei Python v2.4 muß allerdings das Python Modul pysqlite installiert sein. Ab Python v2.5 ist das in der Standardbibliothek vorhanden.
MySQL ist bei vielen Webhostingangeboten inklusive. Außerdem machen viele Hoster davon automatisch Sicherungen oder man kann über phpMyAdmin leicht selber Backups anlegen.
Der MySQL Server sollte am besten in der Version v4.1 oder höher vorhanden sein, siehe auch: djangoproject.com/documentation/databases/
PyLucid braucht eine eigene Datenbank. Den Namen können Sie frei wählen, er wird später in die Konfigurationsdatei von PyLucid eingetragen.
Wenn Sie eine Möglichkeit haben SQL-Anweisungen auszuführen (z.B. in phpMyAdmin ), können Sie das unten angegebene Statement verwenden. Denken Sie daran
Wenn MySQL verwendet werden soll, wird das Python Modul MySQLdb verwendet. Wichtig ist, das es keine all zu alte Version ist.
Die django Entwickler setzten MySQLdb in v1.2.1p2 voraus, damit alles voll funktioniert. Es gibt allerdings auch noch das sog. mysql_old backend, welches mit v1.2.0 funktioniert.
Das django mysql_old Modul funktioniert aber anscheinend nicht in allen Fällen einwandfrei, siehe:
Mehr informationen zum Thema MySQLdb findest du unter wiki.python.de/MySQLdb_troubleshooting
Django kann mit einigen Datenbanken zusammen arbeiten. siehe:
Alle Einstellungen für PyLucid werden zentral in der settings.py vorgenommen. Ein Gerüst für diese Datei liegt bereits im PyLucid-Verzeichnis, welches wiederum im Hauptverzeichnis Ihres Webservers liegt.
Kopieren Sie einfach die Beispieldatei, um Ihre Einstellungen vorzunehmen.
Auf der Shell reicht ein einfaches:
Im Abschnitt "Database connection info" müssen die Angaben zur Datenbank gemacht werden. Wenn Sie SQL-Lite verwenden möchten, sind keine Änderungen notwendig. Für andere Datenbanksysteme müssen die Variablen entsprechend angepasst werden.
Unter anderem für Hash-Berechnungen verwendet django und PyLucid einen zusätzlichen Schlüssel. Geben Sie eine möglichst zufällige Zeichenkette ein. Sie dürfen die Zeichenkette später nicht ändern! Bewahren Sie den Schlüssel auf, er könnte später benötigt werden, wenn Sie Ihre Homepage zum Beispiel nach einem Festplattendefekt neu Aufsetzen wollen. (Siehe auch Abschnitt Sicherheit)
Wichtig sind die Pfad angaben zu den statischen Dateien (z.B.: "MEDIA_URL" in dem Bereich "STATIC FILES"). Wenn diese nicht richtig sind, kann man die Installation nicht starten.
Es gibt noch einige andere Einstellungen in der settings.py Datei, diese sind recht gut Dokumentiert. Eine weitere Anlaufstelle ist die django Dokumentation:
Für eine einfache Anpassung des Webservers für PyLucid wird die Datei ".htaccess" mitgeliefert. Sie befindet sich Hauptverzeichnis des Webservers.
Der Webserver muss entsprechend konfiguriert sein, damit die Einstellungen des ".htaccess" wirksam werden.
Die ".htaccess"-Datei ist sehr ausführlich Dokumentiert. Deshalb hier nur Beispielhaft die notwendigen Änderungen um PyLucid mit Standard-CGI laufen zu lassen. Dies sollte immer funktionieren, ist aber vergleichsweise langsam. Diese Einstellungen können jederzeit angepasst werden.
i.d.R. reichen folgende Änderungen aus:
Evtl. sind nicht alle Einstellungen in der .htaccess erlaubt. Setzt man eine nicht erlaubte Einstellung, erhält man nur eine "500 Internal Server Error" Fehlermeldung und keine weiteren Informationen über den Fehler.
Oft weiß man nicht welche Einstellungen erlaubt sind und welche nicht. In dem Falle wie folgt vorgehen:
Damit sollte man also testen können, welche Einstellungen erlaubt sind.
Wenn es weiterhin nicht klappt, sollte man mal die Liste hier durchgehen:
Rufen Sie die Installationsseiten von PyLucid auf. Schrägstrich am Ende nicht vergessen!
http(s)://www.domain.tld/_install/
Wenn Sie alle vorhergehenden Schritte richtig ausgeführt haben, werden Sie nun dazu aufgefordert einen Installations-Passwort-Hash zu generieren. (Passwort muß mindestens 8 Zeichen lang sein.)
Ein Password eingeben und auf generieren klicken. Der Passwort-Hash wird dann angezeigt und kann per copy&paste in die settings.py bei "INSTALL_PASS_HASH" eingetragen werden:
Nachdem der Installations-Passwort-Hash in der settings.py eingetragen wurde muß man anschließen die Webseite neu laden. Dabei gelangt man zum eigentlichen Login der _install Sektion.
Nach dem man sich in die _install Sektion eingeloggt hat, kann die eigentliche Installation beginnen.
Dazu müssen im Menu folgende Punkte ausführt werden:
Nach der Installation, schalten Sie die Installationsseiten ab, indem Sie ENABLE_INSTALL_SECTION auf False setzen. Der Password Hash kann eingetragen bleiben:
Sie sollten Testen, ob es dritten möglich ist, Ihre settings.py und ggf. Ihre SQLite-Datenbank anzusehen bzw. herunterzuladen.
http://www.yourdomain.tld/PyLucid/settings.py http://www.yourdomain.tld/PyLucid/PyLucid.db3
Wenn ein Zugriff direkt möglich ist, muß man das auf jeden Fall unterbinden. Möglichkeiten dazu findet man in der .htaccess Datei.
Wichtig ist außerdem DEBUG auszuschalten, wenn alles klappt. Man kann seine eigene IP Adresse unter INTERNAL_IPS eintragen um selber noch debug Meldungen sehen zu können. Das ist allerdings ehr für Entwickler interessant.
Sie sollten im jedem Fall eine gültige EMail Adresse beim settings Punkt ADMINS eintragen! Dann erhalten sie auf diese EMail Adresse Fehler-EMails mit hilfreichen Informationen über interne Fehler. Bitte geben Sie Rückmeldung im unserem Forum darüber.
Für den Fall der Fälle sollten Sie mindestens den "SECRET_KEY" aus der settings.py sichern. Am besten aber direkt die ganze settings.py Datei.
Bei Problemen aller Art, schreiben Sie bitte einen neuen Thread im unserem Forum ! Wir helfen gern...
Bitte sieht dir auch die Seiten important security instructions und some advanced setup steps an.