Ein Tutorial zur Konfiguration eines Linux-Webservers deckt grundlegende Schritte ab, die notwendig sind, um einen funktionalen und sicheren Webserver auf einem Linux-System einzurichten. Wir werden dabei Apache als Webserver-Software und Ubuntu als Beispiel verwenden. Diese Schritte können aber auch auf andere Linux-Distributionen angewendet werden.
Voraussetzungen:
- Ein Server mit einem Linux-Betriebssystem (z.B. Ubuntu, Debian).
- Root- oder Sudo-Zugriff.
- Grundkenntnisse in der Linux-Command-Line.
Schritt 1: Server-Updates
Bevor du den Webserver einrichtest, stelle sicher, dass das System aktuell ist.
sudo apt update && sudo apt upgrade -y
Schritt 2: Apache Webserver installieren
Apache ist eine der beliebtesten Webserver-Software und einfach zu konfigurieren. Um Apache zu installieren, führe folgendes Kommando aus:
sudo apt install apache2 -y
Nachdem die Installation abgeschlossen ist, sollte der Apache-Dienst automatisch starten. Du kannst dies überprüfen:
sudo systemctl status apache2
Falls der Dienst nicht läuft, starte ihn:
sudo systemctl start apache2
Schritt 3: Webserver testen
Um sicherzustellen, dass Apache korrekt läuft, öffne einen Webbrowser und gib die IP-Adresse deines Servers ein. Du solltest die Standard-Apache-Seite sehen, die besagt: „It works!“.
Um die IP-Adresse deines Servers zu finden:
hostname -I
Schritt 4: Firewall-Konfiguration (optional)
Falls du ufw
(Uncomplicated Firewall) verwendest, solltest du sicherstellen, dass HTTP- und HTTPS-Verkehr erlaubt sind.
Um die Firewall zu aktivieren:
sudo ufw allow 'Apache'
sudo ufw enable
Schritt 5: PHP installieren (optional, falls dynamische Inhalte benötigt werden)
Falls du PHP verwenden möchtest, installiere es zusammen mit den benötigten Modulen:
sudo apt install php libapache2-mod-php php-mysql -y
Überprüfe, ob PHP korrekt installiert ist:
php -v
Um PHP für Apache zu aktivieren, erstelle eine Testdatei:
sudo nano /var/www/html/info.php
Füge den folgenden Inhalt hinzu:
<?php
phpinfo();
?>
Speichere die Datei und rufe http://<your-server-ip>/info.php
im Browser auf. Du solltest die PHP-Info-Seite sehen.
Schritt 6: MySQL installieren (optional für Datenbankgestützte Websites)
Falls du eine Datenbank benötigst, kannst du MySQL installieren:
sudo apt install mysql-server -y
Sichere die Installation und konfiguriere die Datenbank mit:
sudo mysql_secure_installation
Folge den Anweisungen, um ein Root-Passwort festzulegen und die Sicherheitseinstellungen zu optimieren.
Schritt 7: Virtual Hosts einrichten (für mehrere Websites auf einem Server)
Um mehrere Websites auf demselben Server zu hosten, musst du virtuelle Hosts konfigurieren.
Erstelle ein Verzeichnis für die Website:
sudo mkdir -p /var/www/deineseite.de/public_html
Setze die Berechtigungen für das Verzeichnis:
sudo chown -R $USER:$USER /var/www/deineseite.de/public_html
sudo chmod -R 755 /var/www/deineseite.de
Erstelle eine Beispiel-HTML-Datei:
nano /var/www/deineseite.de/public_html/index.html
Füge einfachen HTML-Code hinzu:
<html>
<head>
<title>Willkommen auf deineseite.de</title>
</head>
<body>
<h1>Erfolgreich auf deineseite.de!</h1>
</body>
</html>
Erstelle nun eine neue Konfigurationsdatei für deinen virtuellen Host:
sudo nano /etc/apache2/sites-available/deineseite.de.conf
Füge Folgendes hinzu:
<VirtualHost *:80>
ServerAdmin webmaster@deineseite.de
ServerName deineseite.de
ServerAlias www.deineseite.de
DocumentRoot /var/www/deineseite.de/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Speichere die Datei und aktiviere den virtuellen Host:
sudo a2ensite deineseite.de.conf
Deaktiviere die Standardseite, wenn du möchtest:
sudo a2dissite 000-default.conf
Lade Apache neu:
sudo systemctl reload apache2
Schritt 8: SSL für HTTPS einrichten (optional)
Für sichere Verbindungen kannst du ein SSL-Zertifikat über Let’s Encrypt einrichten. Installiere zunächst Certbot
:
sudo apt install certbot python3-certbot-apache -y
Führe dann den Befehl aus, um ein SSL-Zertifikat zu erhalten und es in Apache zu integrieren:
sudo certbot --apache
Folge den Anweisungen und wähle, ob du HTTP auf HTTPS umleiten möchtest.
Schritt 9: Server überwachen und warten
Überprüfe die Apache-Logs regelmäßig, um sicherzustellen, dass alles ordnungsgemäß funktioniert:
sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/apache2/error.log
Du kannst auch den Zustand des Apache-Dienstes überprüfen:
sudo systemctl status apache2
Zusammenfassung:
- Installiere und konfiguriere Apache.
- (Optional) Installiere PHP und MySQL für dynamische Inhalte und Datenbankverwaltung.
- Richte virtuelle Hosts ein, um mehrere Websites zu hosten.
- (Optional) Füge SSL für HTTPS hinzu, um sichere Verbindungen zu ermöglichen.
Mit diesen Schritten hast du einen funktionsfähigen Webserver auf Linux eingerichtet.