Hetzner - DokuWiki
Installation gängiger Software (Managed Server)
Rene (Diskussion | Beiträge) (→FFmpeg) |
Rene (Diskussion | Beiträge) (→Installation (Managed Server)) |
||
Zeile 293: | Zeile 293: | ||
software install ffmpeg | software install ffmpeg | ||
− | ==Installation (Webhosting mit SSH-Support) | + | ==Installation (Webhosting mit SSH-Support)== |
wget http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz | wget http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz | ||
tar xJf ffmpeg-release-64bit-static.tar.xz | tar xJf ffmpeg-release-64bit-static.tar.xz |
Version vom 18. Juli 2019, 06:54 Uhr
![]() |
Languages: |
Deutsch |
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
Sollten Sie ein- oder ausgehende Verbindungen auf Ports benötigen die standardmäßig nicht geöffnet sind, so wird eine Portfreigabe benötigt. Bitte teilen Sie uns folgende Informationen in einer Supportanfrage über die konsoleH mit:
- lokaler Account/Domain:
- externe IP-Adresse:
- Port:
- Protokoll (TCP, UDP, oder beide):
- Richtung (IN, OUT oder beide):
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/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
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>/redis-stable/src/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://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/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
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 http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz tar xJf ffmpeg-release-64bit-static.tar.xz mv $(ls | grep ffmpeg-[1-9]*) ffmpeg
Installation (Webhosting ohne SSH-Support)
- Starten Sie den Download der statischen Builds von http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz (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 7-Zip.
- Laden Sie mit WebFTP (KonsoleH) oder einem FTP-Programm (z.B. 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 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://wiki.archlinux.org/index.php/BitTorrent_Sync#Configuration
https://wiki.ubuntuusers.de/BitTorrent_Sync/#Manuell
wkhtmltopdf
Installation ohne SSH-Zugang
- Laden Sie das passende Paket (Debian 9 (stretch) amd64) von der Webseite des Herstellers http://wkhtmltopdf.org/downloads.html auf Ihren PC.
- Entpacken Sie die Datei mit einem Tool Ihrer Wahl (z.B. 7-Zip)
- Innerhalb des Archivs, beziehungsweise im entpackten Ordner, finden Sie das benötigte Programm im Pfad wkhtmltox/bin/.
- Laden Sie diese Datei (wkhtmltopdf) per FTP auf den Server.
- 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.
- Nun können Sie das Tool unter Angabe des Pfades direkt nutzen.
Installation mit SSH-Zugang
software install wkhtmltopdf
Quellen
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
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