Nextcloud/Migration: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
== base == | |||
== 0. Kalender auf den PC exportieren == | |||
In Nextcloud Web > Kalender > Export der .ics-Datei | |||
=== 1. Das datadirectory auf dem '''alten''' Server ermitteln === | |||
Der Pfad zum datadirectory ist in folgender Datei angegeben: | |||
<NC_ROOT>/config/config.php | |||
Häufig vorkommende NC_ROOT-Pfade: | |||
/var/www/nextcloud/config | |||
/var/www/nextcloud/html/config | |||
Wir machen das über occ: | |||
<syntaxhighlight lang="bash" copy line highlight=""> | |||
NC_ROOT="/var/www/nextcloud" | |||
HTTP_USER="www-data" | |||
sudo -u "$HTTP_USER" php "$NC_ROOT/occ" config:system:get datadirectory | |||
</syntaxhighlight> | |||
Beispielausgabe: | |||
/var/ncdata | |||
* Variable setzen: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
OLD_DATA="/var/ncdata" | |||
</syntaxhighlight> | |||
* Prüfung: | |||
Im Wurzelverzeichnis des datadirectory muss die Datei .ocdata vorhanden sein | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
ls -la "$OLD_DATA/.ocdata" | |||
</syntaxhighlight> | |||
=== 2. Wartungsmodus auf dem '''alten''' Server aktivieren === | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo -u "$HTTP_USER" php "$NC_ROOT/occ" maintenance:mode --on | |||
</syntaxhighlight> | |||
=== 3. Benutzerliste auf dem '''alten''' Server festhalten === | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo -u "$HTTP_USER" php "$NC_ROOT/occ" user:list | |||
</syntaxhighlight> | |||
* Sicherstellen, dass alle Benutzer auf dem neuen AIO-Server existieren | |||
und deren UID (Name) zeichengetreu übereinstimmt | |||
=== 4. datadirectory auf den '''neuen''' Server kopieren === | |||
Auf dem alten Server: | |||
<syntaxhighlight lang="bash" copy line highlight=""> | |||
NEW_HOST="user@10.0.0.1" | |||
DEST_DIR="/home/user/old_ncdata" | |||
rsync -aH --info=progress2 "$OLD_DATA/." "$NEW_HOST:$DEST_DIR/." | |||
</syntaxhighlight> | |||
=== 5. Backup des '''neuen''' Nextcloud AIO erstellen === | |||
Auf dem neuen Server: | |||
* AIO Web UI öffnen | |||
* Backup mit dem integrierten AIO-Mechanismus erstellen | |||
* Nach dem Backup können die Container automatisch gestoppt sein | |||
=== 6. Sicherstellen, dass die AIO-Container gestoppt sind === | |||
* Prüfung: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
docker ps | |||
</syntaxhighlight> | |||
* Der Container nextcloud-aio-nextcloud muss gestoppt sein | |||
=== 7. datadirectory in AIO leeren === | |||
Standardmäßig verwendet AIO ein Docker-Volume: | |||
nextcloud_aio_nextcloud_data | |||
Leeren: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine sh -c "rm -rf /mnt/ncdata/*" | |||
</syntaxhighlight> | |||
=== 8. datadirectory des '''alten NC''' in AIO kopieren === | |||
Auf dem neuen Server: | |||
<syntaxhighlight lang="bash" copy line highlight=""> | |||
AIO_CONTAINER="nextcloud-aio-nextcloud" | |||
STAGE_DIR="/home/user/old_ncdata" | |||
sudo docker cp --follow-link "$STAGE_DIR/." "$AIO_CONTAINER:/mnt/ncdata/" | |||
</syntaxhighlight> | |||
=== 9. Rechte für das datadirectory in AIO korrigieren (!) === | |||
* Besitzer: www-data (uid 33) | |||
* Gruppe: root (gid 0) | |||
* Rechte: 750 | |||
Auf dem neuen Server: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/ | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/ | |||
</syntaxhighlight> | |||
=== 10. AIO-Container starten === | |||
* Container über das AIO Web UI starten | |||
=== 11. Dateien in AIO neu scannen === | |||
Auf dem neuen Server: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan-app-data | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all | |||
</syntaxhighlight> | |||
=== 12. Kalender importieren === | |||
Über das WebUI importieren | |||
=== 13. Prüfung === | |||
* Funktion prüfen | |||
== Files == | == Files == | ||
Version vom 15. Dezember 2025, 11:59 Uhr
Nextcloud/Migration - Migration zu Nextcloud-AIO
Beschreibung
base
0. Kalender auf den PC exportieren
In Nextcloud Web > Kalender > Export der .ics-Datei
1. Das datadirectory auf dem alten Server ermitteln
Der Pfad zum datadirectory ist in folgender Datei angegeben:
<NC_ROOT>/config/config.php
Häufig vorkommende NC_ROOT-Pfade:
/var/www/nextcloud/config /var/www/nextcloud/html/config
Wir machen das über occ:
NC_ROOT="/var/www/nextcloud"
HTTP_USER="www-data"
sudo -u "$HTTP_USER" php "$NC_ROOT/occ" config:system:get datadirectory
Beispielausgabe:
/var/ncdata
- Variable setzen:
OLD_DATA="/var/ncdata"
- Prüfung:
Im Wurzelverzeichnis des datadirectory muss die Datei .ocdata vorhanden sein
ls -la "$OLD_DATA/.ocdata"
2. Wartungsmodus auf dem alten Server aktivieren
sudo -u "$HTTP_USER" php "$NC_ROOT/occ" maintenance:mode --on
3. Benutzerliste auf dem alten Server festhalten
sudo -u "$HTTP_USER" php "$NC_ROOT/occ" user:list
- Sicherstellen, dass alle Benutzer auf dem neuen AIO-Server existieren
und deren UID (Name) zeichengetreu übereinstimmt
4. datadirectory auf den neuen Server kopieren
Auf dem alten Server:
NEW_HOST="user@10.0.0.1"
DEST_DIR="/home/user/old_ncdata"
rsync -aH --info=progress2 "$OLD_DATA/." "$NEW_HOST:$DEST_DIR/."
5. Backup des neuen Nextcloud AIO erstellen
Auf dem neuen Server:
- AIO Web UI öffnen
- Backup mit dem integrierten AIO-Mechanismus erstellen
- Nach dem Backup können die Container automatisch gestoppt sein
6. Sicherstellen, dass die AIO-Container gestoppt sind
- Prüfung:
docker ps
- Der Container nextcloud-aio-nextcloud muss gestoppt sein
7. datadirectory in AIO leeren
Standardmäßig verwendet AIO ein Docker-Volume:
nextcloud_aio_nextcloud_data
Leeren:
sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine sh -c "rm -rf /mnt/ncdata/*"
8. datadirectory des alten NC in AIO kopieren
Auf dem neuen Server:
AIO_CONTAINER="nextcloud-aio-nextcloud"
STAGE_DIR="/home/user/old_ncdata"
sudo docker cp --follow-link "$STAGE_DIR/." "$AIO_CONTAINER:/mnt/ncdata/"
9. Rechte für das datadirectory in AIO korrigieren (!)
- Besitzer: www-data (uid 33)
- Gruppe: root (gid 0)
- Rechte: 750
Auf dem neuen Server:
sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/
sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/
10. AIO-Container starten
- Container über das AIO Web UI starten
11. Dateien in AIO neu scannen
Auf dem neuen Server:
sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan-app-data
sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all
12. Kalender importieren
Über das WebUI importieren
13. Prüfung
- Funktion prüfen
Files
Copy the structure data/<user>/files to new server
occ files:scan --all
Calendar, Contacts
Export/Import via Web
Installation
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks