Bitte beachten Sie: Es ist erforderlich die nachfolgenden Befehle mit administrativen Rechten auszuführen.
Sofern Sie Ubuntu Linux verwenden: Führen Sie den Befehl mit ihrem normalen Benutzer-Account aus, indem Sie vor die jeweilige Befehlszeile ein sudo anfügen (im Befehl rot markiert).
Sofern Sie Debian Linux verwenden: Führen Sie den Befehl als root-Benutzer ohne den Befehl sudo aus.
Basiskomponenten installieren
Folgender Befehl aktualisiert die Paketlisten und installiert grundlegend benötigte Abhängigkeiten, um JobRouter auf dem Betriebssystem zu betreiben.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y apt-utils apt-transport-https ca-certificates curl wget
sudo apt-get install -y gnupg libicu-dev libjpeg-dev libpng-dev librabbitmq-dev libssh-dev
sudo apt-get install -y 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-get 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/> und ändern Sie die Konfiguration AllowOverride None wie folgt ab:
<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 Debian Linux und Ubuntu Linux aktuell kein PHP 7.4 enthält, muss PHP 7.4 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.
Ubuntu
sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install php libapache2-mod-php7.4
sudo apt-get -y install php-{amqp,msgpack,pear,redis}
sudo apt-get -y install php7.4-{bcmath,common,curl,gd,intl,json,ldap}
sudo apt-get -y install php7.4-{odbc,opcache,mbstring,mysql,soap,xml,zip}
Debian
apt-get -y install lsb-release apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
apt-get update
apt-get -y install php7.4
apt-get -y install php-pear
apt-get -y install php7.4-{amqp,msgpack,redis,bcmath,common,curl,gd,intl}
apt-get -y install php7.4-{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/
sudo wget -c https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.zip
sudo unzip loaders.linux-x86_64.zip
sudo cp ixed.7.4.lin $(php -r 'echo ini_get("extension_dir");')
sudo echo extension = ixed.7.4.lin \ > /etc/php/7.4/mods-available/sourceguardian.ini
sudo phpenmod sourceguardian
Die soeben entpackten Dateien zur SourceGuardian-Erweiterung werden aus dem Ordner /tmp/ gelöscht.
sudo rm -f loaders.linux-x86_64.zip
sudo rm -f README
sudo rm -f 'SourceGuardian Loader License.pdf'
sudo find ./ -name '*.lin' -exec sudo rm -rv {} \;
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
sudo wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Für Ubuntu Linux ist folgender Befehl notwendig:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/prod.list)"
Für Debian Linux ist folgender Befehl notwendig:
echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/debian/10/prod <%DEBIAN_PRODUCTNAME%> main" | tee -a /etc/apt/sources.list
Danach geht es für beide Distributionen wie folgt weiter:
sudo apt-get update
Um die Installation fortzuführen, ist es erforderlich, dass Sie mit dem nächsten Befehl zweifach der Lizenzbestimmung zustimmen.
sudo apt-get -y install php7.4-dev mssql-tools unixodbc-dev
sudo pecl install sqlsrv pdo_sqlsrv
sudo tee -a /etc/php/7.4/mods-available/sqlsrv.ini > /dev/null <<EOT
; configuration for php sqlsrv module
; priority = 20
extension = sqlsrv.so
EOT
sudo tee -a /etc/php/7.4/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
JobRouter-Konfiguration von PHP
Legen Sie eine jobrouter.ini als Konfigurationdatei an.
sudo tee -a /etc/php/7.4/mods-available/jobrouter.ini > /dev/null <<EOT
; required general settings for JobRouter
date.timezone = Europe/Berlin
log_errors = On
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
EOT
sudo tee -a /etc/php/7.4/mods-available/jobrouter.ini > /dev/null <<EOT
; required opcache settings for JobRouter
opcache.enable = 1
opcache.enable_cli = 1
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 10000
opcache.fast_shutdown = 1
opcache.log_verbosity_level = 2
opcache.file_cache_fallback = 1
EOT
Für die Erstinstallation muss sichergestellt werden, dass folgende PHP-Einstellungen existieren und einkommentiert sind, d.h. am Zeilenanfang darf kein Semikolon stehen.
•error_log
•upload_tmp_dir
•opcache.error_log
•opcache.file_cache
•session.save_path
Diese Standard-Pfade müssen in der Konfigurationsdatei jobrouter.ini hinterlegt sein.
Standard-Pfade für PHP
Bitte beachten Sie: Damit die JobRouter-Erstinstallation erfolgreich ausgeführt werden kann, ist es notwendig, die PHP-Einstellung session.save_path exakt wie im nachfolgenden Vorschlag anzuwenden.
Die Standard-Pfade könnten z.B. wie folgt lauten:
sudo tee -a /etc/php/7.4/mods-available/jobrouter.ini > /dev/null <<EOT
error_log = /var/www/html/jobrouter/output/log/php_errors.log
upload_tmp_dir = /var/www/html/jobrouter/tmp
opcache.error_log = /var/www/html/jobrouter/output/log/opcache_errors.log
opcache.file_cache = /var/www/html/jobrouter/cache/opcache
session.save_path = /var/www/html/jobrouter/sessions
EOT
Damit die Konfigurationsdatei geladen wird, ist folgender Befehl erforderlich:
sudo phpenmod jobrouter
Anschließend muss der Apache-Webserver neu gestartet werden.
sudo systemctl restart apache2
Herunterladen und Entpacken 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.
sudo cd /root/
sudo wget -c <JobRouter-Download-URL>
sudo unzip JobRouter*.zip -d /var/www/html/jobrouter
Danach wird die zuvor heruntergeladene zip-Datei wieder gelöscht.
sudo rm JobRouter*.zip
Berechtigungen der JobRouter-Webanwendung
Grundsätzlich braucht jeder der Dienste Lese- und Schreibzugriff auf das eigene Installationsverzeichnis, sowie auf das Unterverzeichnis uploads der JobRouter-Webanwendung. Wenn Dateien in benutzerdefinierten Pfaden bearbeitet werden sollen, benötigen die entsprechenden Dienste auch Zugriffsrechte auf diese Pfade. Zusätzlich benötigen die einzelnen Dienste, je nachdem, welche Funktionalitäten und Module lizenziert sind und benutzt werden, Zugriff auf weitere Verzeichnisse.
sudo chown -R www-data:www-data /var/www/html/jobrouter
sudo chmod -R a-w /var/www/html/jobrouter
cd /var/www/html/jobrouter
sudo chmod -R a+w assets/cache mobile/config output uploads cache data export functions config license cache/viewer
Bitte beachten Sie: Falls die Standard-Pfade für die PHP-Einstellungen error_log, upload_tmp_dir, opcache.error_log, opcache.file_cache und session.save_path im System nicht existieren, führen Sie die nachfolgenden Befehle aus. Diese PHP-Einstellungen finden Sie unter: /etc/php/7.4/mods-available/jobrouter.ini
sudo mkdir -p <Standard-Pfad>
sudo chown -R www-data:www-data <Standard-Pfad>
sudo chmod -R u+rwx,g+rwx,o-rwx <Standard-Pfad>
Anschließend kann das JobRouter Web Setup gestartet werden.