DAA IT-Umschulung
Am Schülerprojekt mitarbeiten

Du möchtest an diesem Portal mitarbeiten, eigene Ideen einbringen oder bestehende Funktionen verbessern? Dann melde dich bei Steve oder Nils.

Perfekte Vorkenntnisse sind nicht erforderlich. Wichtig sind sorgfältiges Arbeiten, Lernbereitschaft und ein verantwortungsvoller Umgang mit dem System.

Hilfreiche Kenntnisse

  • Grundlagen in HTML und CSS
  • erste Erfahrungen mit JavaScript
  • für erweiterte Arbeiten: PHP, Twig und Grav CMS
  • Grundlagen in Linux, SSH und Dateiberechtigungen
  • Verständnis für Webserver, Netzwerke und IT-Sicherheit
  • saubere Dokumentation und nachvollziehbare Tests

Das ist nicht erlaubt

  • Änderungen ohne vorherige Absprache oder ungesichert direkt am laufenden System
  • Weitergabe von Passwörtern, Zugangsdaten oder Sicherheitsschlüsseln
  • Umgehung von Benutzerrechten oder Zugriffsbeschränkungen
  • eigenständige Änderungen an Proxmox, Containern, Netzwerk oder Firewall
  • Installation zusätzlicher Dienste oder Öffnung neuer Ports ohne Freigabe
  • Löschen oder Verändern fremder Inhalte, Benutzerkonten oder Backups
  • Einbau von Trackern, Werbung oder externen Skripten ohne Prüfung
  • Hochladen personenbezogener, rechtswidriger oder urheberrechtlich nicht freigegebener Inhalte
  • Nutzung des Portals für Angriffe, Portscans oder andere unerlaubte Sicherheitstests

Alle Beiträge müssen zum Lern- und Projektzweck passen. Sicherheit, Datenschutz und Stabilität haben Vorrang.

Webserver einrichten
⌂ Startseite Adresse /anleitungen/webserver-einrichten

Webserver einrichten

🌐 Webserver einrichten (Apache2 auf Ubuntu 24.04 LTS)

Apache ist der weltweit beliebteste Webserver. Diese Anleitung zeigt dir, wie du ihn installierst, konfigurierst und deine eigene Test-Webseite erstellst.

📋 1. Voraussetzung

Du benötigst einen laufenden Ubuntu 24.04 Server (oder eine VirtualBox VM mit Bridged-Netzwerk).

📌 IP-Adresse notieren:
ip a – Notiere dir die IP-Adresse (z.B. 192.168.1.100)

📦 2. Apache2 Webserver installieren

                # Paketlisten aktualisieren
sudo apt update

# Apache2 installieren
sudo apt install apache2 -y
💡 Das ist schon passiert?
Apache ist jetzt installiert und läuft automatisch. Du kannst sofort deine erste Webseite testen!

🧪 3. Apache testen

Öffne einen Webbrowser auf deinem Windows-Rechner und gib ein:

                http://IP-DES-SERVERS
            

Beispiel: http://192.168.1.100

💡 Du solltest die Apache2-Standardseite sehen:
"It works!" – Das bedeutet, der Webserver läuft erfolgreich.

📝 4. Eigene HTML-Seite erstellen

Die Standardseite liegt unter /var/www/html/index.html. Wir ersetzen sie durch unsere eigene Seite:

                # Lösche die alte Standardseite
sudo rm /var/www/html/index.html

# Erstelle eine neue Seite mit Nano
sudo nano /var/www/html/index.html

Kopiere folgenden Code in die Datei:

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Mein Ubuntu Server</title>
<style>
body { font-family: Arial, sans-serif; text-align: center; padding: 50px; background: #0a0a0a; color: #00ff00; }
h1 { color: #00ff00; }
.box { background: #1a1a1a; padding: 20px; border-radius: 10px; display: inline-block; }
</style>
</head>
<body>
<div class="box">
<h1>🎉 Webserver läuft! 🎉</h1>
<p>Diese Seite wird von einem Apache2-Webserver auf Ubuntu 24.04 LTS ausgeliefert.</p>
<hr>
<p>Hostname: <strong><?php echo gethostname(); ?></strong></p>
<p>IP-Adresse: <strong><?php echo $_SERVER['SERVER_ADDR']; ?></strong></p>
<p>Betriebssystem: <strong><?php echo php_uname(); ?></strong></p>
<hr>
<p>📅 Erstellt am <?php echo date('d.m.Y H:i:s'); ?></p>
</div>
</body>
</html>
💡 Speichern: Drücke Strg+O, dann Enter, dann Strg+X zum Beenden.

🔧 5. Einfache Version (für reines HTML)

Wenn du kein PHP benötigst, reicht diese einfache HTML-Seite:

                sudo nano /var/www/html/index.html
            
<!DOCTYPE html>
<html>
<head><title>Mein Server</title></head>
<body>
<h1>Herzlich Willkommen!</h1>
<p>Dies ist meine eigene Testseite auf Ubuntu.</p>
<hr>
<p>Webserver läuft erfolgreich.</p>
</body>
</html>

⚙️ 6. PHP installieren (für dynamische Seiten)

                # PHP und Apache-Modul installieren
sudo apt install php libapache2-mod-php -y

# Apache neustarten
sudo systemctl restart apache2
💡 Test: Erstelle eine PHP-Testseite:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Dann aufrufen: http://IP-DES-SERVERS/info.php
⚠️ Sicherheitshinweis: Lösche die info.php nach dem Test wieder!
sudo rm /var/www/html/info.php

🔄 7. Apache verwalten

                # Status prüfen
sudo systemctl status apache2

# Neustarten (nach Konfigurationsänderungen)
sudo systemctl restart apache2

# Stoppen
sudo systemctl stop apache2

# Starten
sudo systemctl start apache2

# Autostart aktivieren
sudo systemctl enable apache2

🔥 8. Firewall konfigurieren (falls aktiv)

                # HTTP (Port 80) freigeben
sudo ufw allow 80/tcp

# HTTPS (Port 443) für später
sudo ufw allow 443/tcp

# Status prüfen
sudo ufw status

✏️ 9. Eigene Webseite anpassen

Die Hauptdatei für deine Webseite ist:

                /var/www/html/index.html
            

Du kannst sie jederzeit bearbeiten:

                sudo nano /var/www/html/index.html
            
💡 Tipp: Du kannst auch mehrere Seiten erstellen:
sudo nano /var/www/html/impressum.html
Dann aufrufen: http://IP-DES-SERVERS/impressum.html

🔧 10. Troubleshooting – Fehlerbehebung

❌ Seite nicht erreichbar
• Ist der Server an? ping IP
• Läuft Apache? sudo systemctl status apache2
• Firewall blockiert? sudo ufw allow 80
❌ Fehler 403 Forbidden
• Datei-Berechtigungen prüfen:
ls -la /var/www/html/index.html
• Korrigieren: sudo chmod 644 /var/www/html/index.html
❌ Fehler 404 Not Found
• Existiert die Datei?
ls /var/www/html/
• Dateiname korrekt? (index.html, nicht Index.html)
❌ PHP wird nicht ausgeführt
• PHP installiert? php -v
• Modul aktiv? sudo a2enmod php
• Apache neustarten
❌ VM nicht erreichbar (VirtualBox)
• Netzwerkmodus auf "Bridged"
• VM neustarten
• Neue IP mit ip a prüfen
❌ Port 80 bereits belegt
• Welcher Dienst nutzt Port 80?
sudo netstat -tulpn | grep :80

📋 11. Nützliche Befehle für die Verwaltung

                # Apache-Konfiguration testen (auf Syntaxfehler)
sudo apache2ctl configtest

# Alle aktiven Module anzeigen
sudo a2query -m

# Apache-Logs in Echtzeit anzeigen
sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/apache2/error.log

# Webseite lokal testen (auf dem Server selbst)
curl http://localhost

📅 Letzte Aktualisierung: April 2026 | 🐧 Getestet mit Ubuntu 24.04 LTS & Apache 2.4

💡 Die Webseite ist erreichbar unter: http://DEINE-SERVER-IP