ISPConfig 2.3.3 zu Stable Downgrade

stanford

New Member
Schönen Sonntag,

habe eine ISPConfig 2.3.3 Installation gefunden, die ich gerne auf die aktuellste stable upgraden würde - den 2.3.x Tree gibt es gar nicht mehr, oder?

Habe schon gelesen, dass das DB Schema unterschiedlich ist - Die Frage ist: Wie unterschiedlich? Kriegt man das mit ein wenig Geduld migriert, oder besteht einfach gar keine Chance?

-Stanford
 

Till

Administrator
Der ISPConfig 2.3 Tree wurde eingestellt.

Generell müsste sich das schon migrieren lassen, da wenn ich mich recht erinnere nur Felder hiunzugekommen sind. Die Vorgehensweise wäre wie folgt:

1) Backup des Servers machen. Insbesondere würde ich noch zu einem separaten backup der verzeichnisse /root/ispconfig, /home/admispconfig und der ISPConfig MySQL Datenbank raten.

2) Als nächstes brauchst Du eine ispconfig 2 Stable Datnebank, das geht am einfachsten indem Du eine neue leere mysql DB anlegst und dann mit phpmyadmin das die db_ispconfig.sql Datei aus dem aktuellen ISPConfig 2 stable importierst. Nun vergleichst Du alle Felder in allen Tabellen von Deinem bestehenden System mit der SQL Datenbank aus Stable und löscht auf Deinem System die Spalten, die im stable nicht vorhanden sind. Sollte eine Tabelle nicht in stable vorhanden sein, dann lösche ggf. auch die komplette Tabelle.

3) Wenn du damit fertig bist, kannst Du das Ergebnis testen, indem Du alle Daten aus Deiner jetzt verkleinerten Datenbank exportierst (nur die Daten, nicht die Tabellendefinitionen) und dann in die ispconfig 2 stable Testdatenbank importierst. (Die ISPConfig 2 stable DB musst Du natürlich vorher einmal leer machen (truncate). Wenn der Import der Daten funktioniert, dann ist Dein System bereit zum downgrade.

4) Jetzt sichere bitte nochmal die geänderte Datenbank. Für den Fall dass im letzten Schritt etwas schief geht!

5) Lade das aktuelle ISPConfig 2.2.x auf den Server runter, entpacke es und führe das Update aus (setup script starten).
 

stanford

New Member
Hallo Till,

danke für die Antwort, habe mein Wartungsfenster für nächste Montag Nacht terminiert und bin dann wohl schlauer ;)

Habe die beiden Datenbankstrukturen schon mal mit einem diff verglichen, soweit sieht ja alles ganz machbar aus. Die Ergebnisse nach dem Upgrade werde ich gerne hier dokumentieren.

Drei Fragen hätte ich da noch:

Tabelle isp_isp_user

- In 2.3.3 gab es ein Feld user_ftp, dass wahrscheinlich den FTP Login regelte. In 2.2.39 gibt es das nicht mehr, dürfen da alle per FTP rein?

- In 2.3.3 gibt es ein Feld user_emaildomain, dass augenscheinlich festlegt über welche der Domains ein User E-Mails empfangen darf, gleiche Frage, wie ist das in 2.2.39 geregelt?

- Sind in den Tabellendaten, die in der db_ispconfig.sql der 2.2.39 vordefiniert sind, irgendwelche Konfigurationsvariablen, die ich neu setzen müsste nach dem Upgrade? Also soll ich wirklich alles trunkieren oder ist da noch was sinnvolles drin?

Danke!

-Stanford
 

Till

Administrator
- In 2.3.3 gab es ein Feld user_ftp, dass wahrscheinlich den FTP Login regelte. In 2.2.39 gibt es das nicht mehr, dürfen da alle per FTP rein?

Ja, alle User sind per Default FTP User.

- In 2.3.3 gibt es ein Feld user_emaildomain, dass augenscheinlich festlegt über welche der Domains ein User E-Mails empfangen darf, gleiche Frage, wie ist das in 2.2.39 geregelt?

Ein user ist unter der Domain des Webs sowie allen co-domains per email erreichbar.

- Sind in den Tabellendaten, die in der db_ispconfig.sql der 2.2.39 vordefiniert sind, irgendwelche Konfigurationsvariablen, die ich neu setzen müsste nach dem Upgrade? Also soll ich wirklich alles trunkieren oder ist da noch was sinnvolles drin?

Du musst alles trunkieren außer der doctype Tabelle.
 

stanford

New Member
Moin,

musste das Wartungsfenster verschieben, also hier was ich getan habe:

Backup des kompletten Systems und der MySQL Datenbanken.

Alle Services gestoppt bis auf MySQL und ispconfig_server.

Unnütze Felder entfernen (Danach ist die db_ispconfig für 2.3.3 Schrott! Macht Backups!)

Code:
ALTER TABLE `isp_isp_reseller`
  DROP `limit_list`,
  DROP `limit_listlimit`,
  DROP `limit_cgi_mod_perl`;

ALTER TABLE `isp_isp_user`
  DROP `user_emailweiterleitung_no_scan`,
  DROP `user_ftp`,
  DROP `user_emaildomain`;

ALTER TABLE `isp_isp_web`
  DROP `web_list`,
  DROP `web_listlimit`,
  DROP `web_mysql_quota`,
  DROP `web_mysql_quota_exceeded`,
  DROP `web_mysql_quota_used_fract`,
  DROP `web_mailquota`,
  DROP `web_cgi_mod_perl`,
  DROP `web_stats`;

ALTER TABLE `isp_isp_web_template`
  DROP `web_mysql_quota`,
  DROP `web_list`,
  DROP `web_listlimit`,
  DROP `web_mailquota`,
  DROP `web_cgi_mod_perl`;

ALTER TABLE `isp_server`
  DROP `cyrus_admin`,
  DROP `cyrus_password`,
  DROP `server_httpd_mod_perl`,
  DROP `server_mail_check_mx`,
  DROP `server_mailman_domain`,
  DROP `typo3_script_repository`;
Unnütze Tabellen entfernen (Danach ist die db_ispconfig für 2.3.3 noch mehr Schrott! Habt Backups!)

Code:
DROP TABLE `isp_isp_web_package`, `remote_session`, `remote_user`, `sys_login`, `isp_isp_list`;
Neue Datenbank anlegen

Code:
CREATE DATABASE db_ispconfig_stable
Installationsdateien und stable Datenbank vorbereiten

Code:
tar xfvz ISPConfig-2.2.39.tar.gz
cd install_ispconfig
mysql -u root -p db_ispconfig_stable < db_ispconfig.sql
Stable Datenbank leeren (bis auf doctype)

Code:
USE db_ispconfig_stable
TRUNCATE `del_status`;
TRUNCATE `dns_a`;
TRUNCATE `dns_cname`;
TRUNCATE `dns_dep`;
TRUNCATE `dns_isp_dns`;
TRUNCATE `dns_mx`;
TRUNCATE `dns_nodes`;
TRUNCATE `dns_ptr`;
TRUNCATE `dns_secondary`;
TRUNCATE `dns_spf`;
TRUNCATE `groups`;
TRUNCATE `help_documents`;
TRUNCATE `help_nodes`;
TRUNCATE `help_tickets`;
TRUNCATE `isp_com`;
TRUNCATE `isp_dep`;
TRUNCATE `isp_dienste`;
TRUNCATE `isp_fakt_artikel`;
TRUNCATE `isp_fakt_dep`;
TRUNCATE `isp_fakt_nodes`;
TRUNCATE `isp_fakt_rechnung`;
TRUNCATE `isp_fakt_record`;
TRUNCATE `isp_firewall`;
TRUNCATE `isp_htaccess`;
TRUNCATE `isp_isp_actions`;
TRUNCATE `isp_isp_admin`;
TRUNCATE `isp_isp_cron`;
TRUNCATE `isp_isp_datenbank`;
TRUNCATE `isp_isp_domain`;
TRUNCATE `isp_isp_kunde`;
TRUNCATE `isp_isp_reseller`;
TRUNCATE `isp_isp_user`;
TRUNCATE `isp_isp_web`;
TRUNCATE `isp_isp_web_template`;
TRUNCATE `isp_monitor`;
TRUNCATE `isp_nodes`;
TRUNCATE `isp_server`;
TRUNCATE `isp_serverstatus`;
TRUNCATE `isp_server_ip`;
TRUNCATE `isp_traffic`;
TRUNCATE `isp_traffic_ip`;
TRUNCATE `listtype`;
TRUNCATE `login`;
TRUNCATE `multidoc_dep`;
TRUNCATE `multidoc_nodes`;
TRUNCATE `session`;
TRUNCATE `sys_config`;
TRUNCATE `sys_dep`;
TRUNCATE `sys_modules`;
TRUNCATE `sys_news`;
TRUNCATE `sys_nodes`;
TRUNCATE `sys_user`;
TRUNCATE `user_groups`;
Aktuelle, bereinigte Datenbank in die Stable Struktur überführen

Code:
mysqldump --complete-insert --no-create-info --ignore-table=db_ispconfig.doctype -u root -p db_ispconfig > db_ispconfig_data.sql
mysql -u root -p db_ispconfig_stable < db_ispconfig_data.sql
An dieser Stelle habe ich nochmals Backups der Datenbanken gemacht ;)

Datenbanken switchen (nicht der eleganteste, aber wahrscheinlich der schnellste Weg, Backups!)

Code:
DROP DATABASE db_ispconfig;
CREATE DATABASE db_ispconfig;
Code:
mysqldump -u root -p db_ispconfig_stable > db_ispconfig_stable.sql
mysql -u root -p db_ispconfig < db_ispconfig_stable.sql
ISPconfig installieren
Code:
DROP DATABASE db_ispconfig_stable;
CAVE: ISPConfig Update / Installation Fehler ERROR: Could not make Apache | Linux Befehle
(An dieser Stelle habe ich mich über meine Backups gefreut ;))

Code:
./setup
Bis auf ein paar Änderungen in der suphp config und meinen /root/ispconfig/isp/conf/*.master Dateien schien das so weit recht problemlos. Da warten wir doch mal den Montag ab ;)

Edit: Alle Spammails kamen durch, /home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update --no-gpg tat Wunder.

-Stanford
 
Zuletzt bearbeitet:

Werbung

Top