Generell würde ich das auch so machen wie nowayback geschrieben hat, Image vom Basissystem und dann ispconfig jeweils individuell drauf installieren. Die ISPConfig Installation kannst Du auch voll automatisisieren, denn ISPConfig hat jetzt einen "unattended install mode". Du kannst also alle Fragen die der Installer stellt vorab in einer ini style Datei oder php Datei beantworten (siehe docs/autoinstall_samples/ im ispconfig.tar.gz für Beispiele.
-------------------------------------------------------------------------------------
- Noninteractive (autoinstall) mode
-------------------------------------------------------------------------------------
The autoinstall mode can read the installer questions from a .ini style file or from
a php config file. Examples for both file types are in the docs folder.
See autoinstall.ini.sample and autoinstall.conf_sample.php.
run:
php install.php --autoinstall=autoinstall.ini
or
php install.php --autoinstall=autoinstall.conf.php
Mit der php style Datei kann man auch folgendes nette szenario machen:
1) Du erstellst ein Basisimage mit allen notwendigen Diensten, aber ohne ispconfig.
2) Du legst eine ispconfig Kopie irgendwo ab, meinetwegen in /tmp und fügst:
/usr/bin/php /tmp/ispconfig_install/install/install.php --autoinstall=/root/autoinstall.conf.php
in der rc.local datei ein.
Die /root/autoinstall.conf.php ist ja eine normale php Datei, Du könntest sie also so erweitern dass sie die IP Deines Servers bestimmt der gerade installiert wird und sich dann z.B. per http request von einem zentralen config server so in der Art "http://meinconfigserver.tld/getconfig?ip=1.2.3.4&secret=abc" die Konfiguration des neuen servers live läd.
Du müsstest dann also nur noch die Config für den Server mit IP 1.2.3.4 hinterlegen und sobald du eine vm mit der IP startest installiert sie sich vollautomatisch. Auf die Art könntest Du auch hunderte Server gleichzeitig ohne zusätzlichen Administrationsaufwand installieren.
Aber nicht vergessen die rc.local nach der installation zu ändern und ispconfig aus /tmp zu löschen