Hetzner - DokuWiki

Installation gängiger Software (Managed Server)
(wkhtmltopdf)
(Fix ffmpeg link)
 
(29 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
  
  
'''<pre style="color: red">Die Installation und Verwendung folgender Programme geschieht auf eigene Verantwortung des Kunden. Ein Anrecht auf Supportleistungen in diesem Zusammenhang besteht nicht. Zu technischen Fragen zur KonsoleH oder zur Serverkonfiguration stehen wir gerne zur Verfügung.</pre>
+
'''<pre style="color: red">Die Installation und Verwendung folgender Programme geschieht auf eigene Verantwortung des Kunden. Ein Anrecht auf Supportleistungen in diesem Zusammenhang besteht nicht. Zu technischen Fragen zur konsoleH oder zur Serverkonfiguration stehen wir gerne zur Verfügung.</pre>
 
'''
 
'''
  
=PEAR=
 
Ein eigenes PEAR ist manchmal notwendig, wenn Sie z.B. eigene PEAR-Pakete bequem installieren möchten oder wenn sie eine PHP-Version einsetzen, die das serverweite PEAR nicht unterstützt.
 
  
==Voraussetzungen==
+
=Software Installer=
===Vor der Installation===
+
Sie können auf einem Managed Server via SSH eigene Software mit dem Programm "software" installieren.
* '''[NOTWENDIG]''' SSH Zugang (Level 19 oder Managed Server)
+
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
Bitte beachten Sie, dass bei einiger Software das Debian-Paket "hos-dev" benötigt wird. Sie können dies in einer Supportanfrage via konsoleH anfordern.
  
==PEAR Setup:==
+
Benutzung:
 +
  software install [PACKAGE]
 +
  software upgrade [PACKAGE]
 +
  software uninstall [PACKAGE]
 +
 
 +
Getestet Pakete listen:
 +
  software list
 +
 
 +
Alle verfügbaren Pakete listen:
 +
  software list all
 +
 
 +
Alle installieren Pakete listen:
 +
  software list installed
 +
 
 +
----
 +
 
 +
=Allgemeine Informationen und Tipps=
 +
 
 +
==Prozessfreigaben==
 +
 
 +
Wenn ein Prozess auf einem Managed Server dauerhaft laufen soll, so ist eine Prozessfreigabe nötig.
 +
Eine solche Freigabe ist ebenso nötig, wenn das Programm mehr RAM benötigen sollte. Meistens erkennen Sie ebenso, dass eine Prozessfreigabe nötig ist, wenn Ihr Prozess mit "KILLED" beendet wird.
 +
 
 +
Bitte schreiben Sie uns hierfür eine Supportanfrage aus der konsoleH und nennen Sie uns den Prozess oder das Programm.
 +
 
 +
Prozess "java": glassfish, tomcat, apache solr, elasticsearch <br>
 +
Prozess "node": NodeJS, npm <br>
 +
Prozess "redis-server": Redis <br>
 +
Prozess "rslsync": Resilio Sync <br>
 +
Prozess "wkhtmltopdf": wkhtmltopdf <br>
 +
Prozess "ruby": Ruby <br>
 +
Prozess "nginx": Nginx <br>
 +
Prozess "varnishd": Varnish <br>
 +
Prozess "mongo / mongod": MongoDB
 +
 
 +
==Portfreigaben==
 +
 
 +
Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein erhebliches Sicherheitsrisiko darstellen!
 +
 
 +
https://wiki.hetzner.de/index.php/KonsoleH:Portfreigaben
 +
 
 +
----
 +
 
 +
=PEAR=
 +
Ein eigenes PEAR ist manchmal notwendig, wenn Sie z.B. eigene PEAR-Pakete bequem installieren möchten, oder eine PHP-Version einsetzen, die das serverweite PEAR nicht unterstützt.
 +
 
 +
==Installation==
 
  wget http://pear.php.net/go-pear.phar
 
  wget http://pear.php.net/go-pear.phar
 
  php go-pear.phar
 
  php go-pear.phar
Zeile 23: Zeile 66:
 
  3. Temporary directory for downloads            : /usr/home/LOGIN/.tmp
 
  3. Temporary directory for downloads            : /usr/home/LOGIN/.tmp
  
 +
Nach der Bearbeitung der Pfade mit "Enter" bestätigen.
 
Bei der Nachfrage, ob die php.ini geändert werden soll, wählen Sie [n] aus.
 
Bei der Nachfrage, ob die php.ini geändert werden soll, wählen Sie [n] aus.
  
Zeile 45: Zeile 89:
  
 
----
 
----
 +
  
 
=Composer=
 
=Composer=
  
==Voraussetzungen==
+
Composer ist ein anwendungsorientierter Paketmanager für die Programmiersprache PHP. Composer wird über die Kommandozeile ausgeführt und installiert Abhängigkeiten eines PHP-Programmes.
===Vor der Installation===
+
* '''[NOTWENDIG]''' SSH Zugang (Level 19 oder Managed Server)
+
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
==Installation (Managed Server)==
  
==Composer Setup:==
+
software install composer
Mit folgenden Befehlen wird die neuste Version heruntergeladen und die Signatur geprüft. Wichtig ist auf unseren Managed Servern der Parameter "-d allow_url_fopen=On". Ohne diesen erhalten Sie Fehler.
+
 
 +
==Installation (Webhosting mit SSH-Support)==
  
 
  php -d allow_url_fopen=On -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
 
  php -d allow_url_fopen=On -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
 
  php -d allow_url_fopen=On composer-setup.php
 
  php -d allow_url_fopen=On composer-setup.php
 
  php -r "unlink('composer-setup.php');"
 
  php -r "unlink('composer-setup.php');"
 
==Composer nutzen:==
 
php -d allow_url_fopen=On composer.phar
 
 
==Alias anlegen:==
 
Mit folgenden Befehl legen Sie einen Alias an. Nachdem die SSH Verbindung neu geöffnet wurde, ist der Aufruf über "composer" möglich.
 
 
  echo alias composer=\"/usr/bin/php -d allow_url_fopen=On /usr/home/$USER/composer.phar\" >> ~/.bashrc
 
  echo alias composer=\"/usr/bin/php -d allow_url_fopen=On /usr/home/$USER/composer.phar\" >> ~/.bashrc
 +
source ~/.bashrc
  
==Quelle==
+
==Verwendung==
https://getcomposer.org/
+
  
https://getcomposer.org/download/
+
composer install [PACKET]
 +
composer uninstall [PACKET]
  
----
+
Weitere Kommandos:
  
=NewRelic Sysmond=
+
composer list
  
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[NOTWENDIG]''' Prozessfreigabe für "nrsysmond" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[NOTWENDIG]''' Für die Nutzung wird ein Lizenzschlüssel benötigt. Diesen Lizenzschlüssel bekommen Sie von den Betreiben von New Relic über newrelic.com.
 
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
 
  
==Herunterladen und Entpacken der Installationsdateien (SSH)==
+
==Quelle==
Wechseln Sie zunächst in das gewünschte Verzeichnis. Dieses kann das Heimatverzeichnis des Accounts sein (/usr/home/''<USERNAME>''/).
+
https://getcomposer.org/
X.X.X.XXX muss durch die Versionsnummer (z.B.: 2.3.0.129) ersetzt werden.
+
wget -O- https://download.newrelic.com/server_monitor/release/newrelic-sysmond-X.X.X.XXX-linux.tar.gz > newrelic.tar.gz
+
tar xzf newrelic.tar.gz
+
  
==Strukturierung der Paketdateien==
+
https://getcomposer.org/download/
mkdir sysmon
+
mkdir sysmon/log
+
touch sysmon/log/nrsysmond.log
+
mv newrelic-sysmond-X.X.X.XXX-linux/daemon/nrsysmond.x64 sysmon/nrsysmond
+
mv newrelic-sysmond-X.X.X.XXX-linux/nrsysmond.cfg sysmon/nrsysmond.cfg
+
  
==Konfigurationsdatei nrsysmond.cfg anpassen==
+
----
Die Zeile mit "license_key=" und "logfile=" sollten nach folgenden Schema angepasst werden:
+
license_key=''<IHR-LIZENZSCHLÜSSEL>''
+
logfile=/usr/home/''<USERNAME>''/sysmon/log/nrsysmond.log
+
  
==Daemon starten==
 
/usr/home/<username>/sysmon/nrsysmond -c /usr/home/<username>/sysmon/nrsysmond.cfg
 
 
==@reboot Cronjob==
 
Damit der Daemon nach einem Neustart des Server nicht manuell gestartet werden muss kann man einen Cronjob einstellen. Wechseln Sie hierzu in die KonsoleH und wählen die entsprechende Account-Domain aus. Wechseln Sie anschließend in das Menü "Einstellungen"->"Cronjob Manager"->"Erweiterte Ansicht". Fügen Sie folgende Zeile am Ende ein und kicken Sie anschließend auf "Speichern":
 
@reboot /usr/home/<''USERNAME''>/sysmon/nrsysmond -c /usr/home/<''USERNAME''>/sysmon/nrsysmond.cfg
 
 
==Quelle==
 
https://discuss.newrelic.com/t/how-do-i-install-and-run-the-server-monitor-without-root-privileges/270
 
 
----
 
  
 
=node.js=
 
=node.js=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe für "node" (Optional; Wird für den Dauerbetrieb von node.js benötigt.) - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
 
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
 
  
Den exakten Download-Link müssen Sie auf der Website nodejs.org/download ermitteln. (z.B.: https://nodejs.org/dist/latest-v5.x/node-v5.10.1.tar.gz)
+
Node.js ist eine serverseitige Plattform in der Softwareentwicklung zum Betrieb von Netzwerkanwendungen. Insbesondere lassen sich Webserver damit realisieren.
  
 
==Installation==
 
==Installation==
Anlegen eines Installationsverzeichnisses:
 
mkdir nodejs
 
cd nodejs
 
Herunterladen der aktuellen Binaries ''(Version "vX.X.X" bitte durch die aktuelle Versionsnummer ersetzen. z.B. "v8.1.2")'':
 
wget https://nodejs.org/download/release/latest/node-vX.X.X-linux-x64.tar.gz
 
Den exakten Download-Link müssen Sie auf der Website nodejs.org/download ermitteln. (z.B.: https://nodejs.org/download/release/latest/node-v8.1.2-linux-x64.tar.gz)
 
  
Entpacken der Daten:
+
  software install node
  tar -xzf node-vX.X.X-linux-x64.tar.gz
+
 
+
==.bashrc anpassen==
+
echo 'export PATH=/usr/home/<''USERNAME''>/nodejs/node-vX.X.X-linux-x64/bin:${PATH}' >> ~/.bashrc
+
Damit der Eintrag in der Datei ".bashrc" greift müssen Sie die SSH-Sitzung einmal beenden und neu starten.
+
  
 
==node.js verwenden==
 
==node.js verwenden==
/usr/home/<''USERNAME''>/nodejs/node-vX.X.X-linux-x64/bin/node ''IhrScript.js''
+
Node kann man zum Beispiel einfach auf ein bestimmtes Script anwenden:
Oder:
+
 
  node ''IhrScript.js''
 
  node ''IhrScript.js''
Die zweite Variante ist nur durch die Einträge in der .bashrc möglich.
+
 
  
 
==Quelle==
 
==Quelle==
Zeile 151: Zeile 142:
  
 
----
 
----
 +
  
 
=Redis=
 
=Redis=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
* '''[NOTWENDIG]''' Für Redis wird ein Compiler benötigt. Dieser kann über eine schriftliche Supportanfrage über die Verwaltungsoberfläche KonsoleH bereitgestellt werden. Fragen Sie nach dem Hetzner Development Paket (hos-dev).
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Portfreigabe (optional; Standard-Port 6379) - Bitte fragen Sie diese Portfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an. Sollten Sie den Port in der Datei "redis.conf" geändert haben, geben Sie bitte Ihren Port anstelle des Defaultwerts in der Anfrage an. '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein erhebliches Sicherheitsrisiko darstellen!'''
 
* '''[OPTIONAL]''' Prozessfreigabe für "redis-server" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
Redis ist eine In-Memory-Datenbank. Redis kann zum Beispiel als Alternative zu "memcached" verwendet werden.
  
==Herunterladen und Entpacken==
+
==Installation==
Bitte wechseln Sie zunächst in das Projektverzeichnis in dem Sie Redis installieren möchten.
+
wget http://download.redis.io/releases/redis-stable.tar.gz
+
tar xzf redis-stable.tar.gz
+
cd redis-stable
+
  
==Installation==
+
  software install redis
Führen Sie für die Installation nun folgende Befehle nacheinander aus:
+
  make
+
make test
+
cd src
+
chmod ug+x redis-server
+
  
 
==Redis starten==
 
==Redis starten==
  ./redis-server
+
  redis-server
 
Man kann dies in einer Screen-Session starten, oder man startet den Befehl im Hintergrund:
 
Man kann dies in einer Screen-Session starten, oder man startet den Befehl im Hintergrund:
  ./redis-server &
+
  redis-server &
  
 
==Prüfen ob Redis läuft==
 
==Prüfen ob Redis läuft==
  ./redis-cli
+
  redis-cli
 
Die Ausgabe des Prompt hat sich nun geändert zu "redis 127.0.0.1:6379>". Gibt man "ping" ein sollte man ein "PONG" als Antwort erhalten, wenn Redis richtig läuft.
 
Die Ausgabe des Prompt hat sich nun geändert zu "redis 127.0.0.1:6379>". Gibt man "ping" ein sollte man ein "PONG" als Antwort erhalten, wenn Redis richtig läuft.
  
 
==Redis-CLI: Beispiel, wie man einen Key manuell setzt==
 
==Redis-CLI: Beispiel, wie man einen Key manuell setzt==
 +
redis-cli
 +
 
  redis 127.0.0.1:6379> set mykey somevalue
 
  redis 127.0.0.1:6379> set mykey somevalue
 
  OK
 
  OK
Zeile 193: Zeile 171:
 
==@reboot Cronjob==
 
==@reboot Cronjob==
 
Damit der Daemon nach einem Neustart des Server nicht manuell gestartet werden muss kann man einen Cronjob einstellen. Wechseln Sie hierzu in die KonsoleH und wählen die entsprechende Account-Domain aus. Wechseln Sie anschließend in das Menü "Einstellungen"->"Cronjob Manager"->"Erweiterte Ansicht". Fügen Sie folgende Zeile am Ende ein und kicken Sie anschließend auf "Speichern":
 
Damit der Daemon nach einem Neustart des Server nicht manuell gestartet werden muss kann man einen Cronjob einstellen. Wechseln Sie hierzu in die KonsoleH und wählen die entsprechende Account-Domain aus. Wechseln Sie anschließend in das Menü "Einstellungen"->"Cronjob Manager"->"Erweiterte Ansicht". Fügen Sie folgende Zeile am Ende ein und kicken Sie anschließend auf "Speichern":
  @reboot /usr/home/<''USERNAME''>/redis-stable/src/redis-server
+
  @reboot /usr/home/<USERNAME>/.linuxbrew/bin/redis-server
 
Der Pfad muss gegebenenfalls an Ihren angepasst werden.
 
Der Pfad muss gegebenenfalls an Ihren angepasst werden.
  
Zeile 209: Zeile 187:
  
 
----
 
----
 +
  
 
=Elasticsearch=
 
=Elasticsearch=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe für "java" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Portfreigabe (Standard-Port 9200) - Bitte fragen Sie diese Portfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an. Sollten Sie den Port geändert haben, geben Sie bitte Ihren Port anstelle des Defaultwerts in der Anfrage an. '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein erhebliches Sicherheitsrisiko darstellen!'''
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
Elasticsearch ist eine Suchmaschine welche in Java geschrieben ist. Das Programm speichert Dokumente in einem NoSQL-Format.
  
==Herunterladen und Installieren==
+
==Installation==
  
Downloadlink von: https://www.elastic.co/de/downloads/elasticsearch
+
  software install elasticsearch
 
+
mkdir elasticsearch
+
cd elasticsearch
+
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-X.Y.Z.tar.gz
+
  tar xvf elasticsearch-X.Y.Z.tar.gz
+
Bitte ersetzen Sie gegebenenfalls die Versionsnummer (X.Y.Z) durch die von Ihnen gewünscht Version, im besten Fall aber durch die neuste Versionsnummer. Die Download-URL, Pfad- und Dateiangaben könnten somit abweichen.
+
  
 
==Elasticsearch starten==
 
==Elasticsearch starten==
  cd elasticsearch-X.Y.Z/bin/
+
  elasticsearch
  ./elasticsearch
+
Um elasticsearch im Hintergrund zu starten können Sie folgenden Befehl ausführen:
 +
  elasticsearch &
  
 
==Elasticsearch testen==
 
==Elasticsearch testen==
Zeile 239: Zeile 207:
 
  health status index pri rep docs.count docs.deleted store.size pri.store.size
 
  health status index pri rep docs.count docs.deleted store.size pri.store.size
 
Was einfach gesagt bedeutet, dass wir noch keine Indizes im Cluster haben.
 
Was einfach gesagt bedeutet, dass wir noch keine Indizes im Cluster haben.
 +
 +
==@reboot-Cronjob==
 +
Um elasticsearch bei einem künftigen Neustart des Servers automatisch auszuführen kann mittels folgender Befehlszeile ein entsprechender @reboot-Cronjob eingerichtet werden:
 +
{ crontab -l ; echo "@reboot `whereis -b elasticsearch | cut -d ":" -f 2` &"; } | crontab -
  
 
==Quelle==
 
==Quelle==
Zeile 248: Zeile 220:
  
 
=GlassFish=
 
=GlassFish=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe für "java" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Portfreigabe für Port 4848 und 8080 - Bitte fragen Sie diese Portfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an. '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein erhebliches Sicherheitsrisiko darstellen!'''
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
GlassFish is the reference implementation of Java EE.
  
==Herunterladen und Entpacken==
+
==Installation==
 
+
Hinweis: Ersetzen Sie X.Y.Z durch die passende Versionsnummer
+
  
  wget http://download.java.net/glassfish/4.1.1/release/glassfish-X.Y.Z.zip
+
  software install glassfish
unzip glassfish-X.Y.Z.zip
+
cd glassfishX
+
wget https://glassfish.java.net/downloads/quickstart/hello.war
+
Bitte tauschen Sie den Download-Link gegebenenfalls aus, um die aktuellste Version zu erhalten.
+
  
 
==GlassFish starten==
 
==GlassFish starten==
cd bin
+
 
  ./asadmin start-domain
+
  asadmin start-domain
  
 
==GlassFish testen==
 
==GlassFish testen==
  ./asadmin deploy ../hello.war
+
  asadmin deploy config.war
Sie sollten folgende Ausgabe erhalten:
+
Application deployed with name hello.
+
Command deploy executed successfully.
+
 
Sie können ebenfalls im Browser "<ihre-domain.tdl>:8080" aufrufen und erhalten ebenfalls eine Rückmeldung wenn der Prozess läuft.
 
Sie können ebenfalls im Browser "<ihre-domain.tdl>:8080" aufrufen und erhalten ebenfalls eine Rückmeldung wenn der Prozess läuft.
  
Zeile 290: Zeile 247:
  
 
----
 
----
 +
  
 
=MongoDB=
 
=MongoDB=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe für "mongod" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Portfreigabe '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein erhebliches Sicherheitsrisiko darstellen!'''
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
MongoDB ist eine dokumentenorientierte Datenbank. Da die Datenbank dokumentenorientiert ist, kann sie Sammlungen von JSON-ähnlichen Dokumenten verwalten.
 +
 
 +
Um MongoDB installieren zu können werden weitere Compiler benötigt. Bitte fragen Sie via Supportanfrage nach dem Paket "hos-dev".
  
 
==Installation==
 
==Installation==
  
Hinweis: Ersetzen Sie X.Y.Z durch die passende Versionsnummer
+
  software install mongodb
 
+
  curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-X.Y.Z.tgz
+
tar xvf mongodb-linux-x86_64-X.Y.Z.tgz
+
mv mongodb-linux-x86_64-X.Y.Z mongodb
+
rm -f mongodb-linux-x86_64-X.Y.Z.tgz
+
cd mongodb
+
 
+
==MongoDB starten==
+
Mit folgenden Befehl können Sie MongoDB als Daemon (Dienst im Hintergrund) starten. Der Parameter "--port" kann enfallen, wenn die Datenbank nur lokal verwendet wird.
+
./bin/mongod --dbpath /usr/home/<''USERNAME''>/mongodb/data/db/ --port 27017 --fork --logpath /usr/home/<''USERNAME''>/mongodb/log.txt
+
(Befehl muss in einer Zeile stehen)
+
 
+
Alternativ:
+
./bin/mongod --dbpath /usr/home/<''USERNAME''>/mongodb/data/db/
+
  
 
==MongoDB testen==
 
==MongoDB testen==
  ./bin/mongo
+
  mongo
 
Kann dies erfolgreich gestartet werden war auch die Installation erfolgreich. Sie haben nun eine Shell ähnlich wie auch bei Datenbanksystemen wie MySQL verfügbar. Mit dem Befehl "exit" können Sie diese wieder verlassen.
 
Kann dies erfolgreich gestartet werden war auch die Installation erfolgreich. Sie haben nun eine Shell ähnlich wie auch bei Datenbanksystemen wie MySQL verfügbar. Mit dem Befehl "exit" können Sie diese wieder verlassen.
 +
 +
==@reboot Crontab==
 +
Um MongoDB bei einem Neustart des Servers automatisch auszuführen kann der @reboot cronjob beispielsweise mit folgendem Befehl erzeugt werden:
 +
crontab -l | { cat; echo "@reboot $HOME/.linuxbrew/bin/mongo --dbpath $HOME/mongodb/data/db/ --port 27017 --fork --logpath $HOME/mongodb/log.txt &"; } | crontab -
  
 
==Quelle==
 
==Quelle==
Zeile 333: Zeile 277:
  
 
----
 
----
 +
  
 
=FFmpeg=
 
=FFmpeg=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[OPTIONAL]''' SSH-Zugang (Level 19 oder Managed Server) - Ein SSH-Zugang ist nicht zwingend nötig eine Installation via FTP ist ebenfalls möglich.
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe (nur Managed Server) - nur notwendig, wenn sehr große Dateien verarbeitet werden sollen.
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
FFmpeg besteht aus einer Reihe von freien Computerprogrammen und Programmbibliotheken, die digitales Video- und Audiomaterial aufnehmen, konvertieren, senden und in verschiedene Containerformate verpacken können.
  
==Download und Entpacken==
+
==Installation (Managed Server)==
  
Hinweis: Ersetzen Sie X.Y durch die passende Versionsnummer
+
software install ffmpeg
  
  wget http://ffmpeg.org/releases/ffmpeg-X.Y.tar.xz
+
==Installation (Webhosting mit SSH-Support)==
  tar xJf ffmpeg-X.Y.tar.xz
+
  wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
  mv ffmpeg-X.Y ffmpeg
+
  tar xJf ffmpeg-release-amd64-static.tar.xz
 +
  mv $(ls | grep ffmpeg-[1-9]*) ffmpeg
  
==FFmpeg verwenden==
+
==Installation (Webhosting ohne SSH-Support)==
Beispiel für Befehlsaufrufe:
+
# Starten Sie den Download der statischen Builds von ffmpeg-release-amd64-static.tar.xz (64-bit Linux) auf Ihrem lokalen Computer.
./ffmpeg/ffmpeg -i MeinLied.mp3 MeinLied.wav
+
./ffmpeg/ffmpeg -i MeinVideo.avi MeinVideo.mp4
+
 
+
==Installation mit FTP (ohne SSH)==
+
# Starten Sie den Download der statischen Builds von http://johnvansickle.com/ffmpeg/ (64-bit Linux) auf Ihrem lokalen Computer.
+
 
# Die heruntergeladene Datei muss vor dem Upload entpackt werden. Zum Entpacken der .tar.xz-Datei empfehlen wir das Programm [http://7-zip.org/ 7-Zip].
 
# Die heruntergeladene Datei muss vor dem Upload entpackt werden. Zum Entpacken der .tar.xz-Datei empfehlen wir das Programm [http://7-zip.org/ 7-Zip].
 
# Laden Sie mit WebFTP (KonsoleH) oder einem FTP-Programm (z.B. [https://filezilla-project.org/ FileZilla]) benötigte Binaries (z.B. ffmpeg) auf den Server.
 
# Laden Sie mit WebFTP (KonsoleH) oder einem FTP-Programm (z.B. [https://filezilla-project.org/ FileZilla]) benötigte Binaries (z.B. ffmpeg) auf den Server.
 
# Die Berechtigungen der hochgehenden Dateien müssen noch auf "755" angepasst werden - z.B. mit Filezilla oder WebFTP.
 
# Die Berechtigungen der hochgehenden Dateien müssen noch auf "755" angepasst werden - z.B. mit Filezilla oder WebFTP.
 
# Die Hoch geladenen Skripten können nun in Ihre Programmierung eingebunden werden.
 
# Die Hoch geladenen Skripten können nun in Ihre Programmierung eingebunden werden.
 +
 +
==FFmpeg verwenden==
 +
Beispiel für Befehlsaufrufe:
 +
ffmpeg -i MeinLied.mp3 MeinLied.wav
 +
ffmpeg -i MeinVideo.avi MeinVideo.mp4
 +
 +
  
 
==Quelle==
 
==Quelle==
Zeile 369: Zeile 312:
  
 
=Apache-Tomcat=
 
=Apache-Tomcat=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Portfreigabe (optional) - Bitte fragen Sie diese Portfreigabe für den von Ihnen konfigurierten Port über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an. '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein Sicherheitsrisiko darstellen!'''
 
* '''[OPTIONAL]''' Prozessfreigabe für "java" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
Apache Tomcat ist ein Open-Source-Webserver und Webcontainer, der die Spezifikation für Java Servlets und JavaServer Pages implementiert und es damit erlaubt, in Java geschriebene Web-Anwendungen auf Servlet- beziehungsweise JSP-Basis auszuführen.
 +
 
 +
==Installation==
  
==Download und Installation==
+
  software install tomcat
Es wird, da ein Linux Debian System läuft, der Binary Core im .tar.gz Format benötigt. Den aktuellen Download-Link erhalten Sie unter: tomcat.apache.org/download-90.cgi
+
Bitte passen Sie in URLs oder Pfaden in den folgenden Schritten die Version entsprechend an.
+
  wget http://mirror.funkfreundelandshut.de/apache/tomcat/tomcat-9/v<VERSION>/bin/apache-tomcat-<VERSION>.tar.gz
+
tar -xzf apache-tomcat-<''VERSION''>.tar.gz
+
mv apache-tomcat-<''VERSION''> tomcat
+
Ein Anpassen der "bashrc" erspart lange Pfadangaben. Öffnen Sie dazu die Datei ".bashrc" mit einem Editor Ihrer Wahl. Beispiel:
+
nano .bashrc
+
Fügen Sie folgende Zeilen ein und speichern Sie die Datei ab:
+
export CATALINA_HOME='/usr/home/<''USERNAME''>/tomcat/'
+
export JAVA_HOME='/usr/'
+
alias tomcat_start='$CATALINA_HOME/bin/startup.sh'
+
alias tomcat_stop='$CATALINA_HOME/bin/shutdown.sh'
+
Damit diese Änderungen greifen müssen Sie die SSH-Verbindung einmal trennen (ausloggen) und sich neu verbinden.
+
  
 
==Tomcat starten==
 
==Tomcat starten==
  tomcat_start
+
  catalina run
 
Um zu prüfen ob Tomcat läuft müssen Sie nur die Website des Accounts mit dem eingestellten Port aufrufen. Beispiel: http://ihre-domain.de:8080/
 
Um zu prüfen ob Tomcat läuft müssen Sie nur die Website des Accounts mit dem eingestellten Port aufrufen. Beispiel: http://ihre-domain.de:8080/
 
Tomcat liefert auch gleich ein "Hallo Welt" Projekt zum Aufrufen:
 
Tomcat liefert auch gleich ein "Hallo Welt" Projekt zum Aufrufen:
Zeile 420: Zeile 346:
  
 
----
 
----
 +
  
 
=Apache-Solr=
 
=Apache-Solr=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe für "java" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Portfreigabe (optional) - Bitte fragen Sie diese Portfreigabe für den von Ihnen konfigurierten Port über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an. '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein Sicherheitsrisiko darstellen!'''
 
  
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
Apache Solr ist eine in Java geschrieben Suchplattform.
  
==Download==
+
==Installation==
Für die nächsten Schritte der Installation wird die neuste Version benötigt, die Sie hier finden: http://lucene.apache.org/solr/mirrors-solr-latest-redir.html
+
Bitte wählen Sie eine Quelle Ihrer Wahl. Jede Quelle bietet mehrere Downloads an, wir benötigen die Link-Adresse der ZIP-Version, die Sie mit einem Rechtsklick auf den Link bekommen.
+
Ersetzen Sie den Link in folgenden Befehl und führen Sie diesen auf dem Server aus.
+
wget http://mirror.23media.de/apache/lucene/solr/X.Y.Z/solr-X.Y.Z.zip
+
unzip solr-X.Y.Z.zip
+
mv solr-X.Y.Z solr
+
  
==.bashrc erweitern==
+
  software install solr
Die Datei .bashrc kann mit folgenden Befehl erweitert werden:
+
  echo 'export PATH=/usr/home/<''USERNAME''>/solr/bin:${PATH}' >> ~/.bashrc
+
Damit diese Einstellung aktiv ist, trennen Sie die SSH-Verbindung und melden Sie sich erneut an.
+
  
 
==Solr nutzen==
 
==Solr nutzen==
Zeile 466: Zeile 378:
 
----
 
----
  
=Subversion-Server (SVN)=
+
 
==Voraussetzungen==
+
=Subversion-Server SVN)=
===Vor der Installation===
+
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
+
===Nach der Installation===
+
* '''[OPTIONAL]''' Prozessfreigabe für "svnserve" (optional) - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
+
  
 
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
 
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
Zeile 514: Zeile 422:
  
 
=Resilio Sync (BTSync)=
 
=Resilio Sync (BTSync)=
==Voraussetzungen==
 
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
* '''[OPTIONAL]''' Prozessfreigabe für "btsync" - Bitte fragen Sie diese Prozessfreigabe über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Portfreigabe (optional, Port 8888) - Bitte fragen Sie diese Portfreigabe für den von Ihnen konfigurierten Port über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an. '''Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein Sicherheitsrisiko darstellen!'''
 
 
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
 
  
 
==Installation==
 
==Installation==
Den Download-Link für die neuste Version für Linux x64 (glibc 2.3) finden Sie unter: https://getsync.com/platforms/desktop/
 
Mit folgenden Befehlen laden Sie die die benötigten Dateien herunter und entpacken diese:
 
wget https://download-cdn.getsync.com/stable/linux-glibc-x64/BitTorrent-Sync_glibc23_x64.tar.gz
 
  
  tar xzf BitTorrent-Sync_glibc23_x64.tar.gz
+
  software install rslsync
  
 
==Resilio Sync / BTSync starten==
 
==Resilio Sync / BTSync starten==
 
Setzen Sie in folgenden Befehl die IP Adresse des Managed Servers und führen Sie diesen aus.
 
Setzen Sie in folgenden Befehl die IP Adresse des Managed Servers und führen Sie diesen aus.
  ./rslsync --webui.listen <server_ip>:8888
+
  rslsync --webui.listen <server_ip>:8888
 
Wenn auch die Portfreigabe gesetzt wurde, können Sie nun über http://<''SERVER-IP''>:8888/gui die Verwaltungsoberfläche öffnen.
 
Wenn auch die Portfreigabe gesetzt wurde, können Sie nun über http://<''SERVER-IP''>:8888/gui die Verwaltungsoberfläche öffnen.
 
Mit folgendem Befehl erhalten Sie Hilfe zu allen Funktionen von BTSync:
 
Mit folgendem Befehl erhalten Sie Hilfe zu allen Funktionen von BTSync:
  ./rslsync --help
+
  rslsync --help
 
In der Regel ist es notwendig eine Konfigurationsdatei anzulegen und einen Ordner in dem die Daten liegen.
 
In der Regel ist es notwendig eine Konfigurationsdatei anzulegen und einen Ordner in dem die Daten liegen.
  
Zeile 547: Zeile 444:
 
----
 
----
  
=wkhtmltopdf=
 
  
'''ACHTUNG!''' Server mit OS Debian 9 erfordern die Version 0.12.5 des Tools. Dies ist derzeit unter [https://builds.wkhtmltopdf.org/0.12.5-dev/ https://builds.wkhtmltopdf.org/0.12.5-rc/...stretch_amd64.deb] verfügbar. (Die deb-Dateien enthalten die kompilierten Binaries.)
+
=wkhtmltopdf=
  
 
==Installation ohne SSH-Zugang==
 
==Installation ohne SSH-Zugang==
# Laden Sie das passende Paket (Stable Linux 64bit) von der Webseite des Herstellers [http://wkhtmltopdf.org/downloads.html http://wkhtmltopdf.org/downloads.html] auf Ihren PC.
+
# Laden Sie das passende Paket (Debian 9 (stretch) amd64) von der Webseite des Herstellers [http://wkhtmltopdf.org/downloads.html http://wkhtmltopdf.org/downloads.html] auf Ihren PC.
 
# Entpacken Sie die Datei mit einem Tool Ihrer Wahl (z.B. [http://7-zip.org/ 7-Zip])
 
# Entpacken Sie die Datei mit einem Tool Ihrer Wahl (z.B. [http://7-zip.org/ 7-Zip])
 
# Innerhalb des Archivs, beziehungsweise im entpackten Ordner, finden Sie das benötigte Programm im Pfad wkhtmltox/bin/.
 
# Innerhalb des Archivs, beziehungsweise im entpackten Ordner, finden Sie das benötigte Programm im Pfad wkhtmltox/bin/.
Zeile 560: Zeile 456:
  
 
==Installation mit SSH-Zugang==
 
==Installation mit SSH-Zugang==
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
+
 
Der angegebene Download-Link muss gegebenenfalls durch einen aktuellen Link ersetzt werden. Die aktuellste Version finden Sie unter: [http://wkhtmltopdf.org/downloads.html http://wkhtmltopdf.org/downloads.html]
+
  software install wkhtmltopdf
  wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
+
tar xJvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
+
Nun finden Sie das benötigte Programm "wkhtmltopdf" unter wkhtmltox/bin/ und Sie können das Tool unter Angabe des Pfades direkt nutzen.
+
  
 
==Quellen==
 
==Quellen==
Zeile 570: Zeile 463:
  
 
----
 
----
 +
  
 
=Ruby=
 
=Ruby=
 
==Voraussetzungen==
 
==Voraussetzungen==
===Vor der Installation===
 
* '''[NOTWENDIG]''' SSH-Zugang (Managed Server)
 
===Nach der Installation===
 
 
* '''[OPTIONAL]''' Anhebung des Speicherlimit für "gem" auf 500MB für Rails (Ruby On Rails) - Bitte fragen Sie diese Änderung der Prozessüberwachung über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Anhebung des Speicherlimit für "gem" auf 500MB für Rails (Ruby On Rails) - Bitte fragen Sie diese Änderung der Prozessüberwachung über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Für Ruby über FCGI wird das Debian-Paket "libfcgi-dev" benötigt. Bitte fragen Sie diese Änderung der Prozessüberwachung über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
 
* '''[OPTIONAL]''' Für Ruby über FCGI wird das Debian-Paket "libfcgi-dev" benötigt. Bitte fragen Sie diese Änderung der Prozessüberwachung über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
Zeile 611: Zeile 502:
 
http://www.binarytides.com/quick-tip-installing-ruby-gems-in-the-users-home-directory/
 
http://www.binarytides.com/quick-tip-installing-ruby-gems-in-the-users-home-directory/
  
 +
----
 +
 +
 +
=NGINX=
 +
 +
Nginx ist eine Webserver-Software aber ebenso ein Reverse Proxy und E-Mail-Proxy.
 +
 +
 +
Um nginx installieren zu können werden weitere Compiler benötigt. Bitte fragen Sie via Supportanfrage nach dem Paket "hos-dev".
 +
 +
==Installation==
 +
 +
software install nginx
 +
 +
Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.
 +
 +
==Verwendung==
 +
nginx starten
 +
nginx
 +
 +
Überprüfen der Funtionalität durch Aufrufen der Domain mit dem gewählen Port (Beispiel: example.de:8080)
 +
 +
==Weiterleitung==
 +
Weiterleitung von Port 80 auf den gesetzten Port über die .htacess (Bitte ersetzen Sie "IhreDomain" mit Ihrer Domain.)
 +
 +
RewriteEngine On
 +
RewriteCond %{SERVER_PORT} 80
 +
RewriteRule (.*) http://IhreDomain:8080/
  
 
----
 
----
  
 +
 +
=Varnish=
 +
 +
Varnish ist ein Cache für dynamische Webseiten mit viel Inhalt. Im Gegensatz zu anderen Reverse-Proxys, die häufig aus clientseitigen Proxys oder aus Servern entstanden, wurde Varnish von Grund auf als Reverse-Proxy konzipiert.
 +
 +
 +
Um Varnish installieren zu können werden weitere Compiler benötigt. Bitte fragen Sie via Supportanfrage nach dem Paket "hos-dev".
 +
 +
==Installation==
 +
 +
software install varnish
 +
 +
Varnish testen
 +
varnishd -V
 +
varnishd -a :6081 -T localhost:6082 -b localhost:8080
 +
 +
[[Kategorie:Managed Server]]
 +
[[Kategorie:Managed Server]]
 +
[[Kategorie:Managed Server]]
 +
[[Kategorie:Managed Server]]
 
[[Kategorie:Managed Server]]
 
[[Kategorie:Managed Server]]

Aktuelle Version vom 5. August 2019, 06:41 Uhr


Die Installation und Verwendung folgender Programme geschieht auf eigene Verantwortung des Kunden. Ein Anrecht auf Supportleistungen in diesem Zusammenhang besteht nicht. Zu technischen Fragen zur konsoleH oder zur Serverkonfiguration stehen wir gerne zur Verfügung.


Inhaltsverzeichnis

Software Installer

Sie können auf einem Managed Server via SSH eigene Software mit dem Programm "software" installieren.

Bitte beachten Sie, dass bei einiger Software das Debian-Paket "hos-dev" benötigt wird. Sie können dies in einer Supportanfrage via konsoleH anfordern.

Benutzung:
  software install [PACKAGE]
  software upgrade [PACKAGE]
  software uninstall [PACKAGE]
Getestet Pakete listen:
  software list
Alle verfügbaren Pakete listen:
  software list all
Alle installieren Pakete listen:
  software list installed

Allgemeine Informationen und Tipps

Prozessfreigaben

Wenn ein Prozess auf einem Managed Server dauerhaft laufen soll, so ist eine Prozessfreigabe nötig. Eine solche Freigabe ist ebenso nötig, wenn das Programm mehr RAM benötigen sollte. Meistens erkennen Sie ebenso, dass eine Prozessfreigabe nötig ist, wenn Ihr Prozess mit "KILLED" beendet wird.

Bitte schreiben Sie uns hierfür eine Supportanfrage aus der konsoleH und nennen Sie uns den Prozess oder das Programm.

Prozess "java": glassfish, tomcat, apache solr, elasticsearch
Prozess "node": NodeJS, npm
Prozess "redis-server": Redis
Prozess "rslsync": Resilio Sync
Prozess "wkhtmltopdf": wkhtmltopdf
Prozess "ruby": Ruby
Prozess "nginx": Nginx
Prozess "varnishd": Varnish
Prozess "mongo / mongod": MongoDB

Portfreigaben

Bitte beachten Sie, dass Portfreigaben in der Regel nicht notwendig sind und ein erhebliches Sicherheitsrisiko darstellen!

https://wiki.hetzner.de/index.php/KonsoleH:Portfreigaben


PEAR

Ein eigenes PEAR ist manchmal notwendig, wenn Sie z.B. eigene PEAR-Pakete bequem installieren möchten, oder eine PHP-Version einsetzen, die das serverweite PEAR nicht unterstützt.

Installation

wget http://pear.php.net/go-pear.phar
php go-pear.phar

Folgende Angaben sind bei der Installation zu ändern (LOGIN = FTP-Login des Accounts):

2. Temporary directory for processing            : /usr/home/LOGIN/.tmp
3. Temporary directory for downloads             : /usr/home/LOGIN/.tmp

Nach der Bearbeitung der Pfade mit "Enter" bestätigen. Bei der Nachfrage, ob die php.ini geändert werden soll, wählen Sie [n] aus.

Anpassen der PATH-Variable, um das lokale PEAR zu verwenden

echo 'export PATH="~/pear/bin:$PATH"' >> ~/.bashrc
echo 'export PHP_PEAR_PHP_BIN="/usr/bin/php"' >> ~/.bashrc
source ~/.bashrc

(Anmerkung: /usr/bin/php zeigt immer auf die neueste am Server verfügbare PHP-Version. Wenn Sie eine spezielle PHP-Version verwenden wollen, passen Sie den Pfad an. z.B. PHP 5.5 => /usr/bin/php55 )

PEAR verwenden

pear

Pakete auflisten

pear list-all

Neue Pakete installieren

pear install <paket>

Das eigene PEAR in PHP-Skripten verwenden

Ergänzen der .htaccess-Datei:

php_value include_path /usr/home/LOGIN/pear/share/pear/:.:/usr/local/lib/php/


Composer

Composer ist ein anwendungsorientierter Paketmanager für die Programmiersprache PHP. Composer wird über die Kommandozeile ausgeführt und installiert Abhängigkeiten eines PHP-Programmes.

Installation (Managed Server)

software install composer

Installation (Webhosting mit SSH-Support)

php -d allow_url_fopen=On -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
php -d allow_url_fopen=On composer-setup.php
php -r "unlink('composer-setup.php');"
echo alias composer=\"/usr/bin/php -d allow_url_fopen=On /usr/home/$USER/composer.phar\" >> ~/.bashrc
source ~/.bashrc

Verwendung

composer install [PACKET]
composer uninstall [PACKET]

Weitere Kommandos:

composer list


Quelle

https://getcomposer.org/

https://getcomposer.org/download/



node.js

Node.js ist eine serverseitige Plattform in der Softwareentwicklung zum Betrieb von Netzwerkanwendungen. Insbesondere lassen sich Webserver damit realisieren.

Installation

software install node

node.js verwenden

Node kann man zum Beispiel einfach auf ein bestimmtes Script anwenden:

node IhrScript.js


Quelle

https://nodejs.org/



Redis

Redis ist eine In-Memory-Datenbank. Redis kann zum Beispiel als Alternative zu "memcached" verwendet werden.

Installation

software install redis

Redis starten

redis-server

Man kann dies in einer Screen-Session starten, oder man startet den Befehl im Hintergrund:

redis-server &

Prüfen ob Redis läuft

redis-cli

Die Ausgabe des Prompt hat sich nun geändert zu "redis 127.0.0.1:6379>". Gibt man "ping" ein sollte man ein "PONG" als Antwort erhalten, wenn Redis richtig läuft.

Redis-CLI: Beispiel, wie man einen Key manuell setzt

redis-cli
redis 127.0.0.1:6379> set mykey somevalue
OK
redis 127.0.0.1:6379> get mykey
"somevalue"

@reboot Cronjob

Damit der Daemon nach einem Neustart des Server nicht manuell gestartet werden muss kann man einen Cronjob einstellen. Wechseln Sie hierzu in die KonsoleH und wählen die entsprechende Account-Domain aus. Wechseln Sie anschließend in das Menü "Einstellungen"->"Cronjob Manager"->"Erweiterte Ansicht". Fügen Sie folgende Zeile am Ende ein und kicken Sie anschließend auf "Speichern":

@reboot /usr/home/<USERNAME>/.linuxbrew/bin/redis-server

Der Pfad muss gegebenenfalls an Ihren angepasst werden.

Hinweis

Als Key-Value-Datenbank (NoSQL), die die Daten über den Arbeitsspeicher bereithält, kann diese als gute Alternative zu "memcached" verwendet werden.

Quellen und hilfreiche Links

http://redis.io

http://devdocs.magento.com/guides/m1x/ce18-ee113/using_redis.html (Redis mit Magento verwenden)

https://github.com/nrk/predis (Redis Client)

https://wordpress.org/plugins/redis-cache/ (Wordpress Plugin - Redis Object Cache)



Elasticsearch

Elasticsearch ist eine Suchmaschine welche in Java geschrieben ist. Das Programm speichert Dokumente in einem NoSQL-Format.

Installation

software install elasticsearch

Elasticsearch starten

elasticsearch

Um elasticsearch im Hintergrund zu starten können Sie folgenden Befehl ausführen:

elasticsearch &

Elasticsearch testen

curl 'localhost:9200/_cat/indices?v'

Wenn Elasticsearch erfolgreich läuft, müsste es folgende Ausgabe ergeben:

health status index pri rep docs.count docs.deleted store.size pri.store.size

Was einfach gesagt bedeutet, dass wir noch keine Indizes im Cluster haben.

@reboot-Cronjob

Um elasticsearch bei einem künftigen Neustart des Servers automatisch auszuführen kann mittels folgender Befehlszeile ein entsprechender @reboot-Cronjob eingerichtet werden:

{ crontab -l ; echo "@reboot `whereis -b elasticsearch | cut -d ":" -f 2` &"; } | crontab -

Quelle

https://www.elastic.co

https://www.elastic.co/guide/en/elasticsearch/reference/


GlassFish

GlassFish is the reference implementation of Java EE.

Installation

software install glassfish

GlassFish starten

asadmin start-domain

GlassFish testen

asadmin deploy config.war

Sie können ebenfalls im Browser "<ihre-domain.tdl>:8080" aufrufen und erhalten ebenfalls eine Rückmeldung wenn der Prozess läuft.

Administrator Webinterface

Das Administrator Webinterface ist optional. Aus Sicherheitsgründen ist dies deaktiviert und muss bei bedarf zuerst aktiviert werden. Dazu muss erst ein Passwort (und ein Benutzer) angelegt werden:

./asadmin change-admin-password

Der Standardbenutzer ist "admin" und es ist kein Passwort vergeben. Nachdem mit dem letzten Befehl ein Passwort vergeben wurde kann das Webinterface freigegeben werden:

./asadmin enable-secure-admin

Sie werden nach dem eben angelegten Benutzer und dem Passwort gefragt, dass Sie eingeben müssen. Anschließend kann das Administrator Webinterface genutzt werden.

Quellen

https://glassfish.java.net/



MongoDB

MongoDB ist eine dokumentenorientierte Datenbank. Da die Datenbank dokumentenorientiert ist, kann sie Sammlungen von JSON-ähnlichen Dokumenten verwalten.

Um MongoDB installieren zu können werden weitere Compiler benötigt. Bitte fragen Sie via Supportanfrage nach dem Paket "hos-dev".

Installation

software install mongodb

MongoDB testen

mongo

Kann dies erfolgreich gestartet werden war auch die Installation erfolgreich. Sie haben nun eine Shell ähnlich wie auch bei Datenbanksystemen wie MySQL verfügbar. Mit dem Befehl "exit" können Sie diese wieder verlassen.

@reboot Crontab

Um MongoDB bei einem Neustart des Servers automatisch auszuführen kann der @reboot cronjob beispielsweise mit folgendem Befehl erzeugt werden:

crontab -l | { cat; echo "@reboot $HOME/.linuxbrew/bin/mongo --dbpath $HOME/mongodb/data/db/ --port 27017 --fork --logpath $HOME/mongodb/log.txt &"; } | crontab -

Quelle

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-linux/

https://docs.mongodb.com/manual/mongo/

https://www.mongodb.com/mongodb-security-best-practices

https://github.com/mongodb/mongo/blob/master/rpm/mongod.conf (Konfigurationsbeispiel)



FFmpeg

FFmpeg besteht aus einer Reihe von freien Computerprogrammen und Programmbibliotheken, die digitales Video- und Audiomaterial aufnehmen, konvertieren, senden und in verschiedene Containerformate verpacken können.

Installation (Managed Server)

software install ffmpeg

Installation (Webhosting mit SSH-Support)

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar xJf ffmpeg-release-amd64-static.tar.xz
mv $(ls | grep ffmpeg-[1-9]*) ffmpeg

Installation (Webhosting ohne SSH-Support)

  1. Starten Sie den Download der statischen Builds von ffmpeg-release-amd64-static.tar.xz (64-bit Linux) auf Ihrem lokalen Computer.
  2. Die heruntergeladene Datei muss vor dem Upload entpackt werden. Zum Entpacken der .tar.xz-Datei empfehlen wir das Programm 7-Zip.
  3. Laden Sie mit WebFTP (KonsoleH) oder einem FTP-Programm (z.B. FileZilla) benötigte Binaries (z.B. ffmpeg) auf den Server.
  4. Die Berechtigungen der hochgehenden Dateien müssen noch auf "755" angepasst werden - z.B. mit Filezilla oder WebFTP.
  5. Die Hoch geladenen Skripten können nun in Ihre Programmierung eingebunden werden.

FFmpeg verwenden

Beispiel für Befehlsaufrufe:

ffmpeg -i MeinLied.mp3 MeinLied.wav
ffmpeg -i MeinVideo.avi MeinVideo.mp4


Quelle

http://johnvansickle.com/ffmpeg/


Apache-Tomcat

Apache Tomcat ist ein Open-Source-Webserver und Webcontainer, der die Spezifikation für Java Servlets und JavaServer Pages implementiert und es damit erlaubt, in Java geschriebene Web-Anwendungen auf Servlet- beziehungsweise JSP-Basis auszuführen.

Installation

software install tomcat

Tomcat starten

catalina run

Um zu prüfen ob Tomcat läuft müssen Sie nur die Website des Accounts mit dem eingestellten Port aufrufen. Beispiel: http://ihre-domain.de:8080/ Tomcat liefert auch gleich ein "Hallo Welt" Projekt zum Aufrufen: http://ihre-domain.de:8080/examples/servlets/servlet/HelloWorldExample

Zusätzliche Konfiguration (optional)

Wenn Tomcat hinter einem Apache Proxy sitzen soll muss die .htaccess und die Datei server.xml angepasst werden. In der .htaccess im Document Root des Accounts muss folgendes ergänzt/einegragen werden:

RewriteEngine on
RewriteRule   ^(.*)  http://localhost:8080/$1 [P]

In der der Tomcat server.xml (tomcat/conf/server.xml) muss der vorgefertigte "Connector" um folgende Zeilen erweitert werden:

URIEncoding="UTF-8"
proxyPort="80"

Vollständig sollte der Block dann vom Schema so aussehen:

<Connector port="8080" protocol="HTTP/1.1"
              connectionTimeout="20000"
              URIEncoding="UTF-8"
              proxyPort="80"
              redirectPort="8080" />

Quelle

tomcat.apache.org

tomcat.apache.org/download-90.cgi



Apache-Solr

Apache Solr ist eine in Java geschrieben Suchplattform.

Installation

software install solr

Solr nutzen

Mit folgenden Befehl starten Sie Apache-Solr:

solr start

Die Bildschirmausgabe sollte wie folgt lauten:

Waiting up to 30 seconds to see Solr running on port 8983 [/]
Started Solr server on port 8983 (pid=19302). Happy searching!

Den Solr-Admin können Sie nun auch über den Browser über http://IhreDomain.tld:8983 erreichen. Wichtig: Der verwendete Port muss vorher freigegeben sein.

Zusätzliche Konfiguration (optional)

Wenn Solr hinter einem Apache Proxy sitzen soll muss die .htaccess angepasst werden. In der .htaccess im Document Root des Accounts muss folgendes ergänzt/einetragen werden:

RewriteEngine on
RewriteRule   ^(.*)  http://localhost:8983/$1 [P]

Quellen und hilfreiche Links

http://lucene.apache.org/solr/

http://www.solrtutorial.com/solr-in-5-minutes.html

http://yonik.com/solr-4-tutorial/



Subversion-Server SVN)

Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.

SVN ist bereits installiert und muss daher nur eingerichtet und verwendet werden. Sollten Sie SVN also nur als Client verwenden, müssen Sie nichts weiter tun. Der SVN-Server kann mit mehreren Benutzern betrieben werden, allerdings nicht mit mehreren SSH-Benutzern.

Vorbereitung

Für eine saubere Datenverwaltung sollte zunächst ein Hauptordner für die Repositories angelegt werden. Dieser Ordner sollte sich aus Sicherheitsgründen außerhalb des Verzeichnisses "public_html" befinden. Hauptordner im Home-Verzeichnis anlegen:

mkdir ~/subversion

Repository erstellen

Es empfiehlt sich für jedes Projekt ein neues Repository zu erstellen.

mkdir ~/subversion/testprojekt
svnadmin create ~/subversion/testprojekt

==(optional) Nutzer anlegen: Öffnen Sie dazu die Konfigurationsdatei mit einem Editor Ihrer Wahl:

nano ~/subversion/testprojekt/conf/svnserve.conf

Schreiben Sie folgendes in diese Datei:

anon-access = none
auth-access = write
password-db = passwd

Nun muss noch der User definiert werden. Dieser muss dem SSH User (FTP-Hauptbenutzer) entsprechen, ebenso das Passwort. Öffnen Sie dazu die Passwortdatei mit einem Editor Ihrer Wahl:

nano ~/subversion/testprojekt/conf/passwd

Fügen Sie nach folgendem Schema Ihren Benutzernamen und das Passwort ein:

<USERNAME> = <PASSWORT>

Subversion als Daemon starten

svnserve -d

SVN verwenden

Nun kann SVN wie gewohnt über SSH genutzt werden.

svn co svn+ssh://sshhosteintrag/usr/home/<FTP-USERNAME>/subversion/testprojekt

Quellen

https://civicactions.com/blog/how-to-set-up-an-svn-repository-in-7-simple-steps/

https://subversion.apache.org/


Resilio Sync (BTSync)

Installation

software install rslsync

Resilio Sync / BTSync starten

Setzen Sie in folgenden Befehl die IP Adresse des Managed Servers und führen Sie diesen aus.

rslsync --webui.listen <server_ip>:8888

Wenn auch die Portfreigabe gesetzt wurde, können Sie nun über http://<SERVER-IP>:8888/gui die Verwaltungsoberfläche öffnen. Mit folgendem Befehl erhalten Sie Hilfe zu allen Funktionen von BTSync:

rslsync --help

In der Regel ist es notwendig eine Konfigurationsdatei anzulegen und einen Ordner in dem die Daten liegen.

Quellen

https://getsync.com/

https://wiki.archlinux.org/index.php/BitTorrent_Sync#Configuration

https://wiki.ubuntuusers.de/BitTorrent_Sync/#Manuell



wkhtmltopdf

Installation ohne SSH-Zugang

  1. Laden Sie das passende Paket (Debian 9 (stretch) amd64) von der Webseite des Herstellers http://wkhtmltopdf.org/downloads.html auf Ihren PC.
  2. Entpacken Sie die Datei mit einem Tool Ihrer Wahl (z.B. 7-Zip)
  3. Innerhalb des Archivs, beziehungsweise im entpackten Ordner, finden Sie das benötigte Programm im Pfad wkhtmltox/bin/.
  4. Laden Sie diese Datei (wkhtmltopdf) per FTP auf den Server.
  5. Machen Sie die Datei ausführbar, indem Sie dieser die Berechtigung "755" geben. Die Berechtigung der Datei können Sie über das FTP-Programm, dass Sie verwendet haben, oder über die WebFTP-Oberfläche in der KonsoleH ändern.
  6. Nun können Sie das Tool unter Angabe des Pfades direkt nutzen.

Installation mit SSH-Zugang

software install wkhtmltopdf

Quellen

http://wkhtmltopdf.org



Ruby

Voraussetzungen

  • [OPTIONAL] Anhebung des Speicherlimit für "gem" auf 500MB für Rails (Ruby On Rails) - Bitte fragen Sie diese Änderung der Prozessüberwachung über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.
  • [OPTIONAL] Für Ruby über FCGI wird das Debian-Paket "libfcgi-dev" benötigt. Bitte fragen Sie diese Änderung der Prozessüberwachung über eine Supportanfrage über die Verwaltungsoberfläche KonsoleH an.

Verwendung der Paketverwaltung RubyGems (oder kurz Gems)

Das Installieren zusätzlicher Gems für Ruby ist NICHT global möglich. Allerdings können Sie die Installation in einer "lokalen" Umgebung durchführen. Hierfür sind keine root-Rechte notwendig. Die Paketverwaltung "gem" muss dazu folgendermaßen genutzt werden:

gem install --user-install <gem-name>

Ruby über FCGI

Um Ruby über FCGI zu verwenden sollte das Gem "fcgi" installiert sein.

gem install --user-install fcgi

Des weiteren wird ein FCGI-Handler und ein Eintrag in der .htaccess-Datei benötigt. Es empfiehlt sich die eigene Ruby-Anwendung in ein Unterverzeichnis von "public_html" zu legen und diese als Startverzeichnis zu definieren.

FCGI-Handler: Der FCGI-Handler muss in einem dem Apache zugänglichen Verzeichnis liegen (z.B. public_html). Daher sollte die eigentliche Anwendung in einem Unterverzeichnis liegen. In der Datei "ruby_handler.fcgi", die Sie anlegen müssen, steht dann folgendes:

#!/bin/dash
export GEM_HOME="$HOME/.gem/ruby/2.3.0/"
export GEM_PATH="$GEM_HOME:/var/lib/ruby/gems/1.8"
exec /usr/bin/ruby /usr/www/users/<FTP-Benutzer>/<Projekt-Ordner>/index.rb

Über die beiden "exports" wird das Verzeichnis angegeben, welcees Ruby bei der Suche nach gems durchsuchen soll. Hier ist es das Standardverzeichnis für mit "--user-install" installierte Gems, sodass Sie eigene Gems hinzufügen können. In der "exec"-Zeile muss ein auszuführendes Skript definiert werden.

.htaccess-Datei ergänzen:

FcgidWrapper /usr/www/users/<FTP-Benutzer>/ruby_handler.fcgi .rb
  SetHandler fcgid-script

In diesem Beispiel wird davon ausgegangen, dass der Ruby-handler direkt im "public_html" des Benutzers liegt.

Quellen

https://rubygems.org/

http://guides.rubygems.org/faqs/#user-install

http://www.binarytides.com/quick-tip-installing-ruby-gems-in-the-users-home-directory/



NGINX

Nginx ist eine Webserver-Software aber ebenso ein Reverse Proxy und E-Mail-Proxy.


Um nginx installieren zu können werden weitere Compiler benötigt. Bitte fragen Sie via Supportanfrage nach dem Paket "hos-dev".

Installation

software install nginx

Diese Anleitung beschreibt die Vorgehensweise über einen SSH-Zugang und setzt voraus, dass Sie bereits mit Ihren Zugangsdaten via SSH verbunden sind.

Verwendung

nginx starten

nginx

Überprüfen der Funtionalität durch Aufrufen der Domain mit dem gewählen Port (Beispiel: example.de:8080)

Weiterleitung

Weiterleitung von Port 80 auf den gesetzten Port über die .htacess (Bitte ersetzen Sie "IhreDomain" mit Ihrer Domain.)

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) http://IhreDomain:8080/


Varnish

Varnish ist ein Cache für dynamische Webseiten mit viel Inhalt. Im Gegensatz zu anderen Reverse-Proxys, die häufig aus clientseitigen Proxys oder aus Servern entstanden, wurde Varnish von Grund auf als Reverse-Proxy konzipiert.


Um Varnish installieren zu können werden weitere Compiler benötigt. Bitte fragen Sie via Supportanfrage nach dem Paket "hos-dev".

Installation

software install varnish

Varnish testen

varnishd -V
varnishd -a :6081 -T localhost:6082 -b localhost:8080


© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.