Wie man auf dem Raspberry Pi 4 am einfachsten eine Website erstellt?
Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.
Das Erstellen einer Website auf einem Raspberry Pi 4 ist einfach! Hier ist die einfachste Methode mit leichtgewichtigen Tools:
Option 1: Eine einfache Website mit Python hosten (schnellste Methode)
Wenn du nur eine schnelle lokale oder im LAN zugängliche Website brauchst, eignet sich Pythons eingebauter HTTP-Server perfekt.
Schritte:
-
Erstelle einen Website-Ordner
mkdir ~/meine_website && cd ~/meine_website
-
Erstelle eine
index.html
-Datei (einfaches HTML)nano index.html
Füge dieses Beispiel ein:
<!DOCTYPE html> <html> <head> <title>Meine Raspberry Pi Website</title> </head> <body> <h1>Hallo vom Raspberry Pi!</h1> </body> </html>
-
Starte den Python-HTTP-Server
python3 -m http.server 8000
-
Greife auf die Website zu
-
Lokal: Öffne
http://localhost:8000
im Browser des Pi. -
Von einem anderen Gerät: Nutze
http://<PI_IP_ADRESSE>:8000
(finde die IP mithostname -I
).
-
✅ Vorteile: Keine Einrichtung, sofortiger Test.
❌ Nachteile: Nicht für Produktion (single-threaded, unsicher).
Option 2: Apache verwenden (besser für dauerhafte Websites)
Für eine stabilere (aber immer noch einfache) Lösung nutze Apache, einen beliebten Webserver.
Schritte:
-
Installiere Apache
sudo apt update && sudo apt install apache2 -y
-
Teste Apache
-
Öffne
http://localhost
oderhttp://<PI_IP_ADRESSE>
im Browser. -
Du solltest die Standard-Apache-Seite sehen.
-
-
Ersetze die Standard-Seite
sudo rm /var/www/html/index.html sudo cp ~/meine_website/index.html /var/www/html/
(Oder bearbeite direkt mit
sudo nano /var/www/html/index.html
.)
✅ Vorteile: Stabil, unterstützt PHP/MySQL falls nötig.
❌ Nachteile: Etwas schwerer als Python.
Option 3: WordPress verwenden (für Blogs/dynamische Seiten)
Wenn du ein vollwertiges CMS (wie einen Blog) möchtest, ist WordPress benutzerfreundlich.
Schritte:
-
Installiere LAMP-Stack (Linux, Apache, MySQL, PHP)
sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php -y
-
Lade WordPress herunter
cd /var/www/html sudo wget https://de.wordpress.org/latest.tar.gz sudo tar -xzvf latest.tar.gz sudo mv wordpress/* .
-
Richte MySQL ein
sudo mysql -u root
Im MySQL-Shell:
CREATE DATABASE wordpress; CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'passwort'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
-
Konfiguriere WordPress
-
Besuche
http://<PI_IP_ADRESSE>
im Browser. -
Folge dem WordPress-Einrichtungsassistenten.
-
✅ Vorteile: Vollwertiges CMS, Plugins, Themes.
❌ Nachteile: Braucht mehr Ressourcen.
Option 4: Node.js verwenden (für Entwickler)
Wenn du JavaScript bevorzugst, ist Node.js leichtgewichtig und modern.
Schritte:
-
Installiere Node.js
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install nodejs -y
-
Erstelle einen einfachen Server
mkdir ~/node_website && cd ~/node_website npm init -y npm install express
Erstelle
server.js
:const express = require('express'); const app = express(); app.get('/', (req, res) => res.send('Hallo von Node.js!')); app.listen(3000, () => console.log('Server läuft auf Port 3000'));
-
Starte den Server
node server.js
Zugriff unter
http://<PI_IP_ADRESSE>:3000
.
✅ Vorteile: Schnell, skalierbar, gut für APIs.
❌ Nachteile: Benötigt Grundkenntnisse in Programmierung.
Welche Option solltest du wählen?
Methode | Am besten für | Schwierigkeit |
---|---|---|
Python HTTP | Schnelles lokales Testen | ⭐☆☆☆☆ |
Apache | Statische Seiten, PHP | ⭐⭐☆☆☆ |
WordPress | Blogs, dynamische Seiten | ⭐⭐⭐☆☆ |
Node.js | Individuelle Apps, APIs | ⭐⭐⭐⭐☆ |
Zugriff auf deine Website aus dem Internet (optional)
-
Portweiterleitung: Leite Port
80
(Apache) oder8000
(Python) im Router weiter. -
Dynamic DNS: Nutze einen kostenlosen Dienst wie No-IP, falls dein ISP deine IP ändert.
-
Cloudflare Tunnel: Sicheren Remote-Zugriff ohne geöffnete Ports (fortgeschritten).
Empfehlung
-
Am einfachsten: Python-HTTP-Server (einfach
python3 -m http.server 8000
). -
Praktischste: Apache (für statische Seiten).
-
Für Blogs: WordPress.
HTTPS auf dem Raspberry Pi einrichten (für sichere Websites)
Um deine Website mit HTTPS zu schützen (verschlüsselte Verbindung), gibt es mehrere Methoden. Die einfachste ist Let’s Encrypt mit Certbot.
🔐 Option 1: HTTPS mit Let’s Encrypt (kostenlos & automatisiert)
Voraussetzung:
-
Eine öffentliche Domain (z. B.
meine-website.de
). -
Port 80 (HTTP) muss von außen erreichbar sein (Port-Weiterleitung im Router).
Schritt 1: Installiere Certbot
sudo apt update sudo apt install certbot python3-certbot-apache -y # Für Apache # ODER für Nginx: # sudo apt install certbot python3-certbot-nginx -y
Schritt 2: HTTPS-Zertifikat erstellen
sudo certbot --apache -d deine-domain.de
-
Certbot fragt nach deiner E-Mail (für Sicherheitswarnungen).
-
Wähle "2" (Redirect HTTP → HTTPS für maximale Sicherheit).
✅ Fertig! Deine Website ist jetzt unter https://deine-domain.de
erreichbar.
Automatische Verlängerung (wichtig!)
Let’s Encrypt-Zertifikate laufen nach 90 Tagen ab. Certbot verlängert sie automatisch:
sudo certbot renew --dry-run # Teste die Verlängerung
➡️ Cron-Job für automatische Verlängerung:
sudo crontab -e
Füge diese Zeile hinzu:
0 12 * * * /usr/bin/certbot renew --quiet
🔐 Option 2: Selbstsigniertes Zertifikat (für lokale Tests)
Falls du keine Domain hast (nur lokales Netzwerk):
Schritt 1: OpenSSL installieren
sudo apt install openssl
Schritt 2: Selbstsigniertes Zertifikat erstellen
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
-
Trage beliebige Daten ein (die Domain kann
localhost
sein).
Schritt 3: Apache für HTTPS konfigurieren
sudo nano /etc/apache2/sites-available/default-ssl.conf
Füge diese Zeilen hinzu (oder ersetze vorhandene):
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
Aktiviere die Konfiguration:
sudo a2enmod ssl sudo a2ensite default-ssl sudo systemctl restart apache2
➡️ Jetzt erreichbar unter https://localhost
(Browser-Warnung ignorieren, da selbstsigniert).
🌐 Option 3: Cloudflare Tunnel (ohne Port-Weiterleitung)
Falls du keinen Router-Zugriff hast:
Schritt 1: Cloudflare-Konto erstellen & Domain hinzufügen
-
Gehe zu cloudflare.com und füge deine Domain hinzu.
-
Ändere die DNS-Einträge auf die Cloudflare-Nameserver.
Schritt 2: Cloudflared auf dem Pi installieren
sudo apt install cloudflared cloudflared tunnel login cloudflared tunnel create meine-website
Schritt 3: Tunnel starten
cloudflared tunnel route dns meine-website deine-subdomain.deine-domain.de cloudflared tunnel run meine-website
➡️ Deine Website ist jetzt über HTTPS erreichbar, ohne Port-Weiterleitung!
📌 Vergleich der HTTPS-Methoden
Methode | Vorteile | Nachteile |
---|---|---|
Let’s Encrypt | Kostenlos, automatisch, vertrauenswürdig | Braucht Domain & öffentlichen Zugriff |
Selbstsigniert | Schnell für lokale Tests | Browser-Warnung, unsicher für Produktion |
Cloudflare Tunnel | Keine Port-Weiterleitung nötig | Cloudflare als Mittelsmann |
🚀 Empfehlung
-
Für echte Websites: Let’s Encrypt (beste Sicherheit).
-
Lokale Tests: Selbstsigniertes Zertifikat.
-
Kein Router-Zugriff: Cloudflare Tunnel.