Die Wahl des richtigen Hosting-Angebots für eine Website kann schnell überwältigend werden. Moderne Cloud-Plattformen wie AWS oder Azure bieten zwar umfassende Lösungen, sind für viele Projekte jedoch überdimensioniert. Die Folge: hohe Kosten durch zusätzliche Dienste für Protokolle, Datenbanken oder Backups. Doch es geht auch einfacher – mit einem virtuellen Server (VPS), der volle Kontrolle bei minimalem Aufwand ermöglicht.
Ein konkretes Beispiel: Ein WordPress-Blog benötigt keine komplexe Infrastruktur. Statt einer teuren EC2-Instanz bei AWS mit monatlichen Kosten von rund 18,80 US-Dollar (ca. 16 Euro) lässt sich ein VPS bei Hetzner mit vergleichbarer Leistung für etwa 5 Euro pro Monat realisieren. Der Unterschied liegt in der Flexibilität und den deutlich geringeren Betriebskosten.
Wer Wert auf Datenschutz und kurze Ladezeiten legt, sollte zu europäischen Anbietern wie Hetzner greifen. Hier lässt sich ein Ubuntu-Server mit integriertem Backup-Speicher und vorgefertigten Konfigurationen provisionieren. Die Einrichtung erfolgt in wenigen Schritten – von der Servererstellung bis zur automatisierten Bereitstellung.
Warum ein VPS die bessere Wahl ist
Viele Nutzer scheitern an der sogenannten „Analyse-Paralyse“: Der Glaube, für jede Funktion einen separaten Dienst buchen zu müssen. Doch für einen einfachen Blog reichen oft wenige Komponenten aus:
- Ein Webserver (z. B. Nginx)
- Eine Datenbank (z. B. MariaDB)
- Ein Docker-Container für WordPress
- Ein automatisiertes Backup-System
Die Vorteile eines VPS liegen auf der Hand:
- Kosteneffizienz: Keine versteckten Gebühren für verwaltete Dienste.
- Kontrolle: Volle Zugriffsrechte auf das System, ohne Abhängigkeiten.
- Skalierbarkeit: Ressourcen lassen sich bei Bedarf einfach anpassen.
- Datenschutz: Europäische Serverstandorte erfüllen strenge Compliance-Vorgaben.
Für Entwickler und Blogger, die Wert auf Einfachheit legen, ist ein VPS damit die ideale Lösung.
Schritt-für-Schritt: VPS für WordPress einrichten
Der Einrichtungsprozess folgt einem klaren Muster. Zunächst wird der Server konfiguriert, anschließend die Software installiert und schließlich die automatische Bereitstellung aktiviert.
1. Server beim Anbieter provisionieren
Der erste Schritt erfolgt über das Hetzner-Dashboard:
- Wählen Sie einen Tarif mit mindestens 2 vCPUs und 4 GB RAM.
- Wählen Sie „Ubuntu 22.04 LTS“ als Betriebssystem.
- Aktivieren Sie die Option für automatische Backups (falls verfügbar).
- Fügen Sie Ihren öffentlichen SSH-Schlüssel hinzu, um später eine sichere Anmeldung zu ermöglichen.
Ein wichtiger Hinweis: Nutzen Sie das Cloud-Config-Feld, um während der Erstellung ein Startskript auszuführen. Dieses installiert alle notwendigen Pakete und richtet Sicherheitsfunktionen ein.
2. Grundlegende Software installieren
Nach dem ersten Login werden folgende Komponenten eingerichtet:
- Docker & Docker Compose: Für die containerisierte Bereitstellung von WordPress und MariaDB.
- Nginx: Als Webserver mit Reverse-Proxy-Funktion.
- UFW & Fail2Ban: Für Firewall und Intrusion-Detection.
- Certbot: Zur automatischen SSL-Zertifikatsverwaltung.
Ein Beispielskript für die Cloud-Config sieht wie folgt aus:
#cloud-config
package_update: true
package_upgrade: true
packages:
- git
- curl
- ufw
- fail2ban
- unattended-upgrades
- nginx
- certbot
- python3-certbot-nginx
auth:
- sudoers
- ubuntu ALL=(ALL) NOPASSWD: /bin/systemctl reload nginx
runcmd:
- apt-get update && apt-get install -y docker.io docker-compose
- systemctl enable --now docker
- ufw allow 22/tcp
- ufw allow 80/tcp
- ufw allow 443/tcp
- ufw enableDieses Skript stellt sicher, dass der Server nach dem ersten Start sofort einsatzbereit ist.
3. WordPress mit Docker bereitstellen
Die Anwendungslogik wird über eine docker-compose.yml Datei definiert:
version: "3.8"
services:
db:
image: mariadb:10.6
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: ${DB_PASSWORD}
restart: unless-stopped
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_DB_NAME: wordpress
ports:
- "8080:80"
restart: unless-stopped
volumes:
db_data:
wordpress_data:Die wichtigsten Punkte:
- Die Datenbank läuft als separater Container.
- WordPress nutzt ein benanntes Volume für persistente Daten.
- Umgebungsvariablen für Passwörter sollten aus Sicherheitsgründen über
.envgeladen werden.
4. Nginx als Reverse-Proxy konfigurieren
Nginx übernimmt die Weiterleitung der Anfragen an den WordPress-Container. Eine Beispielkonfiguration für die Entwicklungsumgebung:
# /etc/nginx/sites-available/wordpress.conf
server {
listen 80;
server_name wordpress.local;
location / {
proxy_pass
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}Für die Produktionsumgebung wird zusätzlich SSL aktiviert:
server {
listen 443 ssl;
server_name deine-domain.de;
ssl_certificate /etc/letsencrypt/live/deine-domain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/deine-domain.de/privkey.pem;
location / {
proxy_pass
}
}5. Automatisierung mit GitHub Actions
Ein CI/CD-Pipeline automatisiert die Bereitstellung. Die Workflow-Datei .github/workflows/deploy.yml sieht wie folgt aus:
name: Deploy WordPress
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Copy files to server
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ubuntu
key: ${{ secrets.SSH_PRIVATE_KEY }}
target: "/home/ubuntu/app"
- name: Restart containers
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ubuntu
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /home/ubuntu/app
docker compose down
docker compose up -dWichtige Sicherheitshinweise:
- Verwenden Sie SSH-Schlüssel als Secrets.
- Beschränken Sie die Berechtigungen des Deploy-Keys auf Lesezugriff.
- Nutzen Sie
.env-Dateien für sensible Daten.
Fazit: VPS als zukunftssichere Lösung
Ein VPS bietet eine kostengünstige und flexible Alternative zu teuren Cloud-Diensten. Mit Docker, Nginx und automatisierten Workflows lässt sich WordPress in weniger als einem Nachmittag betriebsbereit machen. Die Wartung beschränkt sich auf gelegentliche Updates und Backups – alles Weitere übernimmt die Infrastruktur.
Für Entwickler und Blogger, die Wert auf Kontrolle und Datenschutz legen, ist diese Lösung nicht nur wirtschaftlich, sondern auch nachhaltig. Die Einrichtung mag anfangs etwas technisches Know-how erfordern, doch die langfristigen Vorteile überwiegen bei Weitem die anfängliche Hürde.
KI-Zusammenfassung
Web sitenizi barındırmak için VPS hizmetini seçin. Hetzner gibi sağlayıcılar, düşük maliyetli ve yüksek performanslı sunucular sunar. Docker ve Nginx ile basit ve güvenli bir web sitesi barındırma işlemi gerçekleştirebilirsiniz.