JDownloader headless auf Debian-/Ubuntu-Server installieren (ohne Xvfb oder VNC)

Ich habe mir zu dem Zweck eine VM mit Ubuntu 16.04 installiert, natürlich eine Minimalinstallation. Als erstes sind ein paar Vorbereitungen zu treffen, wie einen dedizierten Nutzer anzulegen:

$ mkdir /opt/jdownloader
$ useradd -M -d /opt/jdownloader -s /bin/bash jdownloader
$ chown -R jdownloader:jdownloader /opt/jdownloader

Jetzt wird Java installiert (Debian-Nutzer können auch die Version 7 installieren, sofern die 8 noch nicht in den Repositories ist):

$ apt-get install openjdk-8-jre-headless

Anschließend brauchen wir den JDownloader. Ladet euch von der Download-Seite die JAR-Datei herunter (Betriebssystemauswahl: Other), und legt es in den Ordner /opt/jdownloader.

Ist das getan, kann der JDownloader das erste Mal gestartet werden. Dabei wird er sich erstmal selbst installieren und nebenbei auf Updates prüfen:

$ su - jdownloader
$ cd /opt/jdownloader
$ java -jar JDownloader.jar

Ist der Lauf durch, sollte sich der Befehl selbst beendet haben – JDownloader läuft jedoch bereits im Hintergrund weiter. Um sicher zu gehen, dass alle Updates korrekt installiert wurden, kann man den letzten Befehl noch einmal ausführen. Anschließend killt man den JDownloader:

$ ps -ef|grep JDownloader jdownlo+ 5417 1 99 13:22 pts/0 00:00:12 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar JDownloader.jar -afterupdate $ kill 5417 weiterlesen

Plex Media Server: Init-Skript

Ich habe mir für den Plex Media Server ein Init-Skript geschrieben, was meine Anforderungen erfüllt. Es ist nicht perfekt, funktioniert aber ziemlich zuverlässig und reicht für meine Belange allemal.

Fehler oder Verbesserungsvorschläge können gern in die Kommentare geschrieben werden.

#!/bin/sh ### BEGIN INIT INFO # Provides: plexmediaserver # Required-Start: $syslog $networking # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Plex Media Server ### END INIT INFO PLEX_BIN_NAME="Plex Media Server" PLEX_START_SCRIPT="/usr/sbin/start_pms" [ -r /etc/default/plexmediaserver ] && . /etc/default/plexmediaserver is_running() { pgrep -f "${PLEX_BIN_NAME}" >/dev/null [ $? -gt 0 ] && return 1 || return 0 } do_start() { if is_running; then echo "Plex Media Server is already running." else echo -n "Start Plex Media Server: " su -l ${PLEX_MEDIA_SERVER_USER} -c "${PLEX_START_SCRIPT} &" >/dev/null 2>&1 echo "done" fi } do_stop() { if ! is_running; then echo "Plex Media Server is not running." else echo -n "Stop Plex Media Server: " for i in $(pgrep -f "Plex Media Server") $(pgrep -f "Plex Plug-in"); do kill ${i} >/dev/null 2>&1 if ps -p ${i} >/dev/null; then sleep 1; kill -9 ${i} >/dev/null 2>&1; fi done echo "done" fi } do_status() { if is_running; then echo "Plex Media Server is running." else echo "Plex Media Server is stopped." fi } case "$1" in start) do_start ;; stop) do_stop ;; restart) do_stop do_start ;; status) do_status ;; *) echo "Usage: ${0} {start|stop|restart|status}" exit 3 ;; esac weiterlesen

Linux-Server: Teamspeak installieren

Hier eine kurze Anleitung um Teamspeak auf einem Linux-Server zu installieren. Diese Anleitung ist für die meisten Distributionen gültig.

Als erstes laden wir die Server-Version von der offiziellen Seite herunter und packen Sie auf den Server und entpacken es unter /opt.

tar -C /opt -xvjf /pfad/zum/archiv/teamspeak3-server_linux_<arch>.tar.bz2

Ich habe das Verzeichnis der Einfachheit halber dann einfach in „teamspeak“ umbenannt.

mv /opt/teamspeak3-server* /opt/teamspeak

Anschließend erstellen wir einen User unter dem es dann laufen soll und übereignen die Daten.

useradd -M -d /opt/teamspeak teamspeak
chown -R teamspeak:teamspeak /opt/teamspeak

Teamspeak bringt von Haus aus ein recht umfangreiches Init-Skript mit. Leider kann in diesem kein User eingestellt werden, unter welchem der Dienst laufen soll, weshalb ich selbst ein minimales Startskript geschrieben habe, das als Wrapper für das vorhandene fungiert. Auf debian-basierten Systemen mit SysV-Init-System würde man also folgendes tun:

wget -O /etc/init.d/teamspeak https://raw.githubusercontent.com/misterunknown/teamspeak/master/teamspeak update-rc.d teamspeak defaults weiterlesen

Debian auf Lenovo U330p installieren

Wenn man Debian oder generell ein Linux-System auf dem Lenovo U330p installieren will, gibt es einige Punkte zu beachten.

Vorbereitungen

Novo-Button
Novo-Button

Es gibt bei Lenovo seit einiger Zeit den sogenannten „Novo“-Button. Beim U330p ist dieser an der linken Seite und ist mit einem Pfeil beschriftet. Wenn man den Computer herunterfährt und diesen Button drückt, kann man unter anderem Einstellungen im BIOS vornehmen. Dort muss folgendes getan werden: weiterlesen

fail2ban: Manuelles Entsperren einer IP

fail2ban Version < 0.8.8

In der aktuellen Debian-Version „Wheezy“ ist noch fail2ban 0.8.6 in den Standard-Repositories. In diesem Fall funktioniert das folgendermaßen:

iptables -nL --line-numbers

Der Befehl iptables zeigt die Firewall-Konfiguration an. Nun müssen wir nach der entsprechenden Chain suchen, die zu fail2ban gehören. Standardmäßig sind die Chains lakonisch benannt. Haben wir die IP gefunden merken wir uns die Zeilennummer (steht ganz vorn). Danach können wir per

iptables -D &lt;Chainname&gt; &lt;Zeilennummer&gt;

die Regel löschen. Beispiel:

# Löscht die Regel mit der Zeilennummer 2 in der Chain fail2ban-ssh
iptables -D fail2ban-ssh 2

 fail2ban Version >= 0.8.8

In Versionen größer gleich 0.8.8 geht es noch einfacher:

fail2ban-client set &lt;Ban-Name&gt; unbanip &lt;IP&gt; weiterlesen

Debian-Server: Plex Media Server installieren

Plex ist ein kostenloser, closed-source Media-Server mit DLNA-Unterstützung, Transcoding und vielen Apps für Smartphones, Smart-TVs etc.

Im privaten Umfeld mag es ausreichen, das Paket zu installieren und loszulegen. Im Server-Umfeld, vielleicht sogar mit direkter Internetverbindung sollte man einige Sachen besser machen. Da die Software nicht quelloffen ist, stellt sie ein besonderes Sicherheitsrisiko dar. Diese Anleitung hält sich an bestimmte Festlegungen, die ich für meine Server getroffen habe, die Ihr natürlich auf eure Umgebungen anpassen könnt. Grundsätzlich gilt: Wer nicht genau weiß, was er tut, sollte einen solchen Server nicht im Internet betreiben.

Vorbereitungen

Als erstes legen wir einen Benutzer an, unter dem die Software dann laufen soll. Standardmäßig läuft Plex mit Root-Rechten, was im Falle einer Sicherheitslücke äußerst problematisch werden kann. Nicht, dass die Ausführung unter einem anderen Nutzer 100% Sicherheit bringt, aber es ist eine weitere Hürde, die ein eventueller Angreifer zu nehmen hat.

$ mkdir -p /opt/plex
$ mkdir -p /opt/plex/tmp   # dieses Verzeichnis brauchen wir später noch
$ useradd -M -d /opt/plex/ -s /bin/bash plex

Ich möchte, dass der Nutzer sein Home-Verzeichnis unter /opt/ hat, damit relevante Daten des Media-Severs dort liegen. Außerdem weise ich dem Nutzer als Login-Shell eine Bash statts der unter Debian mittlerweile üblichen Dash zu. Die Option -M verhindert nur, dass automatisch ein Homeverzeichnis unter /home/ erstellt wird.

Installation

Nun laden wir uns das das entsprechende Paket auf der Homepage von Plex herunter. Als Debian-Nutzer nehmen wir die „Ubuntu“-Version. Am besten per Rechtsklick -> Linkadresse kopieren und dann per wget  direkt auf dem Server herunterladen:

$ wget https://downloads.plex.tv/plex-media-server/0.9.11.7.803-87d0708/plexmediaserver_0.9.11.7.803-87d0708_amd64.deb weiterlesen

Debian: Screenshots in LXDE erstellen

Ohne zusätzliche Pakete und Bibliotheken ist es unter LXDE schwierig, einen Screenshot zu erstellen. Hier gibt es eine „Minimal“-Anleitung 😉

Als erstes benötigen wir die Pakete x11-apps (ist zu 99,9% schon installiert) und Imagemagick.

apt-get install x11-apps imagemagick

Das Paket x11-apps beinhaltet das Tool xwd , welches unseren Screenshot macht, aber nur als xwd-Datei abspeichern kann. Deshalb konvertieren wir das Bild (in diesem Fall Imagemagick) in eine PNG. Sofern man eine andere Software nehmen will, um xwd-Dateien nach PNG oder JPG zu konvertieren, kann man das natürlich gern tun.

Dann schreiben wir uns ein kleines Skript, welches entweder einen gesamten Screenshot macht, oder ein einzelnes Fenster „fotografiert“, abhängig vom Parameter „-s“:

$ cat &lt;&lt;EOF &gt; /usr/local/bin/myscreenshot.sh &gt; #!/bin/sh &gt; &gt; MYSCREENSHOT_FILE="screenshot_$(date +%Y-%m-%d-%H-%M-%S)" &gt; MYSCREENSHOT_PREFIX=0 &gt; &gt; echo $SCREENSHOT_FILE &gt; &gt; while [ -e "~/${MYSCREENSHOT_FILE}_${MYSCREENSHOT_PREFIX}.png" ]; do &gt; MYSCREENSHOT_PREFIX=$((MYSCREENSHOT_PREFIX + 1)) &gt; done &gt; &gt; if [ $# -gt 0 ] &amp;&amp; [ "$1" = "-s" ]; then &gt; xwd | convert - ${MYSCREENSHOT_FILE}_${MYSCREENSHOT_PREFIX}.png &gt; else &gt; xwd -root | convert - ${MYSCREENSHOT_FILE}_${MYSCREENSHOT_PREFIX}.png &gt; fi &gt; EOF weiterlesen

VirtualBox auf Debian-Server installieren

Zunächst braucht man die Linux-Headers seines Kernels:

$ apt-get install linux-headers-$(uname -r)

Wenn man damit Probleme hat, kann es sein, dass man einen Custom-Kernel benutzt (ist beispielsweise bei OVH-Servern der Fall). In dem Fall muss man sich entweder die Header für seinen Kernel selbst suchen, oder man switcht auf einen Distro-Kernel, was natürlich immer mit einer Downtime verbunden ist.

Dann können wir VirtualBox installieren. Da wir auf einem Server-System natürlich keine grafische Oberfläche installiert haben, brauchen wir auch kein GUI für VirtualBox:

$ apt-get install virtualbox virtualbox-dkms virtualbox-fuse virtualbox-guest-additions virtualbox-guest-additions-iso --no-install-recommends

Anschließend testen wir, ob alles funktioniert hat:

$ /etc/init.d/virtualbox status VirtualBox kernel module is not loaded. $ /etc/init.d/virtualbox start Starting VirtualBox kernel modules. $ /etc/init.d/virtualbox status VirtualBox kernel modules are loaded. weiterlesen