Hetzner - DokuWiki

Installation gängiger Software (Managed Server)/en


Customers install and use the following programs at their own risk. The user is not granted the right to support services related to these programs. If customers have questions regarding konsoleH or about server configurations, we will be happy to assist them.


Inhaltsverzeichnis

Software Installer

You can install your own software on a managed server via SSH using the "software" program.

Usage:
  software install [PACKAGE]
  software upgrade [PACKAGE]
  software uninstall [PACKAGE]
List tested packages:
  software list
List all available packages:
  software list all
List all installed packages:
  software list installed


General Informations and Tips

Processwatch

If a process is to run permanently on a managed server, a process release is required. Such a release is also necessary if the program needs more RAM. Most of the time you also realize that a process release is necessary if your process is terminated with "KILLED".

Please write us a support request from konsoleH and tell us the process or the program.

Port releases

If you need incoming or outgoing connections on ports that are not open by default, a port share is required. Please send us the following information in a support request via konsoleH:

1. local account/domain: 2. external IP address: 3. port: 4. protocol (TCP, UDP, or both): 5. direction (IN, OUT or both):



PEAR

Having your own PEAR is sometimes necessary, for example, when you would like to install your own PEAR packages without any fuss or if you would like to use a version of PHP which is does not support the PEAR version on the server.

Installation

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

Change the following entries for the installation (LOGIN = FTP login for the account):

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

After the editing, please press "Enter". When you are asked if the php.ini should be changed, choose [n].

Set the PATH variable so you can use the local PEAR

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

(Note: The path /usr/bin/php always points to the newest version of PHP available on the server. If you would like to use a specific version of PHP, edit the path, for example PHP 5.5 => /usr/bin/php55 )

Use PEAR

pear

List packages

pear list-all

Install new packages

pear install <package>

Using your own PEAR in PHP scripts

Annotate the .htaccess file:

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


Composer

Composer is an application-oriented package manager for the PHP programming language. Composer is executed from the command line and installs dependencies of a PHP program.

Installation

software install composer

Usage

composer install [PACKET]
composer uninstall [PACKET]

More commands:

composer list

Sources

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


Use node.js

node YourScript.js

Source

https://nodejs.org/



Redis

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

Installation

software install redis

Start Redis

redis-server

You can start this in a screen session, or you can start the command in the background:

redis-server &

Check that Redis is running

redis-cli

The output of the prompt has now changed to "redis 127.0.0.1:6379>". If you enter a "ping", you should receive a "pong" in return if Redis is running properly.

Redis-CLI: Example for how to manually set a key

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

@reboot Cronjob

You will need to set up a cronjob so that the daemon will not have to be manually started after the server has been restarted. To do this, go to KonsoleH and select the desired account domain. Then go to the menu "Services"->"Cronjob manager"->"Advanced view". Then insert the following lines at the end and, finally, click on "Save":

@reboot /usr/home/<USERNAME>/redis-stable/src/redis-server

If necessary, adjust the path to match yours.

Hint

As a key value databank (NoSQL), which is used to store data in RAM, Redis can be an good alternative to using "Memcached".

Source and helpful links

http://redis.io

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

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

Start Elasticsearch

elasticsearch

Test Elasticsearch

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

If Elasticsearch is successfully running, then it will output the following:

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

This output means that we don't have any indexes in this cluster yet.

Sources

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

Start GlassFish

asadmin start-domain

GlassFish testen

asadmin deploy ../hello.war

You should see the following output:

Application deployed with name hello.
Command deploy executed successfully.

Alternatively, you can access "<your-domain.tdl>:8080" in your browser, and you will receive a reply when the process is running.

Administrator web interface

The web interface administrator is optional. It is deactivated due to security concerns and must be activated when it is required. To do this, you must first create a password (and a user):

asadmin change-admin-password

The standard user is "admin", and no password is provided. After the last command, a password is provided, and with that you can access the web interface:

asadmin enable-secure-admin

You will be asked to enter the user and password that you have just finished creating. Then you will be able to use the web interface administrator.

Source

https://glassfish.java.net/



MongoDB

MongoDB is a document-oriented database. Since the database is document-oriented, it can manage collections of JSON-like documents.


Installation

software install mongodb

Start MongoDB

You can start MongoDB as a daemon (which will run in the background) using the following command. You can omit the parameter "--port" if the databank will only be used locally.

mongod --dbpath /usr/home/<USERNAME>/mongodb/data/db/ --port 27017 --fork --logpath /usr/home/<USERNAME>/mongodb/log.txt

(The command must be all one line.)

Alternative:

mongod --dbpath /usr/home/<USERNAME>/mongodb/data/db/

Test MongoDB

mongo

If this can be successfully started, then the installation was also performed successfully. You now have a shell similar to what is available with databank systems like MySQL. You can use the command "exit" to leave this program.

Sources

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 (Examples of configurations)



FFmpeg

FFmpeg consists of a number of free computer programs and program libraries that can record, convert, send and package digital video and audio material in various container formats.

Installation

software install ffmpeg


Use FFmpeg

Examples of command lines/commands:

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

Installation via FTP (without SSH)

  1. Start downloading the static builds from http://johnvansickle.com/ffmpeg/ (64-bit Linux) onto your local computer.
  2. You need to extract the downloaded file before you do the upload. To extract the .tar.xz file, we recommend that you use the program at 7-Zip.
  3. Using WebFTP (KonsoleH) or another FTP program (for example, FileZilla), upload the necessary binaries (for example, ffmpeg) onto the server.
  4. You need to set the permissions for the uploaded files to "755" using Filezilla or WebFTP, for example.
  5. You can now include the downloaded scripts in your programming.

Source

http://johnvansickle.com/ffmpeg/



Apache-Tomcat

Apache Tomcat is an open source web server and web container that implements the specification for Java Servlets and JavaServer Pages and thus allows web applications written in Java to be executed on a servlet or JSP basis.

Installation

software install tomcat

Start Tomcat

catalina run

To test whether Tomcat is running, you just need to go to the website of the account via the selected port. For example: http://ihre-domain.de:8080/ Tomcat also deploys a "Hello world" project that you can go to: http://ihre-domain.de:8080/examples/servlets/servlet/HelloWorldExample

Additional configuration (optional)

If Tomcat is meant to sit behind an Apache proxy, you will need to adjust the files .htaccess and server.xml. The following must be amended/inserted in the .htaccess in the document root for the account:

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

The pre-built "connector" must be extended by a few lines in the Tomcat file server.xml (tomcat/conf/server.xml):

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

The block should look like the one below in its entirety:

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

Sources

tomcat.apache.org

tomcat.apache.org/download-90.cgi



Apache-Solr

Apache Solr is a search platform written in Java.

Installation

software install solr

Use Solr

Start Aprache-Solr using the following command:

solr start

The monitor output should look like this:

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

You can now access the Solr admin using your browser via http://IhreDomain.tld:8983. Important note: The port that you use must be opened in advance.

Additional configuration (optional)

If Solr is meant to sit behind an Apache proxy, you will need to adjust the file .htaccess. The following must be amended/inserted in the .htaccess in the document root for the account:

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

Source and helpful links

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

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

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



Subversion (SVN)

This guide describes an approach that uses SSH access and assumes that you already are connected via SSH with your access details.

SVN is already installed, and therefore it must only be set up and used. SVN can be operated with multiple users, but it cannot be used with multiple SSH users.

Preparation

First, create a main folder for the repositories to help you manage your data in an orderly way. This folder should not be located in the "public_html" directory for security reasons. Create a main folder in the home directory:

mkdir ~/subversion

Create repository

It is recommendable to create a new repository for every new project.

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

(optional) Create user

To do this, open the configuration folder with the editor of your choice:

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

Write the following lines in this file:

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

Now you need to define the user. This user must match the SSH user (FTP main user); the password should also match. For this, you can open the password file with the editor of your choice:

nano ~/subversion/testprojekt/conf/passwd

In the following format, insert your username and password:

<USERNAME> = <PASSWORT>

Start Subversion as a Daemon

svnserve -d

Use SVN

Now you can use SVN as usual via SSH.

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

Sources

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

Start Resilio Sync / BTSync

Using the following command, set the IP address for the managed server and then execute it.

rslsync --webui.listen <server_ip>:8888

Once the port has been opened, you can then access the administration interface via http://<SERVER-IP>:8888/gui With the following command, you can access Help for all BTSync funcitons:

rslsync --help

Normally you need to create a configuration file and one folder in which to save the data.

Sources

https://getsync.com/

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

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



wkhtmltopdf

Installation without SSH access

  1. Download onto your PC the appropriate package (Debian 9 (stretch) amd64) from the developer's website http://wkhtmltopdf.org/downloads.html
  2. Extract the file using the tool of your choice (for example ]http://7-zip.org/ 7-Zip])
  3. Within the archives, or in extraction folder, you will find the necessary program in the path wkhtmltox/bin/.
  4. Tranfer this file (wkhtmltopdf) to the server via FTP.
  5. You will be able to execute the file by assigning it the permission "755". You can change the permission of the file via the FTP program that you used, or you can use the WebFTP interface in KonsoleH.
  6. Now you can open the tool directly from the application by entering the complete path.

Installation with SSH access

software install wkhtmltopdf

Source

http://wkhtmltopdf.org



Ruby

Requirements

Pre-Installation

  • [REQUIRED] SSH access (managed server)

Post-Installation

  • [OPTIONAL] Request that we set the memory limit for "gem" to 500MB for Rails (Ruby On Rails). Please write a support ticket via the user interface KonsoleH.
  • [OPTIONAL] If you would like to use Ruby with FCGI, please request the Debian software package "libfcgi-dev". Please write a support ticket via the user interface KonsoleH.

How to use package management RubyGems (or "Gems")

You will not be able to install additional Gems for Ruby globally. But you can install it in a local environment. For this method you do not need root permissions. The package management "gem" needs to be used like this example:

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

Ruby over FCGI

If you would like to run Ruby with FCGI, the Gem "fcgi" needs to be installed.

gem install --user-install fcgi

You need a FCGI script and settings in your .htaccess file. It is recommended that you store your own Ruby application in a sub-directory of "public_html" and define this one as document root.

FCGI script This script needs do be stored in a directory which is accessable by Apache (e.g.: public_html). That is why your application should be stored in a sub-directory. Insert the following lines into the file "ruby_handler.fcgi" - you need to create this file.

#!/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-USER>/<PROJECT-DIRECTORY>/index.rb

With the two "export" settings you define the directory which is indexed by Ruby for searching Gems. In this example it is the default directory for Gems which you have installed with the parameter "--user-install". It allows you to install Gems. In the line "exec" you need to set the path to an executeable script.

.htaccess settings

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

In this example it shows you the settings if your FCGI script is stored in "public_html"

Sources

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 is a web server software but also a reverse proxy and email proxy.

Installation

software install nginx

Usage

Start nginx

nginx

Check for functionality by opening your domain on the port you chose with a web-browser. (example: example.com:8080)

Forwarding

Forwarding Port 80 to the set Port with the .htacess (Please replace "YourDomain" with your Domain set.)

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


Varnish

Varnish is a cache for dynamic websites with a lot of content. Unlike other reverse proxies, which often originate from client-side proxies or servers, Varnish was designed from the ground up as a reverse proxy.

Installation

software install varnish

Test Varnish

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


© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.