共享网络托管的分发/设置

共享网络托管的分发/设置

我目前正在管理一个 Gentoo 服务器,上面托管着几十个朋友和有共同兴趣的人的网站。我可能很快就会搬到一个新服务器,随之而来的是切换到另一个操作系统的可能性。我喜欢 Gentoo 的功能,它允许我修改 USE 标志,并在编译和安装之前自动修补上游源代码,但它确实有一些怪癖(tail 和cron 的行为有些微妙内核 cgroups 代码中的死锁,文件被安装时随机带有破坏的权限),并且维护成本可能相当高(我似乎无法在不破坏一半系统的情况下更新 perl)。

我推测,对于共享托管系统来说,有两件事最为重要:安全性和稳定性。虽然我通常相信我的用户不会故意做坏事,但我不能相信他们永远不会让自己的帐户受到损害(例如,安装但不更新已发现漏洞的 Web 应用程序)。用户不应该能够访问其他用户的数据、干扰其他网站的可访问性或破坏服务器。

CentOS 似乎在服务器上非常流行,尽管我个人对 rpm/yum 的有限经验相当令人沮丧(我花了一个小时才安装一个软件包)。我也听说 Ubuntu Server 很好。或者我应该坚持使用我熟悉的东西,并希望我的 Gentoo 问题只是由于配置错误或累积的垃圾而导致的,不会在全新安装中出现?(CentOS 和 Ubuntu Server 附带 SELinux/AppArmor,Gentoo 有 Hardened Gentoo 项目。)

还有 Apache 配置的问题... 使用标准 MPM 运行 mod_php 是不可能的,因为它将允许脚本访问所有用户的数据。CGI 慢得多。我现在正在使用 itk MPM,它似乎运行良好,但我想知道是否有更好的解决方案 - 大型共享托管提供商(DreamHost 等)是如何做到的?

答案1

CentOS 非常受欢迎,因为它得到了许多企业供应商的上游支持,而且系统非常稳定。迁移到这样的任何系统都会让你感觉自己被困在笼子里。你显然是一个喜欢调整的人(我同意!)。话虽如此,我认为对于共享托管系统,CentOS 或 Ubuntu Server 绝对是更好的方法,因为它可以大大简化管理。

不管怎样,您都需要花一些时间(在我看来,比学习 Gentoo 所需的时间要少得多)来学习它的工具和特性。一旦您习惯使用 apt 或 yum,它们对于简单的软件安装来说都相当不错。

无论如何,如果您的重点是 PHP/Apache 网站托管,您可以简单地使用 CentOS 或 Ubuntu 构建一个系统,并自定义构建您自己的 Apache/PHP 以满足您的确切要求。如果我是你,我会花一些时间看看系统包是否提供了您想要的配置(例如,我知道它们都提供了各种 MPM 模块)。

在 RedHat EL5 中,至少 mod_php 默认安装以 www-data 用户身份运行所有 PHP 脚本,这不允许访问所有用户的文件(这里可能我遗漏了一些东西)。

答案2

在我看来,您的问题似乎是配置错误。我已经使用 Gentoo 好几年了,到目前为止,我遇到的唯一问题是不稳定分支上的临时依赖关系中断,这个问题在几天内就修复了。我的建议是继续使用 Gentoo。在 CPU 能力方面,您不会获得太多好处,但维护时间会很长,这将让您了解 Linux 作为一个系统的运作方式。

如果您要处理大量服务器,则应考虑保留几台机器,以便编译并制作二进制包,以便以后轻松分发。这将加快将更新部署到其余服务器的速度,同时使您能够灵活地维护您自己的服务器软件版本。

至于 php,我会坚持使用对您和您的用户有用的方法。itk mpm 的选择在很大程度上取决于在 nts 模式下运行 php。

相关内容