Zum Inhalt springen

Nextcloud/Migration: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
DanielZorin (Diskussion | Beiträge)
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