Eventuell möchten Sie lieber NGINX als Webserver verwenden. JobRouter stellt .htaccess-Dateien bereit, die Apache konfigurieren. Dies ist für NGINX nicht möglich, da dort eine von der Anwendung unabhängige Konfiguration vorgenommen werden muss. Im Nachfolgenden finden Sie eine beispielhafte nginx.conf-Datei mit allen relevanten Einstellungen analog zu den .htaccess-Dateien von Apache.
Bitte beachten Sie: Stellen Sie sicher, dass die Konfiguration auf Ihr System abgestimmt ist.
Installation von NGINX
sudo curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt -y install nginx
sudo apt purge -y apache2
sudo systemctl enable nginx
Einrichtung der NGINX Konfiguration
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 mkdir /usr/share/nginx/html/jobrouter
cd /usr/share/nginx/html/jobrouter
sudo wget <JobRouter-Download-URL>
sudo unzip JobRouter_*.zip
sudo rm JobRouter_*.zip
sudo groupadd -g 10001 jobrouter
sudo chown www-data:jobrouter /usr/share/nginx/html/jobrouter -R
sudo rm /etc/nginx/conf.d/default.conf
sudo rm /etc/nginx/sites-enabled/default
Hinzufügen der NGINX JobRouter Konfiguration
sudo echo "server {
listen 80 default_server;
listen [::]:80 default_server;
server_name my.jobrouter.com;
root /usr/share/nginx/html/jobrouter;
index index.php;
client_max_body_size 100M;
location / {
try_files \$uri \$uri/ /index.php\$is_args\$args;
}
location /logviewer {
try_files \$uri /logviewer/public/index.php\$is_args\$args;
}
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
location ~ ^/(status|ping)\$ {
allow 127.0.0.1;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
deny all;
}
location /setup/api {
try_files \$uri /setup/index.php\$is_args\$args;
}
location /assets/cache/ {
rewrite /assets/cache/(\d+/)?([a-z]+)/(.+) /assets/fetch.php?directory=\$2&filename=\$3&\$args;
}
location ~ \.php\$ {
if (!-e \$request_filename) {
rewrite ^/((?!index.php).*)\$ /index.php\$is_args\$args;
}
include fastcgi_params;
fastcgi_split_path_info ^(.+?\.php)(.*)\$;
fastcgi_param SCRIPT_FILENAME \$realpath_root\$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT \$realpath_root;
fastcgi_param UNENCODED_URL \$request_uri;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}" > /etc/nginx/conf.d/jobrouter.conf
sudo systemctl restart nginx