Debian JDownloader: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 16: | Zeile 16: | ||
apt-get install xfwm4 | apt-get install xfwm4 | ||
Java: | Java: | ||
apt-get install sun-java6- | vi /etc/apt/sources.list | ||
Die folgende Zeile sollte um den Eintrag “non-free” ergänzt werden. | |||
deb http://ftp.at.debian.org/debian/ squeeze main | |||
geändert in: | |||
deb http://ftp.at.debian.org/debian/ squeeze main non-free | |||
apt-get update | |||
apt-get install sun-java6-bin sun-java6-jre | |||
VNC-Server: | VNC-Server: | ||
apt-get install vnc4server | apt-get install vnc4server xterm | ||
VNC-Server unter User jdownloader starten: | VNC-Server unter User jdownloader starten: | ||
Zeile 26: | Zeile 37: | ||
VNC-Server wieder beenden. | VNC-Server wieder beenden. | ||
su jdownloader -c "vncserver -kill :1" | su jdownloader -c "vncserver -kill :1" | ||
{{Hinweis| | |||
Das Password für den VNC-Zugriff kann jederzeit geändert werden: | |||
su jdownloader -c "vncpasswd"}} | |||
Zeile 40: | Zeile 55: | ||
VNC-Server starten: | VNC-Server starten: | ||
su jdownloader -c "vncserver :1" | su jdownloader -c "vncserver :1" | ||
Bei Bedarf kann das VNC Fenster an die Monitorauflösung angepasst werden. | |||
su jdownloader -c "vncserver :1 -geometry 1920x1200 -depth 24" | |||
'''Unter Windows/Linux auf dem Remote-PC den VNC-Viewer starten.''' | '''Unter Windows/Linux auf dem Remote-PC den VNC-Viewer starten.''' | ||
Zeile 47: | Zeile 66: | ||
* Die Frage zur Firefox-Integration mit Button "Abbrechen" beantworten | * Die Frage zur Firefox-Integration mit Button "Abbrechen" beantworten | ||
* Anschließend erscheint das Hauptfenster von JDownloader | * Anschließend erscheint das Hauptfenster von JDownloader | ||
==Konfiguration== | ==Konfiguration== | ||
Zeile 71: | Zeile 89: | ||
vi /etc/init.d/jdownloader | vi /etc/init.d/jdownloader | ||
Folgende Zeilen einfügen: | Folgende Zeilen einfügen: | ||
#! /bin/ | #! /bin/bash | ||
### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
# Provides: jdownloader | # Provides: jdownloader | ||
Zeile 103: | Zeile 121: | ||
if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] | if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] | ||
then | then | ||
echo "Jdownloader is already running!" | if [ -n "`ps aux|grep jd.sh|grep -v grep`" ] | ||
then | |||
echo "Jdownloader is already running!" | |||
else | |||
echo "Corrupt $DESC found. Restarting $DESC: $NAME on display $DISPID" | |||
su $JD_USER -c "vncserver -kill :$DISPID" | |||
su $JD_USER -c "vncserver -name $NAME :$DISPID" | |||
fi | |||
else | else | ||
echo "Starting $DESC: $NAME on display $DISPID" | echo "Starting $DESC: $NAME on display $DISPID" | ||
Zeile 162: | Zeile 187: | ||
Analog [[Debian_Apache_Virtualhost_und_Proxy#HTTPS_Reverse_Proxy_fuer_HTTP_Zielserver|der Anleitung]] wird ein Apache Virtualhost als Reverse Proxy für JDownloader eingerichtet: | Analog [[Debian_Apache_Virtualhost_und_Proxy#HTTPS_Reverse_Proxy_fuer_HTTP_Zielserver|der Anleitung]] wird ein Apache Virtualhost als Reverse Proxy für JDownloader eingerichtet: | ||
vi jdownloader_https.conf | vi jdownloader_https.conf | ||
* Apache2.2: | |||
Folgende Zeilen einfügen(Servername '''''jdownloader.domain.org''''' und '''''IP_DES_SERVER''''' anpassen): | Folgende Zeilen einfügen(Servername '''''jdownloader.domain.org''''' und '''''IP_DES_SERVER''''' anpassen): | ||
<VirtualHost *:443> | <VirtualHost *:443> | ||
Zeile 170: | Zeile 197: | ||
Order allow,deny | Order allow,deny | ||
Allow from all | Allow from all | ||
</Proxy> | |||
SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem | |||
SSLEngine on | |||
SSLProxyEngine On | |||
ProxyPass / http://'''''IP_DES_SERVER''''':8765/ | |||
<Location /> | |||
ProxyPassReverse / | |||
</Location> | |||
</VirtualHost> | |||
Apache2 neu starten: | |||
/etc/init.d/apache2 restart | |||
* Apache2.4: | |||
Folgende Zeilen einfügen(Servername '''''jdownloader.domain.org''''' und '''''IP_DES_SERVER''''' anpassen): | |||
<VirtualHost *:443> | |||
ServerName '''''jdownloader.domain.org''''' | |||
ProxyRequests Off | |||
<Proxy *> | |||
Require all granted | |||
</Proxy> | </Proxy> | ||
Zeile 214: | Zeile 264: | ||
Löschen originales Webinterface: | Löschen originales Webinterface: | ||
rm /home/jdownloader/.jd/plugins/JDWebinterface.jar | rm /home/jdownloader/.jd/plugins/JDWebinterface.jar | ||
JDownloader neu starten: | |||
/etc/init.d/jdownloader restart | |||
===Externes Interface aktivieren=== | ===Externes Interface aktivieren=== |
Aktuelle Version vom 7. Februar 2016, 21:13 Uhr
Einleitung
JDownloader ist ein Downloadmanager für Rapidshare und Co. Aber auch FTP- und HTTP-Downloads stellen für JDownloader kein Problem dar. JDownloader basiert auf JAVA und stellt eine Graphische Oberfläche für die Bedienung bereit. Dies ist für die Anwendung auf einem Server eher ungünstig. Anstatt eines kompletten Desktops, reicht ein Windowmanager und VNC-Server aus, um die Graphsche Oberfläche auf einem Remote-PC per VNC zur Verfügung zu stellen. Weiterhin kann eine Weboberfläche als Plugin aktiviert werden.
Voraussetzung: VNC-Viewer auf dem Remote-PC (nicht Server) ist installiert. Dies ist nicht Teil dieser Anleitung.
User anlegen
Der JDownloader soll aus Sicherheitsgründen unter User-Rechten laufen, anstatt root. Zu diesem Zweck wird der User jdownloader angelegt:
adduser jdownloader
Installation
Installation von Java und VNC
Falls kein Desktop auf dem Server installiert ist, ist ein Windowmanager nötig, der für die Ausgabe der JDownloader Bedienoberfläche sorgt. Nur nötig, falls kein Desktop installiert ist:
apt-get install xfwm4
Java:
vi /etc/apt/sources.list
Die folgende Zeile sollte um den Eintrag “non-free” ergänzt werden.
deb http://ftp.at.debian.org/debian/ squeeze main
geändert in:
deb http://ftp.at.debian.org/debian/ squeeze main non-free apt-get update
apt-get install sun-java6-bin sun-java6-jre
VNC-Server:
apt-get install vnc4server xterm
VNC-Server unter User jdownloader starten:
su jdownloader -c "vncserver :1"
Es wird nach einem Passwort für den Remotezugriff via VNC gefragt. Das gewünschte Passwort zweimal eingeben.
VNC-Server wieder beenden.
su jdownloader -c "vncserver -kill :1"
Hinweis: | |
Das Password für den VNC-Zugriff kann jederzeit geändert werden: su jdownloader -c "vncpasswd" |
Installation JDownloader
Für JDownloader ist zwar kein Debian Paket verfügbar. Allerdings existiert ein relativ einfaches Donwloadscript:
mkdir /home/jdownloader/jd cd /home/jdownloader/jd wget http://212.117.163.148/jd.sh chmod +x jd.sh
Downloadscript automatisch mit VNC-Server starten:
vi /home/jdownloader/.vnc/xstartup
Ans Ende folgende Zeile anhängen:
/home/jdownloader/jd/jd.sh
VNC-Server starten:
su jdownloader -c "vncserver :1"
Bei Bedarf kann das VNC Fenster an die Monitorauflösung angepasst werden.
su jdownloader -c "vncserver :1 -geometry 1920x1200 -depth 24"
Unter Windows/Linux auf dem Remote-PC den VNC-Viewer starten.
- Als Server-Adresse: IP_Des_Server:5901 eingeben.
- Es sollte nun ein X-Window Fenster erscheinen, in dem das Download-Script JDownloader downloadet und einrichtet.
- Nach dem Download die gewünschte Sprache auswählen: Deutsch und OK anklicken
- Die Frage zur Firefox-Integration mit Button "Abbrechen" beantworten
- Anschließend erscheint das Hauptfenster von JDownloader
Konfiguration
- VNC-Viewer starten, falls dieser nicht mehr laufen sollte, und als Adresse IP_Des_Server:5901 eingeben.
- Den Reiter Einstellungen anwählen
- Im linken Baum Download & Verbindungen auswählen
- Evtl. das Downloadverzeichnis anpassen
- Plugins&Addons/Erweiterungen anklicken
- Den Haken vor Webinterface aktivieren
- Unter Plugins&Addons/Erweiterungen/Webinterface evtl. den Port (Standard: 8765), auf dem das Webinterface lauscht anpassen und Username und Passwort vergeben.
- Evtl. im Bereich Module/Reconnect das Routermodell konfigurieren, damit JDownloader automatisch die Internetverbindung trennen und wiederherstellen kann, um eine neue IP-Adresse zu erhalten
Funktionstest
Webbrowser öffnen und als Adresse: http://IP_des_Servers:Port eingeben. Username und Passwort eingeben. Das JDownloader Webinterface sollte angezeigt werden.
Startscript
Damit der VNC-Server inclusive JDownloader beim Start des Servers automatisch mitgestartet wird, muß noch ein Startscript angelegt werden. Dieses Script stammt von: http://service.jdownloader.net/old/wiki.jdownloader.org/indexd69d.html?title=Running_On_A_Headless_Linux_Server
vi /etc/init.d/jdownloader
Folgende Zeilen einfügen:
#! /bin/bash ### BEGIN INIT INFO # Provides: jdownloader # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network $syslog # Should-Stop: $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop jdownloader # Description: Start/stop JDownloader a Downloadmanager ### END INIT INFO #The user that will run JDownloader JD_USER=jdownloader #Name of the session NAME=jdownloader-VNC #executable files in the following paths that are perhaps needed by the script PATH=/bin:/usr/bin:/sbin:/usr/sbin #Description DESC="JDownload VNC Session" #VNC Display ID DISPID="1" case "$1" in start) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then if [ -n "`ps aux|grep jd.sh|grep -v grep`" ] then echo "Jdownloader is already running!" else echo "Corrupt $DESC found. Restarting $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -kill :$DISPID" su $JD_USER -c "vncserver -name $NAME :$DISPID" fi else echo "Starting $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -name $NAME :$DISPID" fi ;; stop) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo -n "Stopping $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -kill :$DISPID" echo " ... done." else echo "Coulnd't find a running $DESC" fi ;; restart) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo -n "Stopping $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -kill :$DISPID" echo " ... done." else echo "Coulnd't find a running $DESC on display $DISPID" fi echo "Starting $DESC: $NAME on display $DISPID" su $JD_USER -c "vncserver -name $NAME :$DISPID" echo " ... done." ;; status) if [ `su $JD_USER -c " ls /home/$JD_USER/.vnc/|grep :'$DISPID'.pid"` ] then echo "JDownloader is RUNNING on display $DISPID" else echo "JDownloader is DOWN on display $DISPID" fi ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit 0
Script ausführbar machen:
chmod +x /etc/init.d/jdownloader
Script beim Systemstart ausführen:
update-rc.d jdownloader defaults
Optional: Jdownloader als Virtualhost in Apache
Mittels Virtualhost/Reverse Proxy ist es möglich, das JDownloader Webinterface aus dem Internet per https-Verschlüsselung zu betreiben. Die Adresse könnte dann z.B. lauten: https://jdownloader.domain.org.
Voraussetzung: → Apache2
Analog der Anleitung wird ein Apache Virtualhost als Reverse Proxy für JDownloader eingerichtet:
vi jdownloader_https.conf
- Apache2.2:
Folgende Zeilen einfügen(Servername jdownloader.domain.org und IP_DES_SERVER anpassen):
<VirtualHost *:443> ServerName jdownloader.domain.org ProxyRequests Off <Proxy *> Order allow,deny Allow from all </Proxy> SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem SSLEngine on SSLProxyEngine On ProxyPass / http://IP_DES_SERVER:8765/ <Location /> ProxyPassReverse / </Location> </VirtualHost>
Apache2 neu starten:
/etc/init.d/apache2 restart
- Apache2.4:
Folgende Zeilen einfügen(Servername jdownloader.domain.org und IP_DES_SERVER anpassen):
<VirtualHost *:443> ServerName jdownloader.domain.org ProxyRequests Off <Proxy *> Require all granted </Proxy> SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem SSLEngine on SSLProxyEngine On ProxyPass / http://IP_DES_SERVER:8765/ <Location /> ProxyPassReverse / </Location> </VirtualHost>
Apache2 neu starten:
/etc/init.d/apache2 restart
Hinweis: | |
Es sollte unbendingt ein anderer Username und vor allem ein sicheres Passwort verwendet werden, wenn JDownloader aus dem Internet erreichbar ist. |
Optional: Mozilla Firefox Integration
Es besteht die Möglichkeit, dass Downloads direkt von Firefox an JDownloader übergeben werden. Dies geschieht über das JDownloader Addon "Externes Interface" und das Firefox Addon "Flashgot".
Umstellen auf Nightly Build
Die aktuelle Final-Version von JDownloader unterstütz leider (noch) nicht die Übergabe von Downloads von einem entfernten PC (Remote). Die Schnittstelle lauscht nur auf dem lokalen PC. Im Falle unseres Servers bringt dies natürlich nichts.
Die Nightly Build Version bietet die Möglichkeit, dass das "externe Interface" auch Remote- Anfragen bearbeitet.
- VNC-Viewer starten, falls dieser nicht mehr laufen sollte, und als Adresse IP_Des_Server:5901 eingeben.
- JDownloader beenden (Menü Datei/Beenden)
- Im Terminalfenster (in der VNC-Sitzung) eingeben:
java -jar /home/jdownloader/.jd/jdupdate.jar -branch NIGHTLY
Dadurch wird JDownloader komplett auf das letzte Nightly Build umgestellt und am Ende neu gestartet.
Workaround für Webinterface
Falls das Webinterface nach dem Umstellen auf Nightly-Version bzw. nach einem Update nicht mehr funktionieren sollte liegt dies höchstwahrscheinlich an einem geänderten Filenamen des Webinterface Plugins. Nach dem Update sind dann zwei Files mit dem Webinterface vorhanden - das Originale (JDWebinterface.jar) und das Neue (JDwebinterface.jar). Diese Diskrepanz führt dazu, dass gar kein Webinterface zur Verfügung steht. Die Lösung ist relativ simpel: Löschen des Originalen Plugins. Dann wird das neue verwendet und funktioniert tadellos.
Löschen originales Webinterface:
rm /home/jdownloader/.jd/plugins/JDWebinterface.jar
JDownloader neu starten:
/etc/init.d/jdownloader restart
Externes Interface aktivieren
- VNC-Viewer starten, falls dieser nicht mehr laufen sollte, und als Adresse IP_Des_Server:5901 eingeben.
- In Jdownloader den Punkt Einstellungen aktivieren
- Plugins&Addons/Erweiterungen anklicken
- Externes Interface aktiveren (Haken setzen), falls noch nicht der Fall
- Im linken Navigationsbaum Externes Interface anklicken
- Den Haken bei Listen only on localhost entfernen, damit JDownloader Remote Anfragen entgegennimmt
Installation und Konfiguration lokaler PC
Damit Flashgot die Aktivierung des remote JDownloader erlaubt, ist ein kleiner "Trick" erforderlich. Eine Möglichkeit bestünde darin, den JDownloader auf dem lokalen PC zu installieren, es geht aber auch einfacher. Es reicht, auf dem lokalen PC eine Dummy "JDownloader.jar" Datei anzulegen.
Dummy-Datei unter Windows:
leere Datei mit Namen z.B. C:\JDownloader.jar erstellen
Dummy-Datei unter Linux:
touch /home/user/JDownloader.jar
- Firefox starten und Addon Flashgot installieren, falls dies noch nicht installiert ist.
- Evtl. Firefox neu starten, damit das Addon aktiviert wird
- In Firefox die Adresse about:config eingeben und die Sicherheitsabfrage bestätigen.
- Als Filter JDownloader eingeben
- Den Eintrag flashgot.dmsopts.JDownloader.url doppelklicken
- Die Url abändern in: http://IP_DES_Server:9666/flashgot und mit OK bestätigen
- Den Eintrag flashgot.dmsopts.JDownloader.path doppelklicken
- Pfad zur Dummy "JDownloader.jar" (C:\JDownloader.jar bzw. /home/user/JDownloader.jar) und mit OK bestätigen
- Flashgot Einstellungen (Menü Extras/Flashgot/Weitere Einstellungen...) öffnen
- Im Reiter Allgemein den Download-Manager JDownloader auswählen.
- Falls Jdownloader nicht anwählbar (grau) sein sollte, dann Reiter Erweitert anwählen und Button Jetzt suchen anklicken. Anschließend sollte JDownloader im Reiter Allgemein auswählbar sein.
- Im Reiter Allgemein den Haken vor Bestätigungsabfragen überspringen bei setzen.
- Die Änderungen mit Button OK übernehmen.
- Nun ist JDownloader und Firefox/Flashgot bereit, um Downloads direkt aus Firefox an JDownloader auf dem entfernten Server zu übergeben.