Umzug von Windows zu Linux
Dieser Artikel beschreibt, wie du deine i-doit-Installation von Windows nach GNU/Linux umziehst -- ohne lange Downtime und ohne Datenverlust.
Vorbereitungen und Annahmen#
Beide Systeme müssen auf der gleichen i-doit Version sein!
Bevor du startest:
- Benutzer informieren -- Klaere alle Kollegen rechtzeitig über den Umzug und die geplante Downtime auf.
- Schnittstellen identifizieren -- Welche Drittsysteme (Nagios, ((OTRS)) Community Edition, weitere) greifen auf i-doit zu? Deaktiviere während des Umzugs den Datenzugriff, laufende Tasks, Backups und Monitoring.
- Windows-Seite -- Dieses Beispiel geht von einem XAMPP-Setup (Apache Friends) aus. Im Folgenden verwenden wir "MySQL" auch für MariaDB. Konfigurationsanpassungen solltest du auf dem neuen System übernehmen.
- Linux-Seite -- Das neue System muss vorbereitet sein und alle Systemvoraussetzungen sowie -einstellungen erfuellen. DNS, SMTP und LDAP/AD müssen erreichbar sein.
- Zugangsdaten -- Halte die Passwörter für den MySQL-Systembenutzer (
root) und den i-doit-Benutzer (idoit) bereit.
Daten aus Windows exportieren#
- Apache stoppen -- Schalte den Webserver ab, damit keine Requests eintreffen. MySQL läuft weiter.
- Dateien sichern -- Komprimiere das i-doit-Verzeichnis (z. B.
C:\xampp\htdocs\) alsi-doit.zip. -
Datenbanken exportieren -- Öffne die Eingabeaufforderung, wechsle nach
C:\xampp\mysql\bin\und führe aus:1mysqldump.exe -uidoit -p --databases idoit_system idoit_data > i-doit.sql -
MySQL stoppen -- Beende den MySQL-Prozess.
Daten nach GNU/Linux umziehen#
Kopiere die ZIP-Datei und die SQL-Datei auf den neuen Server (z. B. per WinSCP). Verbinde dich per SSH (z. B. Putty) und arbeite auf der Kommandozeile. Apache, MySQL und PHP sind bereits installiert und konfiguriert.
Datenbank#
- Importiere die Datenbank:
1mysql -uroot -p < i-doit.sql
Wenn beim einspielen der Datenbank diese Fehlermeldung erscheint "Can't create table \idoit_data.\table_name (errno: 140 "Wrong create options")". Ist die Lösung dazu HIER zu finden#
-
Richte den i-doit-Benutzer ein:
1mysql -uroot -pFühre folgende SQL-Befehle aus:
1 2
grant all privileges on idoit_system.* to idoit@localhost identified by 'mypasswd'; grant all privileges on idoit_data.* to idoit@localhost identified by 'mypasswd';Teste die Verbindung mit den neuen Credentials:
1 2
mysql -uidoit -p use idoit_system; -
Prüfe die Mandanten-Credentials:
1select * from isys_mandator; -
Prüfe auf absolute Windows-Pfade in der Datenbank (z. B.
system.dir.file-uploadundsystem.dir.image-uploadinisys_settings):1select * from isys_settingsRelative Pfade wie upload/files/ und upload/images/ sind legitim.
-
Beende den MySQL-Client mit
STRG+Doderexit;.
Dateien#
-
Entpacke die ZIP-Datei ins Zielverzeichnis (z. B.
/var/www/html/):1sudo unzip i-doit.zip -
Setze die Rechte und räume auf:
1 2 3 4 5
sudo chown www-data:www-data -R . sudo find . -type d -name \* -exec chmod 775 {} \; sudo find . -type f -exec chmod 664 {} \; sudo chmod 774 controller tenants import updatecheck *.sh sudo rm -r temp/*Lösche bei Bedarf Dateien, die noch aus der XAMPP-Installation stammen.
Teste nun, ob i-doit im Browser über die neue URL erreichbar ist. Falls nicht, analysiere die vorherigen Schritte auf Fehler.
Cronjobs#
Übertrage deine Windows-Tasks in Linux-Cronjobs. In der Regel geht es um wiederkehrende Aufgaben des CLI. Falls du bisher keine Tasks eingerichtet hattest, hole das jetzt nach.
Nacharbeiten#
- Führe Tests durch und aktiviere die Schnittstellen zu Dritt-Tools wieder.
- Stelle sicher, dass die Backups laufen.
- Informiere alle Kollegen, dass die IT-Dokumentation wieder verfügbar ist.
Der eigentliche Umzug (ohne Vor- und Nachbereitung) dauert in der Regel nicht länger als zwei Stunden.