Informationsportal: News, Fragen & Antworten und Hilfe
Pootle-Installation
Pootle-Installation
Automatische Installation
Pootle kann ganz bequem aus unserem Konfigurationstool installiert werden (Unterpunkt "Software installieren"). Sie müssen nur den gewünschten Ordnernamen angeben.
Manuelle Installation
Folgende Schritte müssen durchgeführt werden um Pootle manuell zu installieren.
- Neuste Pootle-Version herunterladen, entpacken und hochladen. Der Ordnernamen kann nach belieben verändert werden.
- Datenbank-Einstellungen in der localsettings.py vornehmen. SQLite ist als Datenbank in diesem Fall nicht zu empfehlen, da es durchaus zu Problemen mit dem file lock kommen kann. Eine MySQL-Datenbank lässt sich im
Konfigurationstool erzeugen. - Folgendenes Script unter dem Namen pootle.fcgi: in das Pootle-Verzeichnis kopieren. Die Datei muss ausführbar sein (+x für den Besitzer)! Code:
#!/usr/local/bin/python import sys, os # Switch to the directory of your project. (Optional.) os.chdir("/var/kunden/webs/jok/pootle") # Redirect stdout and stderr sys.stdout = file('pootle.fcgi.log', 'a') sys.stderr = sys.stdout # Add a custom Python path. current_directory = os.path.split(__file__)[0] parent_directory = os.path.abspath(os.path.join(current_directory, '..')) sys.path.insert(0, parent_directory) sys.path.insert(0, os.path.join(current_directory, "local_apps")) sys.path.insert(0, os.path.join(current_directory, "external_apps")) # Add a specific django version to the python path sys.path.insert(0, "/var/usersoftware/django-releases/1.3") # Set the DJANGO_SETTINGS_MODULE environment variable. os.environ['DJANGO_SETTINGS_MODULE'] = "pootle.settings" # Watch for changes to this file and kill the server # so that the next request will start it anew import pyinotify as p wm = p.WatchManager() mask = p.IN_MODIFY filename = __file__ class Handler(p.ProcessEvent): def process_IN_MODIFY(self, event): sys.stdout.flush() import signal os.kill(os.getpid(), signal.SIGTERM) notifier = p.ThreadedNotifier(wm, Handler()) notifier.start() wdd = wm.add_watch(filename, mask) from django.core.servers.fastcgi import runfastcgi # debug=True is used by the python fcgi package flup to display proper error messages runfastcgi(method="threaded", daemonize="false", maxspare=1, minspare=1, debug=True)
- Weiterhin muss eine Datei namens .htaccess im Pootle-Verzeichnis mit folgendem Inhalt erstellt werden:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ pootle.fcgi/$1 [QSA,L]
- Rufen Sie nun in Ihrem Webbrowser das Pootle-Verzeichnis auf. Der erste Aufruf braucht etwas länger. Danach sollte Pootle einsatzbereit sein.
Troubleshooting
- Im Pootle-Verzeichnis befindet sich eine Datei namens pootle.fcgi.log, die möglicherweise hilfreich sein kann, wenn Pootle nicht funktioniert. Am besten vorher den Python-Prozess im Prozessmanager (Konfigurationstool) beenden, damit alle Fehlermeldungen im Buffer in die Datei geschrieben werden.
- Es existiert weiterhin ein Account-weiter /logs-Ordner. Speziell die apache-suexec.log kann hilfreich sein, falls die Dateiberechtigungen fehlerhaft sind.