管理 Apache Web 服务器的推荐方法

管理 Apache Web 服务器的推荐方法

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

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

我想尝试消除 a) 迁移网站和 b) 设置新网站或更改设置任务的繁琐。我想知道是否值得设置 cPanel 或类似工具来帮助将工作从 shell 中抽象出来(减少手动操作...),或者也许是另一个工具...

有问题的企业不会将托管服务转售给普通大众,而只是托管他们创建和管理的网站,因此网站所有者不一定需要访问权限来更改设置等...

有什么想法或建议吗?

答案1

这听起来像是在请求一个脚本。我非常注重 shell 脚本,但 perl 可能更适合解析相关的虚拟主机配置(我在这里假设您正在使用虚拟主机配置)。我不知道有什么自动化工具,但我建议当您将它们迁移到新站点时,集中精力使它们更易于访问。

如果您运行了那么多虚拟站点,那么将每个配置封装在 httpd.conf 下的自己的子目录中会很有帮助,可能是 /etc/httpd.d/sites/siteA、siteB 等等。在这些子目录中,您还可以存储任何相关证书等。有了 /var/www/sites/ 下同名的子目录,以后使用起来会容易得多。

答案2

只有 20 个网站。如果您不需要定期进行迁移,那么手动操作是最省时的解决方案。

答案3

为了避免这两种情况...

  1. 管理费用
  2. 和人为错误

...你为什么不看看CF引擎

很多人会认为这可能是一种过度的做法,但如果你仔细想想,你就不会想实施你的服务器管理框架您的网络足够复杂,因此有必要使用它。趁现在还简单的时候开始吧,随着您的需求增长(例如更多 Web 服务器、添加其他服务),您无需进行重大更改,而且已经熟悉并熟悉了管理工具。

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

答案4

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

Chef 配置语言是纯 Ruby DSL,而 Puppet 使用自己定制的 DSL。

Opscode 提供了多种厨师食谱,包括 Apache。Apache cookbook 可用于为特定站点和 php/rails/django web 应用程序设置静态 vhost 文件。

Puppet 有一些 Apache2食谱,但我有一段时间没看过它们了。

相关内容