Basiskomponenten installieren
Folgender Befehl aktualisiert die Paketlisten und installiert grundlegend benötigte Abhängigkeiten, um JobRouter unter Ubuntu Linux 18.04 LTS (64 Bit) zu betreiben.
sudo apt update && sudo apt upgrade
sudo apt -y install apt-transport-https ca-certificates curl wget gnupg libicu-dev libjpeg-dev libpng-dev
sudo apt -y install librabbitmq-dev libssh-dev libxml2-dev libzip-dev unixodbc unixodbc-dev unzip zip zlib1g-dev
Installation und Konfiguration des Apache Webservers
Als Webserver kommt Apache 2 in Kombination mit einigen Modulen zum Einsatz.
Installieren und aktivieren Sie den Apache 2, indem Sie die nachfolgenden Befehle ausführen.
sudo apt install -y apache2
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork rewrite
Damit alle .htaccess-Dateien aus der JobRouter-Installation verarbeitet werden können, ist es erforderlich, dass man in der Apache-Konfiguration das Attribut AllowOverride von None auf All setzt. Diese Änderung können Sie über den nano-Editor vornehmen.
sudo nano /etc/apache2/apache2.conf
Suchen Sie nach
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
und ändern es um in
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Speichern Sie Ihre Änderungen im nano-Editor mittels der Tastenkombination [STRG]+[X] und stimmen Sie den Änderungen zu. Danach muss der Apache neu gestartet werden.
sudo systemctl restart apache2
Installation von PHP
Da die Paketquellen für Ubuntu Linux 18.04 LTS (64 Bit) aktuell kein PHP 7.3 enthält, muss PHP 7.3 nachinstalliert und die notwendigen Erweiterungen geladen werden.
Bitte beachten Sie: Externe Repositories werden von uns weder bereitgestellt noch unterstützt. JobRouter hat keine Kontrolle über diese Ressourcen. Daher bieten wir bei Problemen keinen Support an.
sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt -y install php7.3 libapache2-mod-php
sudo apt -y install php-{amqp,msgpack,pear,redis}
sudo apt -y install php7.3-{bcmath,common,curl,gd,intl,json,ldap,odbc,opcache,mbstring,mysql,soap,xml,zip}
SourceGuardian
JobRouter benötigt die SourceGuardian-Erweiterung, um die verschlüsselten Quellcode-Bestandteile zu laden und auszuführen.
cd /tmp/
wget -c https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.zip
unzip loaders.linux-x86_64.zip
sudo cp ixed.7.3.lin $(php -r 'echo ini_get("extension_dir");')
rm -f loaders.linux-x86_64.zip
sudo tee -a /etc/php/7.3/mods-available/sourceguardian.ini > /dev/null <<EOT
; configuration for php sourceguardian module
; priority = 30
extension = ixed.7.3.lin
EOT
sudo phpenmod sourceguardian
MariaDB-Server Installation
Da die Paketquellen für Ubuntu Linux 18.04 LTS (64 Bit) aktuell keine Version 10.3 enthält, muss MariaDB-Server für die von uns unterstützte Version nachinstalliert werden.
Bitte beachten Sie: Externe Repositories werden von uns weder bereitgestellt noch unterstützt. JobRouter hat keine Kontrolle über diese Ressourcen. Daher bieten wir bei Problemen keinen Support an.
Hinweis: Sofern Sie ein anderes externes Repository verwenden wollen, so können Sie dies auf folgender Seite selbst aussuchen: https://downloads.mariadb.org/mariadb/repositories/
sudo apt -y install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror2.hs-esslingen.de/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
Um MariaDB-Server zu installieren, führen Sie folgenden Befehl aus.
sudo apt -y install mariadb-server
Wir empfehlen Ihnen den MariaDB-Server im Nachgang abzusichern.
sudo mysql_secure_installation
Stoppen Sie den bereits aktiven Service MariaDB.
sudo systemctl stop mariadb.service
Setzen Sie die Einstellung innodb_page_size von 16k auf 32k.
sudo tee -a /etc/mysql/mariadb.conf.d/50-jobrouter.cnf > /dev/null <<EOT
[mysqld]
# JobRouter fix innodb page size
innodb_page_size=32k
EOT
Bitte beachten Sie: Stellen Sie sicher, dass Sie vor der Ausführung folgender Befehle eine Datenbank-Sicherung erstellt haben. Durch das Löschen dieser Dateien werden auch vorhandene Datenbanken zerstört.
Löschen Sie die InnoDB Redo Log-Dateien und die InnoDB System Tablespace-Datendateien. Ansonsten wird verhindert, dass der MariaDB-Service einwandfrei gestartet werden kann.
sudo rm /var/lib/mysql/ib_logfile* && sudo rm /var/lib/mysql/ibdata*
Starten Sie den Service MariaDB.
sudo systemctl start mariadb.service
Um zu Überprüfen, ob der zuvor gesetzte Wert von 32k für die Einstellung innodb_page_size übernommen worden ist, loggen Sie sich einmalig als root-Benutzer in MariaDB als Client ein.
mysql -u root -p
SHOW GLOBAL STATUS where Variable_name = 'Innodb_page_size';
Damit Sie gegen Ende dieses Kapitels das JobRouter Web Setup durchführen können, ist es notwendig einen neuen Datenbankbenutzer mit administrativen Rechten in MariaDB anzulegen.
Bitte beachten Sie: Der neue Datenbankbenutzer, als auch die Datenbanktabelle sollte in Großbuchstaben angelegt werden.
exit;
Optionale Installation des Linux-Treibers für Microsoft SQL Server
Bitte beachten Sie: Wenn Sie JobRouter mit MSSQL Server für Linux nutzen wollen, ist die Installation eines zusätzlichen Treibers erforderlich. Anderfalls können Sie diesen Abschnitt überspringen.
Zur Installation von Microsoft SQL Server als Linux-Treiber ist es erforderlich, folgende Befehle auszuführen.
Bitte beachten Sie: Externe Repositories werden von uns weder bereitgestellt noch unterstützt. JobRouter hat keine Kontrolle über diese Ressourcen. Daher bieten wir bei Problemen keinen Support an.
sudo pecl channel-update pecl.php.net
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/prod.list)"
sudo apt update
Um die Installation fortzuführen, ist es erforderlich, dass Sie mit dem nächsten Befehl zweifach der Lizenzbestimmung zustimmen.
sudo apt -y install php7.3-dev mssql-tools unixodbc-dev
sudo pecl install sqlsrv pdo_sqlsrv
sudo tee -a /etc/php/7.3/mods-available/sqlsrv.ini > /dev/null <<EOT
; configuration for php sqlsrv module
; priority = 20
extension = sqlsrv.so
EOT
sudo tee -a /etc/php/7.3/mods-available/pdo_sqlsrv.ini > /dev/null <<EOT
; configuration for php sqlsrv module
; priority = 20
extension = pdo_sqlsrv.so
EOT
sudo phpenmod sqlsrv pdo_sqlsrv
Konfiguration von JobRouter
Wir empfehlen eine separate ini-Datei für JobRouter-spezielle PHP-Einstellungen wie beispielsweise die Zeitzone.
Damit die Standard-Pfade für die Erstinstallation greifen, müssen Sie die Einstellungen für error_log, session.save_path und upload_tmp_dir mit einem Semmikolon am Zeilenanfang auskommentieren. Sofern Sie diese Konfiguration im Nachgang verändern möchten, kommentieren Sie das Semmikolon am Zeilenanfang wieder ein und ändern Sie den Pfad.
sudo tee -a /etc/php/7.3/mods-available/jobrouter.ini > /dev/null <<EOT
; configuration for jobrouter
; priority = 50
date.timezone = Europe/Berlin
log_errors = On
;error_log = /var/www/html/jobrouter/output/log/php_errors.log
max_execution_time = 300
max_input_vars = 10000
memory_limit = 1024M
post_max_size = 100M
upload_max_filesize = 100M
error_reporting = E_ALL & ~E_NOTICE
;session.save_path = /var/www/html/jobrouter/sessions
;upload_tmp_dir = /var/www/html/jobrouter/tmp
EOT
Legen Sie die Standard-Pfade für das Caching von PHP für die Erstinstallation fest, indem Sie die Pfade in den Einstellungen für error_log und file_cache setzen.
sudo tee -a /etc/php/7.3/mods-available/opcache.ini > /dev/null <<EOT
; configuration for jobrouter
; priority = 10
opcache.enable = 1
opcache.cli_enable = 1
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 10000
opcache.fast_shutdown = 1
opcache.error_log = /var/www/html/jobrouter/output/log/opcache_errors.log
opcache.log_verbosity_level = 2
opcache.file_cache = /var/www/html/jobrouter/cache/opcache
opcache.file_cache_fallback = 1
EOT
Damit die Konfigurationsdateien geladen werden, ist es erforderlich folgende zwei Befehle auszuführen.
sudo phpenmod jobrouter
sudo phpenmod opcache
Anschließend muss der Apache-Webserver neu gestartet werden.
sudo service apache2 restart
Installation der JobRouter-Webanwendung
Um JobRouter zu installieren muss nun im Support Portal die aktuelle Version heruntergeladen und extrahiert werden. In folgender Befehlsfolge muss die entsprechende <jobrouter-download-url> ersetzt werden.
cd /root/
wget -c <jobrouter-download-url>
sudo mkdir /var/www/html/jobrouter
sudo unzip JobRouter*.zip -d /var/www/html/jobrouter
sudo chown -R root:www-data /var/www/html/jobrouter
sudo chmod -R 550 /var/www/html/jobrouter
sudo chmod -R 770 /var/www/html/jobrouter/cache
sudo chmod -R 770 /var/www/html/jobrouter/assets/cache
sudo chmod -R 770 /var/www/html/jobrouter/config
sudo chmod -R 770 /var/www/html/jobrouter/data
sudo chmod -R 770 /var/www/html/jobrouter/export
sudo chmod -R 770 /var/www/html/jobrouter/functions
sudo chmod -R 770 /var/www/html/jobrouter/license
sudo chmod -R 770 /var/www/html/jobrouter/output
sudo chmod -R 770 /var/www/html/jobrouter/styles
sudo chmod -R 770 /var/www/html/jobrouter/uploads
sudo chmod -R 770 /var/www/html/jobrouter/mobile/config
Anschließend kann das JobRouter Web Setup gestartet werden. Dabei müssen die Pfade für alle Verzeichnisse angepasst werden.