如何自动化LAMP +邮件域部署?

我们pipe理我们或多或less标准的系统来完成通常的托pipe业务:

  • 权威的DNS服务器
  • 邮件交换器(第一阶段的垃圾邮件过滤)
  • 邮件扫描服务器(amavisd做内容扫描)
  • 邮箱服务器(实际邮箱所在的位置,运行IMAP / POP / webmail)
  • MySQL服务器
  • networking服务器

我们已经通过puppet慢慢地实现了系统的托pipeconfiguration,但下一步将是自动化服务生命周期。 目前我们有一个内部开发的解决scheme,基本上由各种服务器上的cronjob组成,这些服务器从MySQL读取数据并部署一个新的域:

  • 在DNS中创build区域,并将其中的logging指向我们的服务器
  • 可以在我们的MX中启用中继到该域
  • 为amavisd添加可选的自定义configuration域
  • 在邮箱服务器上创build邮件域
  • 在MySQL中创build具有相应权限的空数据库
  • 在Web服务器上创build目录结构,ftp证书,apache虚拟主机

99.9%的时间我们添加域,0.1%的时间我们删除它们或以某种方式洗牌 – 后者目前通过ssh手动完成。 一些系统已经分布在多个服务器上(例如分布在多个邮箱服务器上的域),另一些系统将在未来(例如MySQL)。

我们将为我们的客户开发一个简单的networking界面来pipe理他们的领域并获得新的领域,我们显然希望尽可能消除所有的人类工作。 Web界面(程序员,思维视图 )将不包含任何业务逻辑,并将会(可能通过类似REST的HTTP)与其他应用程序(程序员,思考控制器 )进行交stream。

你会介绍业务逻辑应用程序傀儡,并使用它来pipe理服务? 或者让我们直接与系统交谈? (例如,mysqlconfiguration是通过SQL来完成的,proftpd帐户+邮件中继数据+反垃圾邮件设置存储在数据库中,apache虚拟主机可以通过一个简单的代理来处理,可以做创build/configuration/清除和类似的东西)?

大型主机商店如何pipe理这种东西? 此外,任何其他build议将受到欢迎。