推荐的方式来pipe理Apache Web服务器

我负责将一大堆(20个左右)的网站迁移,其中一些使用SSL证书,一些使用数据库,从旧服务器迁移到新服务器。

有问题的服务器是专用的托pipeLinux机器(旧的是RedHat,新的是CentOS),并且都只安装了Webmin。

我想尝试去除a)迁移站点和b)设置新站点或更改设置的任务。 我想知道是否值得设置cPanel或类似的帮助抽象的工作远离壳(less手册…),或者也许另一个工具…

有问题的业务不转售给乔公共托pipe,更多只是托pipe网站创build和pipe理的网站,所以网站所有者不一定需要访问更改设置等…

想法,build议?

这听起来像是要求一个脚本。 我非常以shell脚本为中心,但是perl可能更容易parsing相关的虚拟主机configuration(我假设您使用的是虚拟主机configuration)。 我不知道有一个自动化的工具,但我build议,当你把它们迁移到新的网站时,你会专注于使它们更容易访问。

如果你正在运行这么多的虚拟站点,它会让你把每个configuration封装在httpd.conf下的子目录中,或者是/etc/httpd.d/sites/siteA,siteB等等。在这些子目录中,你可以还存储任何相关的证书等。 使用/ var / www / sites /下类似命名的子目录,将来会更容易使用。

这只有20个网站。 假设您不必定期进行迁移,手动执行此操作是最具时效性的解决scheme。

为了避免两个…

  1. pipe理开销
  2. 和人为错误

…你为什么不看cfengine

许多人会认为这可能是一个矫枉过正的问题,但是如果你仔细想想, 你的networking足够复杂以保证它的地位之后 ,你不想实施你的服务器pipe理框架。 从现在开始,虽然很简单,随着需求的增长(例如更多的Web服务器,通常添加其他服务),您不必进行大幅度的更改,并且已经对pipe理工具熟悉且经验丰富。

cfengine不是唯一的工具,还有其他的(如木偶)。

我当然假设你的新服务器是一个专用的虚拟服务器,在那里你有root权限来安装你喜欢的任何东西。

我通常不安装Plesk或cPanel,而是安装Virtualmin,因为安装脚本会照顾到virtualmin,webmin,mysql,apache,postfix和其他你需要的东西。

现在,Virtualmin并不完美, 默认安装将所有的虚拟主机放到apacheconfiguration文件中,而我更喜欢在“虚拟主机”文件夹中创build单独的.conf文件,但是对于pipe理虚拟主机和数据库帐户以及所有这些单调乏味的东西来说,这是非常好的。

您也可以使用Webminpipe理cron作业,启动时启动的进程等。

附加:尽pipe如此,您可能仍然需要进行大量的手动复制和编辑才能使所有的工作重新开始,因为您可能会更改操作系统,软件版本和目录结构。 但我不认为这有什么。

你需要一个configurationpipe理系统。 厨师和木偶是两个不错的select。 两者都是用Ruby编写的,它们都使用声明性语法来定义资源,并且都非常适合pipe理Apache服务器和网站。

Chefconfiguration语言是纯粹的Ruby DSL,而Puppet使用自己的自定义DSL。

Opscode提供了各种主厨食谱 ,包括Apache。 Apache的食谱可以用来为特定的网站和php / rails / django web应用程序设置静态的vhost文件。

木偶有一些Apache2的食谱 ,但我没有看过他们的一段时间。