Dieses Dokument beschreibt die Migration bestehender Webspaces und MySQL/MariaDB-Datenbanken von IONOS Webhosting auf den Strato Dedicated Server sowie die Anpassung der DNS-Einträge.
1. DNS-Konfiguration bei IONOS
Damit der Web-Traffic (HTTP/HTTPS) sowie Subdomains auf den neuen Strato Dedicated Server geleitet werden, wurden die DNS-Records bei IONOS wie folgt angepasst:
1.1 Web-Records (Anpassen auf Strato IP)
- Hauptdomain (@): Typ
A| Hostname@| Wert82.165.96.51(Alte IPv6 AAAA-Einträge von IONOS wurden entfernt, um Konflikte zu vermeiden) - WWW-Subdomain: Typ
A| Hostnamewww| Wert82.165.96.51 - Service-Subdomains:
- Typ
A| Hostnamegit| Wert82.165.96.51 - Typ
A| Hostnamepanel| Wert82.165.96.51 - Typ
A| Hostnamegameserver| Wert82.165.96.51
- Typ
1.2 Unveränderte Records (Mail & Verifikation)
- E-Mail-Dienste (MX, TXT / SPF, DKIM CNAMEs): Bleiben unangetastet bei IONOS, um den laufenden E-Mail-Betrieb nicht zu unterbrechen.
- Game/Service Verification (TXT): Bleiben für Drittanbieter-Validierungen (z. B. Hytale) aktiv.
2. Datenbank-Infrastruktur (web-mariadb)
Für alle Webseiten/Webspaces läuft ein isolierter MariaDB-Container unter /opt/containers/webspaces/db im internen proxy-net (ohne direkte Port-Freigabe nach außen).
2.1 Deployment
mkdir -p /opt/containers/webspaces/db
cd /opt/containers/webspaces/db
Erstelle die docker-compose.yml:
services:
web-db:
image: mariadb:10.11
container_name: web-mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: "DEIN_STARKES_ROOT_PASSWORT"
volumes:
- ./mysql_data:/var/lib/mysql
networks:
- proxy-net
networks:
proxy-net:
external: true
2.2 Datenbank-Import Workflow
- Datenbank und User in MariaDB anlegen:
docker exec -it web-mariadb mysql -u root -p
CREATE DATABASE meinedb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'meindbuser'@'%' IDENTIFIED BY 'STARKES_PASSWORT';
GRANT ALL PRIVILEGES ON meinedb.* TO 'meindbuser'@'%';
FLUSH PRIVILEGES;
EXIT;
.sql-Dump aus Backup importieren:
docker exec -i web-mariadb mysql -u root -p'DEIN_ROOT_PASSWORT' meinedb < /path/to/backup.sql
3. Webspace Container & Nginx Proxy Manager
Jeder Webspace liegt isoliert unter /opt/containers/webspaces/<projektname>
Ordner für die Webseiten anlegen:
mkdir -p /opt/containers/webspaces/<projektname>/html
3.1 Beispiel-Setup (docker-compose.yml)
services:
web:
image: php:8.2-apache
container_name: web-orbis-craft
restart: unless-stopped
volumes:
- /opt/containers/webspaces/<projektname>/html:/var/www/html
networks:
- proxy-net
networks:
proxy-net:
external: true
- DB-Host in Webspace-Configs (z. B. `wp-config.php`): `web-mariadb` (über Docker DNS im `proxy-net`).
3.2 Routing & SSL im Nginx Proxy Manager
-
Proxy Host anlegen:
-
Domain Names:
orbis-craft.de,www.orbis-craft.de -
Scheme:
http -
Forward Hostname / IP:
web-orbis-craft(Container-Name) -
Forward Port:
80 -
Aktiviere Block Common Exploits und Websockets Support.
-
-
SSL Tab:
-
SSL Certificate:
Request a new SSL Certificate (Let's Encrypt) -
Aktiviere Force SSL und HTTP/2 Support.
-
4. Status-Checklist
- [ ] DNS A-Records für
@,www,git,panelundgameserverauf82.165.96.51gesetzt. - [ ] Alte IONOS AAAA-Records (IPv6) entfernt.
- [ ] Shared-Datenbank
web-mariadbgestartet und SQL-Dumps importiert. - [ ] Webspace-Dateien übertragen und Datenbank-Verbindungskonfiguration angepasst.
- [ ] Kombiniertes Let's Encrypt SSL-Zertifikat für
@undwwwim NPM erfolgreich ausgestellt. - [ ] Webseiten sind verschlüsselt und erreichbar unter
https://orbis-craft.deundhttps://www.orbis-craft.de.