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

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

ShareLaTeX: Online-Tool für LaTeX auch auf dem eigenen Server

ShareLaTeX
ShareLaTeX: ein Online-Kollaborationstool mit welchem man auch ganze Projekte als Zip-Archiv importieren kann.

Im Zuge meiner Abschlussarbeit habe ich mich etwas mit LaTeX beschäftigt. LaTeX ist ein Softwarepaket um das Arbeiten mit dem Textsatzsystem TeX zu vereinfachen. Es ist gerade im akademischen Umfeld ein Muss; abhängig von der Universität müssen umfangreichere Arbeiten sogar verpflichtend mit dem System erstellt sein. Leider ist LaTeX kein einfach zu benutzendes Tool. Um ein Dokument zu erstellen muss man eine Art Quellcode schreiben, aus dem dann mit Hilfe  eines Programms ein PDF generiert wird. Eine Live-Vorschau ist nicht möglich – zumindest meines Wissens.

Schön wäre es da, wenn man ein Werkzeug hätte, mit welchem man sehr komfortabel ein LaTeX-Dokument erstellen könnte – am besten online. Und tatsächlich eine kurze Google-Suche brachte das gewünschte Ergebnis: ShareLaTeX.com ist ein Online-Kollaborationstool mit dem man nicht nur sehr komfortabel an LaTeX-Dokumenten arbeiten kann, sondern sogar mit anderen zusammen. Nach einer schmerzlosen Anmeldung kann man direkt loslegen.

und alles OpenSource

Wer im Zeitalter der Komplettüberwachung von NSA & Co. keinem Online-Dienst mehr traut, hat sogar die Möglichkeit seinen eigenen Server zu benutzen, denn alles ist OpenSource. Ich habe mir aus Interesse das System mal aufgesetzt und will euch hier die einzelnen Schritte zeigen. Ich selbst nutze Ubuntu, allerdings sollten die Befehle bei anderen Distributionen analog funktionieren (beispielsweise bei Fedora: yum install …).

Als Grundlage braucht man Node.js und den dazugehörigen Paketmanager npm. Außerdem braucht man git, sofern man die Quellen direkt aus dem zugehörigen GitHub-Repository ziehen will:

$ sudo apt-get install git nodejs npm -y

Als nächstes habe ich das Git-Repository geklont. Ich habe für solche Sachen ein eigenes Projekt-Verzeichnis:

$ cd Projekte
$ git clone https://github.com/sharelatex/sharelatex.git
$ cd sharelatex

Als nächstes werden einige Module und Dienste installiert. Die genaue Liste gibts auf der GitHub-Seite. Gebraucht wird jetzt noch ein Modul namens „grunt“, welches über den Node-Packet-Manager installiert werden kann:

$ sudo npm install -g grunt-cli
$ npm install
$ grunt install

Beim letzten Befehl könnte es passieren, dass einige Warnungen kommen, denn ShareLaTeX hat einige Abhängigkeiten, die nicht auf jedem System standardmäßig installiert sind. Dazu gehören die In-Memory-Datenbank Redis und das Datenbanksystem MongoDB. Außerdem – wer hätte das gedacht – braucht man natürlich TeXLive, zum generieren der PDFs. Wichtig ist, dass das Programm latexmk mit installiert wird.

$ sudo apt-get install redis-server mongodb texlive latexmk -y

Jetzt prüfen wir noch kurz, ob alles korrekt installiert ist, oder ob noch irgendeine Abhängigkeit fehlt:

$ grunt check --force

weiterlesen