Skip to content

Eigene a2ensite-Alternative für Nginx

Übersicht

Apache bietet mit a2ensite und a2dissite komfortable Werkzeuge zum Aktivieren und Deaktivieren einzelner Seiten. Nginx besitzt solche Befehle jedoch nicht nativ. Um denselben Workflow beizubehalten, können einfache Wrapper-Skripte verwendet werden, die das Verhalten von a2ensite/a2dissite nachbilden.

Diese Skripte erstellen bzw. entfernen Symlinks zwischen sites-available und sites-enabled und führen anschließend eine Syntaxprüfung sowie ein Reload des Nginx-Dienstes durch.

Skripte erstellen

/usr/local/bin/n2ensite

#!/bin/bash
ln -s /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

/usr/local/bin/n2dissite

#!/bin/bash
rm /etc/nginx/sites-enabled/$1
nginx -t && systemctl reload nginx

Ausführbarkeit sicherstellen

sudo chmod +x /usr/local/bin/n2ensite
sudo chmod +x /usr/local/bin/n2dissite

Verwendung

Site aktivieren:

sudo n2ensite guacamole.conf

Site deaktivieren:

sudo n2dissite guacamole.conf

Hinweis

Die Skripte gehen davon aus, dass: - Nginx seine Konfigurationsdateien in /etc/nginx/sites-available und /etc/nginx/sites-enabled verwaltet. - Die zu aktivierende Datei bereits in sites-available existiert.