Heim Der Blog Blog Details

Wie man auf dem Raspberry Pi 4 am einfachsten eine Website erstellt?

April 23 2025
Ampheo

Anfrage

Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.

SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
Das Erstellen einer Website auf einem Raspberry Pi 4 ist einfach! Hier ist die einfachste Methode mit leichtgewichtigen Tools.

Das Erstellen einer Website auf einem Raspberry Pi 4 ist einfach! Hier ist die einfachste Methode mit leichtgewichtigen Tools:

Wie man auf dem Raspberry Pi 4 am einfachsten eine Website erstellt? - Blog - Ampheo


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:

  1. Erstelle einen Website-Ordner

    bash
     
     
    mkdir ~/meine_website && cd ~/meine_website
  2. Erstelle eine index.html-Datei (einfaches HTML)

    bash
     
     
    nano index.html

    Füge dieses Beispiel ein:

    html
     
     
    <!DOCTYPE html>
    <html>
    <head>
        <title>Meine Raspberry Pi Website</title>
    </head>
    <body>
        <h1>Hallo vom Raspberry Pi!</h1>
    </body>
    </html>
  3. Starte den Python-HTTP-Server

    bash
     
     
    python3 -m http.server 8000
  4. 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 mit hostname -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:

  1. Installiere Apache

    bash
     
     
    sudo apt update && sudo apt install apache2 -y
  2. Teste Apache

    • Öffne http://localhost oder http://<PI_IP_ADRESSE> im Browser.

    • Du solltest die Standard-Apache-Seite sehen.

  3. Ersetze die Standard-Seite

    bash
     
     
    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:

  1. Installiere LAMP-Stack (Linux, Apache, MySQL, PHP)

    bash
     
     
    sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php -y
  2. Lade WordPress herunter

    bash
     
     
    cd /var/www/html
    sudo wget https://de.wordpress.org/latest.tar.gz
    sudo tar -xzvf latest.tar.gz
    sudo mv wordpress/* .
  3. Richte MySQL ein

    bash
     
     
    sudo mysql -u root

    Im MySQL-Shell:

    sql
     
     
    CREATE DATABASE wordpress;
    CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'passwort';
    GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
  4. 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:

  1. Installiere Node.js

    bash
     
     
    curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt install nodejs -y
  2. Erstelle einen einfachen Server

    bash
     
     
    mkdir ~/node_website && cd ~/node_website
    npm init -y
    npm install express

    Erstelle server.js:

    javascript
     
     
    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'));
  3. Starte den Server

    bash
     
     
    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)

  1. Portweiterleitung: Leite Port 80 (Apache) oder 8000 (Python) im Router weiter.

  2. Dynamic DNS: Nutze einen kostenlosen Dienst wie No-IP, falls dein ISP deine IP ändert.

  3. Cloudflare Tunnel: Sicheren Remote-Zugriff ohne geöffnete Ports (fortgeschritten).


Empfehlung

  • Am einfachstenPython-HTTP-Server (einfach python3 -m http.server 8000).

  • PraktischsteApache (für statische Seiten).

  • Für BlogsWordPress.

 

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

bash
 
 
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

bash
 
 
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:

bash
 
 
sudo certbot renew --dry-run  # Teste die Verlängerung

➡️ Cron-Job für automatische Verlängerung:

bash
 
 
sudo crontab -e

Füge diese Zeile hinzu:

bash
 
 
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

bash
 
 
sudo apt install openssl

Schritt 2: Selbstsigniertes Zertifikat erstellen

bash
 
 
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

bash
 
 
sudo nano /etc/apache2/sites-available/default-ssl.conf

Füge diese Zeilen hinzu (oder ersetze vorhandene):

apache
 
 
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

Aktiviere die Konfiguration:

bash
 
 
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

  1. Gehe zu cloudflare.com und füge deine Domain hinzu.

  2. Ändere die DNS-Einträge auf die Cloudflare-Nameserver.

Schritt 2: Cloudflared auf dem Pi installieren

bash
 
 
sudo apt install cloudflared
cloudflared tunnel login
cloudflared tunnel create meine-website

Schritt 3: Tunnel starten

bash
 
 
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.

 

Ampheo