Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

uberspace2uberspace
Alle Anleitungen in diesem Wiki beziehen sich auf Uberspace 6. Die Dokumentation für U7 findest du im neuen Manual. Im Lab findest du außerdem von Usern erstellte Anleitungen für verschiedene Projekte.

Uberspace 6 basiert auf CentOS 6, welches ab Ende 2020 keine Updates mehr bekommt. Wir raten dir, bis dahin auf Uberspace 7 umzuziehen. Eine Anleitung zum Umzug findest Du hier: uberspace2uberspace

Migrationen von Uberspace zu Uberspace

Diese Anleitung ist noch nicht fertig und wird ständig erweitert. Bitte benutze Informationen von dieser Seite keinesfalls „blind“. Dies ist keine Copy-and-Paste-Anleitung. Lies die Anleitung daher erst einmal komplett durch bevor du loslegst.

Aufgrund des Ende November 2020 auslaufenden Supports für CentOS 6, der Distribution unter Uberspace 6, müssen wir deren Betrieb einstellen. Für dich kann das bedeuten, dass du deine bisher dort gehosteten Webseiten, Mails, Services und sonstige Daten auf einen neuen Account umziehen musst.

Um dir diesen Umzug möglichst leicht zu machen stellen wir Anleitung und mit „uberspace-move-account“ ein Tool bereit, das einen Großteil der anfallenden Schritte für dich erledigt.

Beachte dies bitte beim Copy und Paste: In allen folgenden Beispielen geht es darum, Daten vom fiktiven Account cathy auf dem fiktiven Server castor.uberspace.de in den fiktiven Account paula auf dem fiktiven Server pollux.uberspace.de zu übertragen.

Vorbereitung

Bevor es richtig losgeht, verschaffe dir einen Überblick der Daten und Dienste auf deinem Account. Idealerweise mistest du vor dem Umzug noch einmal richtig aus um keinen unnötigen Ballast zu bewegen. Was Du dir in jedem Fall vorab anschauen solltest:

Domains

Zum Auflisten aufgeschalteter Domains kannst du den Befehl uberspace-list-domains verwenden. Er versteht die Flags -w für Domains aus der Webserver-Konfiguration:

[cathy@castor ~]$  uberspace-list-domains -w

… und -m um Domains aus der Mailserver-Konfiguration aufzulisten:

[cathy@castor ~]$  uberspace-list-domains -m

Alle Domains die dir dabei aufgelistet werden und die du nicht mehr benötigst, kannst du dann mittels uberspace-del-domain - welches zusätzlich den bekannten Flags -w und -m noch -d, um die Domain zu bestimmen benötigt - entfernen:

[cathy@castor ~]$  uberspace-del-domain -d <überflüssige Domain> -wm

Noch über uns registrierte Domains können über einen U7 Account nicht berechnet werden und müssen daher gelöscht oder an einen neuen Registrar überführt werden. Unser uberspace-move-account findet solche Domains allerdings und wird dir anbieten, den Vorgang anzustoßen.

Mailaccounts

Eine Liste eingerichteter Mail User erhältst du mittels listvdomain:

[cathy@castor ~]$ listvdomain

Nicht mehr benötigte wirst du mit vdeluser los:

[cathy@castor ~]$  vdeluser <überflüssigr Mail User> 

Namensräume

Hast du Mail Domains, die noch mit Namensraum eingetragen sind, müssen diese und zugehörige Postfächer gesondert auf den Umzug vorbereitet werden, da Namensräume nicht mehr unterstützt werden.

Bitte sei dir bewusst, dass dies beutetet, dass unter Uberspace 7 in jedem Fall alle Kombinationen aus eingetragenen Domains und angelegten Mailboxen erreichbar sind und in jeweils einer Mailbox landen. Mails an info@domain-a.tld gelangen also ans gleiche Ziel wie solche an info@domain-b.tld. Die einzig saubere Möglichkeit dies zu verhindern ist, pro Domain einen Account zu nutzen.

Im Folgenden beschrieben wird sowohl die Abspaltung einzelner Domains zum Weiterbetrieb in dedizierten Accounts - was wir ausdrücklich empfehlen - als auch das Zusammenführen in einem.

Zunächst gilt es die betreffenden Mailboxen zu identifizieren. In der Ausgabe von listvdomain erkennst sie am Namensschema [<namensraum>-<mailbox>]. Hast Du also zum Beispiel eine Domain mit Namensraum 'afa' und der E-Mail-Adresse 'alerta@', würde sich in der Ausgabe von listvdomain die Zeile afa-alerta Yes und unter ~/users/ das zugehörige Maildir gleichen Namens finden.

Variante 1. - Trennung nach Domain

Sollte dein aktueller Account noch über keinen SSH-Key verfügen, legst du jetzt einen an:

[cathy@castor ~]$ PATH="/package/host/localhost/openssh-7/bin:$PATH"
[cathy@castor ~]$ ssh-keygen -t ed25519 -a 100

Und kopierst Dir den Public Key:

[cathy@castor ~]$ cat ~/.ssh/<id_ed25519>.pub 

(Die Ausgabe einfach in die Zwischenablage kopieren)

Jetzt legst du dir einen Uberspace7 Account für die zu isolierende Domain an, hinterlegst den SSH-Key und loggst dich via SSH ein.

Dort trägst Du dann die Domain ein:

[new_account@new_host ~]$ uberspace mail domain add <Deine Domain> 

Die Ausgabe kopierst du dir für später und legst die dazugehörigen Mailboxen an:

[new_account@new_host ~]$  uberspace mail user add <Mailbox>  

Begibst dich anschließend in den alten Account und überträgst den Inhalt der Mailboxen:

[cathy@castor ~]$ rsync -rtuv ~/users/<namespace>-<mailbox>/ -e ssh -i ~/.ssh/<id_ed25519>  <new_account>@<new_account>.uber.space:/home/<new_account>/users/mailbox/

Das machst du für jede Mailbox - oder mit gleich für alle:

[cathy@castor ~]$ for m in $(ls -1 users/ |grep <namespace>- |cut -d '-' -f2); do  rsync -rtuv ~/users/<namespace>-${m}/ -e ssh -I t ~/.ssh/<id_ed25519>  <new_account>@<new_account>.uber.space:/home/<new_account>/users/${m}/;  done

Nun kannst Du beim Registrar den MX- und SPF-Record hinterlegen, die Du beim Eintragen der Domain im neuen Account bekommen und für später kopiert hast.

Nun muss in allen Mail-Clients der Host und ggf. auch das Passwort angepasst werden.

Um dem Verlust von Mails vorzubeugen empfiehlt sich nach ein paar Stunden den rsync nochmal zu wiederholen um eventuell noch an den alten Host zugestellte Mails einzusammeln:

[cathy@castor ~]$ for m in $(ls -1 users/ |grep <namespace>- |cut -d '-' -f2); do  rsync -rtuv ~/users/<namespace>-${m}/ -e ssh -I t ~/.ssh/<id_ed25519>  <new_account>@<new_account>.uber.space:/home/<new_account>/users/${m}/;  done

Wenn nun alles geht, können jetzt Domain und Mailboxen aus dem alten Account gelöscht werden:

[cathy@castor ~]$ uberspace-del-domain -d <domain> -m 
[cathy@castor ~]$ for u in $(ls -1 users/ |grep <namespace>- ); do  vdeluser  ${u} ;  done

Das wiederholst du für jede Domain, die getrennt werden soll und machst dann mit Variante 2 weiter, so noch eine Domain mit Namespace da ist die mit soll.

Variante 2. zusammenführen oder auflösen eines einzelnen Namespace

Für jede Mailbox innerhalb eines Namensraumes legst Du nun zunächst eine entsprechende ohne Namensraum an:

[cathy@castor ~]$ vadduser <mailbox>

Und überträgst die Inhalte der bisherigen in diese:

[cathy@castor ~]$ rsync -rt ~/users/<namensraum>-<mailbox>/* ~/users/<mailbox>

Solltest Du Mailboxen mehrerer Namespaces zusammenführen musst Du den letzten Schritt für jeden dieser Namespaces wiederholen.

Nachdem das für alle Mailboxen erledigt ist, trägst du nun die Domains einmal aus:

[cathy@castor ~]$  uberspace-del-domain -d <Domain> -m

Und dann ohne Namensraum wieder ein:

[cathy@castor ~]$  uberspace-add-domain -d <Domain> -m

Um eventuell in der Zwischenzeit eingegangene Mails nicht zu verlieren, kannst Du den rsync-Befehl noch um ein -u ergänzen, um Dateien die im Ziel neuer sind als in der Quelle zu überspringen und für jede Mailbox wiederholen:

[cathy@castor ~]$ rsync -rtu ~/users/<namensraum>-<mailbox> ~/users/<mailbox>

Nachdem du überprüft hast, ob alle Mailboxen funktionieren und ihre Inhale komplett sind, kannst Du die alten vuser mitsamt ihrer Mailboxen löschen :

[cathy@castor ~]$ vdeluser <namespace>-<mailbox>

Dateien

Auch nach nicht mehr benötigten Daten solltest du einmal schauen. Diese finden sich vor allem im Homeverzeichnis:

[cathy@castor ~]$ ls $HOME

Und im DocumentRoot:

[cathy@castor ~]$ ls /var/www/virtual/$USER/html

Beziehungsweise daneben:

[cathy@castor ~]$ ls /var/www/virtual/$USER

Alles was du nicht mehr brauchst, kannst du einfach löschen.

Services

Dienste die du bisher mittels daemontools am Leben gehalten hast, können nicht 1:1 übertragen werden, da wir unter U7 auf supervisord - ein moderneres Werkzeug - umgestiegen sind. Schaue dir also an, was da bei dir noch läuft:

[cathy@castor ~]$ svstat ~/service 

Und wenn unser Manual und die offizielle Doku noch Fragen offen lassen, dann wende dich gerne an unseren Support.

MySQL

Unter Uberspace7 sind die Mindestanforderungen an das MySQL-Passwort insofern gestiegen, als das es jetzt mindestens 16 Zeichen lang sein muss. Bei den meisten U6 Accounts ist das auch jetzt schon der Fall, wenn aber nicht, dann gehe so vor:

Du generierst dir eine (mindestens) 16 Zeichen langes Passwort

[cathy@castor ~]$ pwgen 16 1

Und das Ergebnis setzte Du _zuerst_ in MySQL selbst

[cathy@castor ~]$ mysql -e "SET Password=PASSWORD('<das_eben_generierte_passwort>')"

Erst dann öffnest du die ~/.my.cnf mit einem Editor Deiner Wahl und änderst es auch dort.

MariaDB

Gehörst du zu den Usern, die schon unter U6 MariaDB-Datenbanken über einen einstmals von uns bereitgestellten SSH-Tunnel auf einem externen Host betreiben?

Falls ja, dumpe dir diese bitte manuell und spiele sie auch nach dem Umzug im neuen Account ebenso selbst wieder ein.

Für einzelne Datenbanken:

[cathy@castor ~]$ mysqldump --defaults-file=~/.my.mariadb.cnf <database> > <database>.sql

Oder gleich alle:

[cathy@castor ~]$ mysqldump --defaults-file=~/.my.mariadb.cnf --all-databases > maria.sql

Environment

Solltest du beim SSH-Login mittels SendEnv irgendetwas mitbringen, das nicht language[_country].UTF-8 ist, unterbinde es bitte für die Dauer des Umzuges. Falls du nicht weißt, was damit gemeint ist aber einen  Mac nutzt, guck bitte einmal ob dir das hier bekannt vorkommt und stelle es ggf. ab.

Der eigentliche Umzug

Wenn du nun alles überfüssige aussortiert hast, kann es an den eigentlichen Umzug gehen.

Zunächst benötigst du einen frischen Uberspace7 Account. Alle neu angelegten Accounts landen automatisch auch auf einem aktuellen System. Deinen Usernamen kannst du dabei nicht behalten.

Und dann kann es auch schon losgehen. Je nach Datenbestand kann dieser Schritt etwas dauern - befinde dich also am besten nicht gerade ‚auf dem Sprung‘

Mit dem Tool uberspace-move-account sammelst du nun Einstellungen, Mails, Domains, MySQL-Datenbanken und Daten unterhalb von $HOME und /var/www/virtual/$USER ein und überträgst sie an deinen neuen User, den du mit dem Flag -u übergibst:

[cathy@castor ~]$ uberspace-move-account -u <neuer Account>

Hast du vorab bereits einen eigenen SSH-Key hinterlegt, kannst du auch den übergeben. Ergänze den Aufruf einfach um -k <Pfad/zum/private/key> :

[cathy@castor ~]$ uberspace-move-account -u paula -k <private Key>

Bitte achte auf alle Ausgaben des tools und prüfe anschließend sorgfältig ob alles da ist und funktioniert.

Nach dem Umzug

In jedem Fall wird es nötig sein Konfigurationen anzupassen. Im neuen Account für Software, die auf Datenbanken Zugreift oder in deren Konfiguration irgendwie absolute Pfade hinterlegt sind, die noch vom alten Account ausgehen.

Hast du ezmlm-Listen umgezogen, musst du in deinem neuen Account zunächst ezmlm-idx installieren und dann folgendes ausführen:

[paula@pollux ~]$ ezmlm-make -+ /home/$USER/ezmlm-<liste> /home/$USER/.qmail-<liste> <liste> <domain>

Bei deinem Registrar musst du die DNS-Records deiner Domains anpassen und in allen Mail-Clients aller Mail User den neuen Server hinterlegen.

Wenn du dir ganz sicher bist, dass alles im neuen Account funktioniert und alle benötigten Daten entweder auf den neuen Account übertragen oder anders gesichert sind, kannst Du die „Umbuchen“ Funktion im Dashboard des alten Account nutzen um dein verbleibendes Guthaben auf den neuen zu übertragen.

Wenn du deine Account via Dauerauftrag lädst, denke bitte unbedingt daran im Verwendungszweck den alten mit dem neuen Usernamen zu ersetzen damit wir Deine Zahlungen auch richtig zuordnen können.

Und wenn auch das alles passiert ist, kannst du den alten Account, auch über das Dashboard, löschen.

Fortsetzung folgt

Ein Uberspace bietet große Flexibilität, und viele User nutzen ihn auf Arten, die wir nie vorgesehen haben, die aber dank jener Flexibilität dennoch funktionieren. Es ist daher schlicht unmöglich, Migrationsanleitungen für Dinge zu schreiben, oder Tools zu bauen, die alles berücksichtigen, was User sich selbst installiert haben und über deren Vorhandensein und Aufbau nur sie selbst im Bilde sind. Informationen zur Migration von Dingen, die für eine größere User-Zahl interessant/relevant sind, werden wir hier an dieser Stelle ergänzen, wo es sinnvoll möglich ist.

uberspace2uberspace.txt · Zuletzt geändert: 2020/05/07 05:53 von uberspace