Nun ist es so weit und wir können die ersten Dienste auf unseren Debian 10 Buster installieren. Als erstes werden wir den NGINX Webserver installieren um unsere Webseiten und Subdomains zu hosten. Der NGINX Webserver, der auch als Reverse Proxy und E-Mail-Proxy verwendet werden kann, zeichnet sich durch seine hohe Performance und leichte Konfiguration aus. Die NGINX Webserver Installation ist im Prinzip nicht weiter schwierig, sofern man Linux Grundkenntnisse mitbringt oder diese Anleitungen folgt.
NGINX Webserver installieren
Auf Debian 10 Buster können wir den NGINX Webserver installieren wobei uns der Advanced Package Tool kurz apt, behilflich ist. Wie bereits in meinem Beitrag zu Debian 10 Buster installieren geschrieben haben, wollen wir aus Sicherheitsgründen alle Dienste mit dem sudo Befehl installieren.
sudo apt install nginx
Der NGINX Webserver wurde in das Verzeichnis /etc/nginx installiert, wo sich auch die Konfiguration Dateien für die einzelnen Webseiten befinden. Dazu wechseln wir als Erstes in das Verzeichnis sites-availables.
cd /etc/nginx/sites-availables
Hier befindet sich die Standard-Konfiguration-Datei die wir uns mit dem nano Editor ansehen und editieren können.
sudo nano default
Nun sollten die Standard-Konfiguration wie unten zu sehen ist, im nano Editor erscheinen.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
- Mit der ersten Zeile geben wir den NGINX Webserver bekannt das hier die Hauptkonfiguration beginnt.
- Mit der zweiten Zeile sagen wir den Webserver das Er auf dem Port 80 auf IPv4 lauschen soll.
- Mit der dritten Zeile sagen wir den Webserver das Er auf dem Port 80 auf IPv6 lauschen soll.
- Mit der vierten Zeile geben wir den NGINX Webserver an, wo sich die Domain Dateien wie HTML, PHP usw. auf dem Server befinden.
- Mit der fünfen Zeile geben wir an welche Datei auf dem NGINX Webserver als erstes ausgeführt werden soll.
- Mit der sechsten Zeile geben wir den NGINX Webserver bekannt, wie wir unseren Server benennen.
- Mit der 7. bis 9. Zeile leiten wir alle unbekannten Anfragen auf die Fehlerseite 404 (nicht gefunden) u.
- Mit der 10. Zeile geben wir an das die Konfiguration hier endet.
Nun haben wir den NGINX mit den Standard Einstellungen installiert und können Webserver gleich testen. Dazu öffnen wir unseren Browser und geben die IP Adresse von unserem Server ein und es sollte die NGINX Welcome Seite erscheinen. Wenn die Webseite nicht erscheint bzw. nicht gefunden werden konnte, ist es möglich, dass wir den NGINX Webserver erst noch starten müssen.
sudo systemctl start nginx
Damit der NGINX Webserver auch nach einem Reboot automatisch gestartet wird, verwenden wir die Enable Syntax.
sudo systemctl enable nginx
Virtual Host – NGINX Server einrichten
Allerdings möchten wir die Standard-Konfiguration-Datei nicht verändern, sondern legen für jeden Virtual Host eine eigene Konfiguration Datei in das Verzeichnis /etc/nginx/sites-availables an. Dazu erstellen wir eine neue Konfiguration Datei einfach mit dem nano Editor. Als Dateiname wählen wir einfach unsere Domainname mit der .conf Endung, damit diese Datei als Konfigurationsdatei ersichtlich ist.
sudo nano example.info.conf
In dieser Konfiguration Datei fügen wir folgenden Inhalt ein. Anschließend ändern wir noch den Domainnamen bei server_name sowie bei root.
server {
listen 80;
listen [::]:80;
server_name example.info;
index index.html index.htm;
root /var/www/example.info;
index index.html;
location / {
try_files $uri $uri/ =404;
}
Wie wir der Konfiguration Datei entnehmen können, sollte sich unsere Webseite in dem Verzeichnis /var/www/example.info befindet. Natürlich kann sich dieses Verzeichnis an jeder andere Stelle in der Verzeichnisstruktur von Debian 10 Buster befinden. Alternativ könnten wir die Webseiten auch in das home/admin/ Verzeichnis ablegen und dem entsprechenden Benutzer zuordnen. Aber wir halten uns die Konfiguration Datei und legen das Verzeichnis für unsere Webseite unter /var/www/ an.
sudo mkdir /var/www/example.info
Damit der NGINX Webserver auch etwas in dem Browser darstellen kann, benötigen wir noch eine index.html Datei. Die index.html Datei können wir ganz einfach auch mit nano Editor erstellen.
sudo nano /var/www/example.info/index.html
Nun können wir unsere eigenen HTML Kenntnisse einsetzen und eine Seite in HTML programmieren oder wir kopieren folgenden code in den nano Editor und speichern die index.html ab.
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Willkommen zu unserem neuen Webprojekt!</h1>
<p>Wenn Sie diese Seite sehen, wurde der nginx-Webserver erfolgreich installiert.</p>
</body>
</html>
Virtual Host mit NGINX starten
Damit der neue Virtual Host vom NGINX Webserver erkannt wird, müssen wir die soeben erstellte Konfiguration Datei auch in dem Verzeichnis /etc/nginx/sites-enabled/ einstellen. Am einfachsten geht das mit dem ln Befehl, in dem wir eine Verknüpfung erstellen. Anschließend werden wir den NGNIX Webserver neu starten.
sudo ln -s /etc/nginx/sites-available/example.info.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Nun können wir unseren Browser starten und unsere Domain aufrufen. Wenn wir nun unsere eigene index.html sehen, haben wir alles Richtig gemacht und unser Virtual Host funktioniert einwandfrei. Auf die gleiche Art und Weise können wir nun weitere Virtuale Hosts für unsere Domains oder Subdomains anlegen.