Eine kleine stromsparende Appliance eignet sich hervorragend, um massenhaft Daten aus dem Internet herunterzuladen - beispielsweise um eine lokale Sicherheitskopie des Internets anzufertigen. :-)
{{ :projekte:DownloadStation.jpg?200|WebGUI von JDownloader}}
Dieser Artikel ist eine überarbeitete Version der [[projekte:futro_s300_download-appliance|vorherigen Download-Appliance]].
======Hardware======
Als Hardware dient ein PCEngines ALIX.1D - Detailinfos zur Hardware finden sich [[computer:hardware:alix_1d|hier]].
=====BIOS-Einstellungen=====
Ich habe die folgenden Anpassungen im BIOS vorgenommen, um Unnützes zu deaktivieren und noch ein wenig Strom zu sparen:
* Standard CMOS Features
* Halt on [No errors]
* First Boot [Hard Disk]
* Second Boot [None]
* Third Boot [None]
* Other Boot [None]
* Advanced Chipset Features
* OnBoard Audio [Disable]
* PNP PCI Configurations
* PNP OS Installed [Yes]
* Init Display First [OnBoard]
======Software======
Als Software wird ein abgesprecktes Debian GNU/Linux Squeeze i386 verwendet.
=====Betriebssystem=====
Bei der Installation von Debian Linux werden lediglich bei beiden Rollen **SSH-Server** und **Standard-Systemwerkzeuge** ausgewählt - das spart Ressourcen und Performance, da keine nicht benötigte Software installiert wird.
=====Anpassungen=====
====Festplatte====
Für die Downloads wird eine angeschlossene externe Festplatte partioniert, formatiert und eingebunden:
# mkfs.ext4 /dev/sdb1
...
# blkid | grep sdb1
/dev/sdb1: UUID="57c36b36-5380-4b64-8a92-bc44884fa706" TYPE="ext4"
# vim /etc/fstab
...
UUID=57c... /mnt/dls ext4 defaults,auto 0 0
...
# mount -a
# mkdir /mnt/dls/data
====ntp====
Damit die Uhrzeit immer korrekt ist, wird sie mit einem NTP-Server abgegelichen:
# apt-get install ntp
# mv /etc/ntp.conf /etc/ntp.conf.old
# vim /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
server IP
...
# service ntp restart
====Java====
Da JDownloader auf Java basiert, benötigt es das Java Runtime Environment um funktionsfähig zu sein:
# apt-get install default-jre
...
Es müssen 35,5 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 96,2 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? J
====FTP====
Die getätigten Downloads können später komfortabel mittels FTP verschoben werden:
# apt-get install vsftpd
...
# vim /etc/vsftpd.conf
...
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
...
# service vsftpd restart
====Tightvnc====
JDownloader benötigt eine grafische Oberfläche. Ein vollständiger X-Server ist allerdings nicht zwingend erforderlich - eine im Hintergrund laufende VNC-Sitzung genügt ebenfalls und bietet den netten Vorteil, das System von fern verwenden zu können (beispielsweise um einen Captcha-Code einzugeben). Hierfür wird Tightvnc installiert:
# apt-get install tightvncserver
...
Es müssen 7.990 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 12,4 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? J
====Tools====
Einige Tools sind für den Betrieb von JDownloader hilfreich und fast schon unerlässlich - beispielsweise ein Webbrowser, um Links direkt an JDownloader zu senden. Ein Fenstermanager sorgt dafür, dass das JDownloader-Fenster auch maximimiert werden kann.
# apt-get install xterm openbox unzip iceweasel
...
Es müssen 25,3 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 75,6 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? J
====User====
Für JDownloader wird ein Serviceuser angelegt - mit diesem Benutzerkonto werden später auch erfolgreiche Downloads übertragen und die Software über VNC ferngesteuert.
# useradd -c "JDownloader" -d /home/su-download -m -s /bin/bash -U su-download
# passwd su-download
# ln -s /mnt/dls/data /home/su-download/downloads
# chown su-download:su-download /mnt/dls/data
# su su-download
$ vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth: creating new authority file /home/su-download/.Xauthority
New 'X' desktop is myhostname:1
Creating default startup script /home/su-download/.vnc/xstartup
Starting applications specified in /home/su-download/.vnc/xstartup
Log file is /home/su-download/.vnc/st-download:1.log
====JDownloader====
Nach erfolgtem Login über VNC wird mit einem Rechtsklick und Klick auf "Xterm" ein Terminal geöffnet. JDownloader wird jetzt heruntergeladen, entpackt und ausgeführt:
# wget http://94.23.204.158/JDownloader.zip
# unzip JDownloader.zip
...
# java -jar JDownloader/JDownloader.jar
...
Der Link hat sich ggf. geändert. Es empfiehlt sich auf der Projektseite http://www.jdownloader.org vorbeizuschauen und das aktuelle "MultiOS ZIP" für Linux herunterzuladen.
Bei der Installation habe ich folgende Anpassungen vorgenommen:
Anpassungen:
* Downloadverzeichnis: **/home/su-download/downloads** (das oben beschriebene Verzeichnis auf der externen Festplatte)
* FlashGot: **ja**
Nach gestartetem JDownloader empfiehlt es sich einige Einstellungen anzupassen, um die Performance zu erhöhen und den Fernzugriff über einen Webbrowser zu ermöglichen.
Einstellungen:
* Grundlagen
* Allgemein
* ChangeLog nach dem Update öffnen: **nein**
* Benutzeroberfläche
* Splashscreen beim Start anzeigen: **nein**
* Erweitert
* Graphischen SpeedMeter anzeigen: **nein**
* Plugins & Addons
* Erweiterungen
* Webinterface: **ja**
* Webinterface-Einstellungen
* AutoRefresh: **nein**
* Port: **8080**
* Authentifikation benötigt: **ja**
* Login Name: ...
* Login Passwort: ...
Nach Übernahme der Einstellungen wird JDownloader neugestartet. In diesem Zuge kann mit der WebUpdate-Funktion die Software auch aktualisiert werden.
Die Weboberfläche sollte nun über einen Browser des gleichen Netzsegments eingesehen werden können.
====Autostart====
Als netten Tweak kann JDownloader in den Autorun von Tightvnc aufgenommen werden. Beim Starten einer Verbindung zum Host wird dann die Software automatisch gestartet. Ferner kann der VNC-Server beim Booten des ALIX automatisch gestartet werden, sodass lediglich eine VNC-Sitzung hergestellt werden muss, um Downloads aufzunehmen.
# vim /etc/rc.local
...
/bin/su su-download -c "vncserver"
...
exit 0
# vim ~/.vnc/xstartup
...
openbox &
xterm -e "java -jar /home/su-download/JDownloader/JDownloader.jar"
...
/etc/X11/Xsession