6

就 linux 用户和组而言,设置 LAMP 服务器的最佳实践是什么?如果在同一台服务器上托管多个站点,最好让一个用户拥有与 apache 位于同一组中的所有站点源文件(和上传) - 还是每个站点都有不同的用户(这样每个站点都有自己的 crontab)?还是完全不同的东西?

出于某种原因,我遇到的 PHP/MySQL/Linux 书籍似乎从未解决过这个问题。

4

5 回答 5

1

On our platform each site's htdocs etc has it's own user. This means if one site is compromised, the others should be fine.

于 2008-10-06T15:38:45.887 回答
1

If this is a small number of large sites, you may find that splitting your server into multiple VMs using something like Xen is a better option than simply segregating by user. This will improve the isolation of your sites, and make it easier to move a site to its own hardware if, in future, one starts to become much heavier on resource usage than the others.

于 2008-10-06T15:44:06.407 回答
0

我假设您不想发疯并为 cPanel 获得 WHM,并且可能希望以低廉的价格执行此操作。

我认为让每个用户从他们自己的用户名和组访问他们的空间是一个最佳实践 - 特别是如果不相关的用户可能正在使用网络服务器。

如果您有超过 10 个域和用户,并且希望将帐户隔离到自己的空间,我会考虑使用 Webmin 并在服务器上安装 VirtualMin。这很容易在一个不错的免费安装中处理这些类型的问题。否则,您将不得不购买商业产品或手动处理所有事情 - 真的很痛苦,但可以做到(不推荐用于商业企业)。

此外,Xen 和 VMS 可能有点矫枉过正,但也不像 Webmin/VirtualMin 那样易于管理 10-100 多个帐户。

于 2008-10-06T18:40:16.007 回答
0

最好的选择是使用 Apache 和 suPHP 模块为每个域创建 VirtualHost。通过这种方式,每个站点将归一个用户所有,并在该用户的许可下运行。每个站点的 webroot 都应该放在用户的 homedir 下,以防止本地攻击。

如果您为每个网站使用相同的用户,这意味着来自 websiteA 的用户可以读取/写入 websiteB 的文件。

于 2014-03-02T16:00:05.067 回答
0

几年来,我做了某种小型托管,我的回答是“视情况而定”。

首先Apache Module(mod_php)是有区别的。CGI 和 FastCGI。可以在这里找到一个包含所有优点和缺点的好列表: Apache php 模式

在安全性方面,所有模式都有利有弊。

由于我们只托管了相对少量的流量适中的域,我决定继续使用 mod_php 并使用 vhost 配置。

我还为每个虚拟主机根目录使用了不同的 FTP 用户(当然)。

配置虚拟主机(每个客户一个)允许您以简单的方式关闭域,而无需通过一个可笑的大 httpd.conf 并在途中产生错误。

于 2014-05-20T19:05:53.880 回答