Basiskomponenten installieren
Folgender Befehl aktualisiert die Paketlisten und installiert grundlegend benötigte Abhängigkeiten, um JobRouter unter Debian Linux 9+ LTS (64 Bit) zu betreiben.
apt update && apt upgrade
apt -y install apt-transport-https ca-certificates curl wget gnupg libicu-dev libjpeg-dev libpng-dev
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.
apt install -y apache2
a2dismod mpm_event
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.
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.
systemctl restart apache2
Installation von PHP
Mit den nachfolgenden Befehlen wird PHP 7.3 installiert.
apt -y install php7.3 libapache2-mod-php
apt -y install php-{amqp,msgpack,pear,redis}
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
cp ixed.7.3.lin $(php -r 'echo ini_get("extension_dir");')
rm -f loaders.linux-x86_64.zip
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
phpenmod sourceguardian
MariaDB-Server Installation
Um die aktuelle Version 10.3 von MariaDB-Server zu installieren, führen Sie folgenden Befehl aus.
apt -y install mariadb-server
Wir empfehlen Ihnen den MariaDB-Server im Nachgang abzusichern.
mysql_secure_installation
Stoppen Sie den bereits aktiven Service MariaDB.
systemctl stop mariadb.service
Setzen Sie die Einstellung innodb_page_size von 16k auf 32k.
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ührungen 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.
rm /var/lib/mysql/ib_logfile* && rm /var/lib/mysql/ibdata*
Starten Sie den Service MariaDB.
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.
mariadb -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.
Danach können Sie sich aus dem MariaDB Client ausloggen.
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.
pecl channel-update pecl.php.net
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/debian/10/prod buster main" | tee -a /etc/apt/sources.list
apt update
Um die Installation fortzuführen, ist es erforderlich, dass Sie mit dem nächsten Befehl zweifach der Lizenzbestimmung zustimmen.
apt -y install php7.3-dev mssql-tools unixodbc-dev
pecl install sqlsrv pdo_sqlsrv
tee -a /etc/php/7.3/mods-available/sqlsrv.ini > /dev/null <<EOT
; configuration for php sqlsrv module
; priority = 20
extension = sqlsrv.so
EOT
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
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.
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.
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.
phpenmod jobrouter
phpenmod opcache
Anschließend muss der Apache-Webserver neu gestartet werden.
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>
mkdir /var/www/html/jobrouter
unzip JobRouter*.zip -d /var/www/html/jobrouter
chown -R root:www-data /var/www/html/jobrouter
chmod -R 550 /var/www/html/jobrouter
chmod -R 770 /var/www/html/jobrouter/cache
chmod -R 770 /var/www/html/jobrouter/assets/cache
chmod -R 770 /var/www/html/jobrouter/config
chmod -R 770 /var/www/html/jobrouter/data
chmod -R 770 /var/www/html/jobrouter/export
chmod -R 770 /var/www/html/jobrouter/functions
chmod -R 770 /var/www/html/jobrouter/license
chmod -R 770 /var/www/html/jobrouter/output
chmod -R 770 /var/www/html/jobrouter/styles
chmod -R 770 /var/www/html/jobrouter/uploads
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.