Eine Typo3-Installation auf einen neuen Server umziehen ist sehr tricky. Typo3 verzeiht nicht den geringsten Fehler und reagiert oft sehr empfindlich. Das folgende Script migriert Typo3 automatisch auf einen neuen Server und setzt alle nötigen Zugriffsrechte (File Permissions) für Typo3. Die verbleibende Handarbeit danach bleibt überschaubar.
Typo3 Serverumzug
Zuerst sollte man die technischen Voraussetzungen auf dem Zielserver prüfen. Das Wichtiges: Die PHP-Version muss stimmen. In der zur Typo3-Version passenden Doku finden sich genaue Vorgaben, was die PHP-Version angeht.
Wird die PHP-Version beim Provider nicht unterstützt, bleibt noch als letzter Ausweg einen Server zu wählen, der Docker-Container unterstützt. Hier hat man die Möglichkeit z.B. noch PHP 5.6 oder 7.0 weiter im Container zu betreiben.
Das Script zum Typo3-Serverumzug benötigt folgende Voraussetzungen:
- Root-Zugang per SSH auf dem Zielserver.
- LFTP muss auf dem Zielserver vorinstalliert sein. Mehr zu LFTP hier.
- FTP-Zugang auf dem Quellserver.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#!/bin/bash # # Sync a Typo3 installation via FTP # # (c)2018 Hararld Schneider # Config.start # SRC_HOST=DOMAIN.DE SRC=/ DST=httpdocs USR=USERNAME PWD=PASSWORD OWNER=USERNAME GRP=psacln GRPSRV=psaserv # # Config.end MYPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo read -p "Delete contents of ${DST} ? [Y/N] " prompt if [[ $prompt == "n" || $prompt == "N" || $prompt == "no" || $prompt == "No" ]]; then echo "No action taken." else echo "Deleting ..." rm -R ${DST}/* 2>/dev/null rm -R ${DST}/.* 2>/dev/null fi echo echo "Syncing files ..." echo lftp ftp://${USR}:${PWD}@${SRC_HOST} -e "set ftp:ssl-allow no;set ftp:list-options -a;glob -d mirror --parallel=3 --use-cache --verbose --only-newer ${SRC} ${DST};quit" echo echo "Adjusting permissions - this can take a while ..." find ${DST} -exec chown ${OWNER}:${GRP} {} \; chown ${OWNER}:${GRPSRV} ${DST} echo "Fixing permissions for T3 symlinks ..." cd ${DST}/public_html chown -h ${OWNER}:${GRP} t3lib typo3 typo3_src index.php cd ${MYPATH} |
Das Script um Typo3 auf einen neuen Server zu migrieren benötigt folgende Konfigurations-Variablen:
- SRC_HOST: Der Name des FTP-Servers der alten Typo3-Installation
- SRC: Der Pfad zur Typo3 Installation auf dem o.g. FTP-Server
- DST: Der Pfad zu Typo3 auf dem Zielserver
- USR: Der FTP-User der alten Typo3-Installation
- PWD: Das Passwort des o.g. Users
Zur automatischen Anpassung der Typo3 Zugriffsrechte (File Permissions) müssen folgende Variablen gesetzt werden:
- OWNER: Der Eigentümer der Typo3-Installation auf dem Zielserver.
- GRP: Die Benutzergruppe auf dem o.g. Server. Unter Plesk ist das ‘psacln’
- GRPSRV: Die Gruppe für Serverdienste auf dem o.g. Server: Unter Plesk ist das ‘psaserv’
Typo3 auf neuen Server umziehen: Nacharbeiten
Nach Umzug aller Ordner und Files, kann die Typo3-Datenbank ebenfalls elegant per Skript migriert werden. Mehr zum Umzug von MySQL hier.
Haben sie die Zugangsdaten zur Typo3-Datenbank geändert, so sind diese in der Datei typo3conf/localconf.php anzupassen.
Als nächstes meldet man sich am Typo3 Backend an und leert den Cache von Typo3.
Danach sollte auch das Typo3-Frontend klaglos anspringen :-)