Menu:

detaillierte Installationsanleitung

(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.

Direkter Shell-Zugang zum Server

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.)

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Lieblingseditor
EDITOR=vi



# document root des Webservers - anpassen!
DOCROOT=/var/www/


# Zwichenspeicher
TMPDIR=/tmp

(Ein einfacherer Editor als VI ist z.B. nano oder Joe )

Runterladen und Entpacken der aktuellen Version

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:

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#zum Zwischenspeicher wechseln
cd $TMPDIR



# PyLucid runterladen
wget http://heanet.dl.sourceforge.net/sourceforge/pylucid/PyLucid_vXXX_full.tar.bz2



# Entpacken
tar xfvj PyLucid_vXXX_full.tar.bz2


# Dateien ins document root kopieren
cp -r PyLucid_vXXX_full/pylucid/* $DOCROOT
cp PyLucid_vXXX_full/pylucid/.htaccess $DOCROOT

(Die drei XXX im Dateinamen mit der aktuellen Versionnummer ersetzten ;)

Datenbank einrichten

SQLite

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

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 durch einen vernünftigen Namen zu ersetzen. Müssen Sie die Datenbank zum Beispiel per Web-GUI anlegen, vergessen Sie nicht UTF-8 als Zeichensatz einzustellen.

SQL
1
CREATE DATABASE <dbname> CHARACTER SET utf8;

MySQLdb Modul

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

Andere Datenbanken

Django kann mit einigen Datenbanken zusammen arbeiten. siehe:

PyLucid-Einstellungen anpassen

settings.py erstellen

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:

Bash
1
2
cp $DOCROOT/PyLucid/settings_example.py $DOCROOT/PyLucid/settings.py
$EDITOR $DOCROOT/PyLucid/settings.py

Datenbank Einstellungen

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.

Python
1
2
3
4
5
6
7
# Database connection info.
DATABASE_ENGINE = 'sqlite3' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'PyLucid.db3' # Or path to database file if using sqlite3.
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.

SECRET_KEY setzten

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)

Python
1
2
3
4
5
# A secret key for this particular Django installation. Used in secret-key
# hashing algorithms. Set this in your settings, or Django will complain
# loudly.
# Make this unique, and don't share it with anybody.
SECRET_KEY = ''

Pfade anpassen

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.

sonstige settings.py Einstellungen

Es gibt noch einige andere Einstellungen in der settings.py Datei, diese sind recht gut Dokumentiert. Eine weitere Anlaufstelle ist die django Dokumentation:

Konfiguration des Webservers

.htaccess anpassen

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.

Bash
1
$EDITOR $DOCROOT/.htaccess

i.d.R. reichen folgende Änderungen aus:

unknown type
# Enable execution of CGI scripts using mod_cgi
# http://httpd.apache.org/docs/2.0/mod/core.html#options
Options +ExecCGI
unknown type
# http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addhandler
AddHandler cgi-script .cgi

Probleme mit .htaccess Einstellungen

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:

Inbetriebnahme

INSTALL_PASS_HASH erstellen

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:

Python
1
2
3
4
5
6
7
#_____________________________________________________________________________
# _INSTALL SECTION


# Install Password to login into the _install section.
ENABLE_INSTALL_SECTION = True
INSTALL_PASS_HASH = "sha1$81111$0c00006200009e0000cb9610bf070a9e860000"

_install Login

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.

Web Installation

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:

Sicherheit

deaktivieren der _install Sektion

Nach der Installation, schalten Sie die Installationsseiten ab, indem Sie ENABLE_INSTALL_SECTION auf False setzen. Der Password Hash kann eingetragen bleiben:

Python
1
2
3
4
5
6
7
#_____________________________________________________________________________
# _INSTALL SECTION


# Install Password to login into the _install section.
ENABLE_INSTALL_SECTION = False
INSTALL_PASSWORD_HASH = "sha1$81111$0c00006200009e0000cb9610bf070a9e860000"

direkt Zugriff schützen

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.

DEBUG ausschalten

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.

Email bei ADMINS eintragen

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.

Backup

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.

Probleme?

Bei Problemen aller Art, schreiben Sie bitte einen neuen Thread im unserem Forum ! Wir helfen gern...

...noch was

Bitte sieht dir auch die Seiten important security instructions und some advanced setup steps an.