Ich schreibe diese Anleitung aus dem einfachen Grund, dass die pyLoad Dokumentation für die Debian-Installation eher schlecht daher kommt. Zum Beispiel würde das init-Script den Prozess als root starten. Zwar kann der Prozess mittels der .config einem anderen Benutzer zugewiesen werden, was – bei mir – aber oft nicht richtig funktionierte. Irgendwann startete es einfach nicht mehr.
Zuerst die Paketquellen aktualisieren, gegenenfalls upgraden und sofort die Abhängigkeiten installieren:
apt-get update && apt-get upgrade
apt-get install python-crypto python-imaging python-openssl python-pycurl tesseract-ocr gocr python-django openssl unrar rhino
„python-qt4“ wird nicht benötigt, da pyload ohne GUI laufen wird. Wenn das Paket „unrar“ nicht gefunden wird, dann noch schnell folgendes ausführen, um „non-free“ zu den Repositorys hinzuzufügen und die Paket-Quellen neu einzulesen:
sed -i 's/wheezy main/wheezy main non-free/g' /etc/apt/sources.list && apt-get update
Das CLI-Paket von pyLoad herunterladen und installieren. Bemerkung: „–content-disposition“ speichert die Datei unter dem Namen ab, die sie tatsächlich nach der Umleitung hat. Ohne diesen Parameter, würde sie als „index.html“ gespeichert werden:
wget --content-disposition http://get.pyload.org/get/ubuntu-cli/
dpkg -i pyload-*.deb
Den pyload Benutzer erstellen und ein sicheres Passwort vergeben:
adduser pyload
Nun schnell das INIT-Script ändern, dazu dieses mit einem Editor öffnen, z.B. „nano /etc/init.d/pyload“, anschließend folgenden Inhalt einfügen (kleiner Tipp: in Nano kann mit STRG+K eine ganze Zeile ausgeschnitten werden. Einfach gedrückt halten):
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: pyload
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop pyload.
### END INIT INFO
NAME=pyload
DAEMON=/usr/bin/pyLoadCore
USER=pyload
PIDFILE=/var/run/$NAME.pid
OPTIONS="--daemon"
export PATH="${PATH:+$PATH:}/sbin"
[ -x $DAEMON ] || exit 0
. /lib/lsb/init-functions
start_daemon () {
start-stop-daemon --start --pidfile $PIDFILE --chuid $USER --exec $DAEMON -- $OPTIONS | cut -d" " -f 3 > $PIDFILE
}
stop_daemon () {
start-stop-daemon --stop --retry="TERM/15/KILL/5" --pidfile "$PIDFILE" --user "$USER" --chuid "$USER"
}
case "$1" in
start)
log_daemon_msg "Starting pyLoadCore" "$NAME"
start_daemon
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping pyLoadCore" "$NAME"
stop_daemon
log_end_msg 0
;;
restart)
log_daemon_msg "Restarting pyLoadCore" "$NAME"
stop_daemon
start_daemon
log_end_msg 0
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
exit 2
;;
esac
exit 0
Anpassungen sind nicht notwendig. Die Start- und Stop-Level sind die selben, weshalb das Script einfach ausgetauscht werden kann.
Nun zum Benutzer pyload wechseln und die Konfiguration starten:
su pyload
pyLoadCore -s
Kurze Zusammenfassung der Abfragen mit meinen Antworten und Kommentaren:
Choose your Language / Wähle deine Sprache ([en], de, fr, it, es, nl, sv, ru, pl, cs, sr, pt_BR): de
Wenn du für den System-Check bereit bist, drücke enter. Enter
[…]
PyQt4: fehlt ## Wird nicht benötigt
[…]
Mit Setup fortfahren? ([j]/n): j
Config Pfad ändern? (j/[n]): n
Erstelle Grundeinstellungen? ([j]/n): j
Aktiviere Fernzugriff ([j]/n): n ## Hat nichts mit dem Web-Interface zu tun
Sprache ([en], de, fr, it, es, nl, sv, ru, pl, cs, sr, pt_BR): de
Download Ordner [Downloads]: /opt/Downloads ## Kann auch jeder andere Ordner sein, dieser müsste später aber auch für pyLoad nutzbar gemacht werden: chown pyload:pyload /opt/Downloads
Maximale parallele Downloads [3]: 5
Benutze Reconnect? (j/[n]): n
Konfiguriere SSL? (j/[n]): n ## Führt leider oft zu Problemen. Angeblich zu fixen, indem man den „threaded“ Server unten auswählt.
Konfiguriere Webinterface? ([j]/n): j
Aktiviere Webinterface? ([j]/n): j
Adresse [0.0.0.0]: 0.0.0.0 ## Auf jeder IPv4-Adresse zugänglich sein
Port [8000]: 9009 ## Lieber bei sowas nicht den Standardport benutzen.
Server ([builtin], threaded, fastcgi, lightweight): builtin
Setup erfolgreich beendet.
Bevor die Shell des Benutzers „pyload“ verlassen wird, wird pyLoadCore in der Konsole gestartet:
pyLoadCore
Sobald „*** Plugins have been updated, please restart pyLoad ***“ erscheint, STRG+C drücken und pyLoadCore erneut ausführen. Jetzt erst beginnt das Updaten der Plug-Ins. In der Konsole kann man den Fortschritt besser verfolgen, außerdem sollte vor dem Hinzufügen von Konten (uploaded.to etc.) gewartet werden, bis das Update fertig ist. Wieder erscheint die Aufforderung pyLoad zu beenden, ebenfalls mit STRG+C. Anschließend kann die Konsole verlassen werden und das INIT-Script gestartet werden:
exit
/etc/init.d/pyload start
Jetzt via Browser http://192.168.1.109:9009/ aufrufen und einloggen. Sollte oben rechts tatsächlich noch einmal um einen Neustart gebeten werden, kann der Service schnell neugestartet werden:
/etc/init.d/pyload restart
Alles Weitere ist entweder selbsterklärend oder wird in der pyLoad Dokumentation erklärt.