Das Thema wurde bereits mehrfach im Forum von allen Seiten angesprochen. Inzwischen habe ich hierfür auch konkreten Bedarf.
Als LC-Admin möchte ich in der Serververwaltung die Konfiguration jedes konfigurierten/ aktivierten Dienstes (einzeln) auf Knopfdruck aktualisieren lassen.
Vorstellbar ist z.B. das bei jedem Dienst (webserver/mda/mta/mysqld/etc.) ein Button "Konfiguration aktualisieren" o.ä. angezeigt wird.
Dieses Feature wird relevant wenn man Server mit den o.g. Diensten neu deployed und anschließend die Konfiguration wiederherstellen muss - ohne Migration zu einem anderen Server. Real World Beispiel: Disaster Recovery. Konfigurationsdaten (!) müssen nicht mehr zwingend regelmäßig gesichert werden. Die Gefahr das Backups mit veralteten Konfigurationsdaten bei der DR Probleme machen entfällt.
Auch bei der Migration zu einem anderen Server hilft dieses Feature ungemein beim Aufsetzen der Dienste.
Selbstverständlich muss man für die Sicherung der Benutzerdaten selber sorgen:
* /var/www/<vertrag>/{htdocs,priv,logs,tmp}
* /var/mail/<vertrag>/<id>/
* MySQL DBs, Users/ Grants, mysql datadir
* etc.
Die Haupt-Konfigurationsdateien (main.cf, master.cf, apache2.conf, dovecot.conf, etc.) unterliegen in meinem Fall einem Configuration Management.
Apache:
* Dateien innerhalb von /etc/apache2/ bzw. /etc/httpd neuerstellen
* Homeverzeichnis jedes Benutzers/ Verzeichnis anlegen wenn nicht vorhanden mit LC-Skeleton (/var/www/webx)
* /var/www/<vertrag>/conf/ aktualisieren (php5 dir)
Dovecot:
* /etc/dovecot/passwd neuerstellen
* Mailbox-Verzeichnisse in /var/mail/<vertrag>/ anlegen
Postfix:
* main.cf/master.cf neuerstellen
* Lookup Tables/ Maps neuerstellen: recipient_access, sender_access, virtual_domains, virtual_alias
ProFTPd:
* Dateien in /etc/proftpd neuerstellen (inkl. passwd)
MySQL:
Nginx:
Bind:
Sonstiges:
* fehlende cronjobs anlegen/ ggf. aktualisieren
* Alle Benutzer/Gruppen (webX) der Verträge anlegen wenn nicht vorhanden oder ggf. Benutzerattribute anpassen
kk:
Welche Prio geben Sie diesem Feature Request? Aus meiner (externen) Sicht müsste man die jeweiligen LUA-Skripte dahingehend um Funktionen erweitern, die komplette Datensätze (oder schrittweise Teilmengen davon) entgegennehmen und dann z.B. für jeden User/ Vertrag die gewünschte Funktion ausführen (z.B. addMailbox/editMailbox, configureVHost, etc.).
Im Optimalfall iteriert der LC-Server einfach durch alle Datensätze (verträge mit webserver, mailboxes, etc.) und führt wie aktuell auch für jeden einzelnen Eintrag die o.g. LUA-Funktionen aus und setzt bei einem LC-Crash/neustart die Arbeit fort.
Das Neuerstellen von den Haupt-Konfigurationsdateien der Dienste sollte ja ziemlich simpel sein.