Linux用户和LAMP服务器组

根据linux用户和组build立LAMP服务器的最佳做法是什么? 如果在同一台服务器上托pipe多个站点,最好是拥有一个拥有与apache相同组中的所有站点源文件(并上传)的单个用户,或者为每个站点拥有不同的用户每个站点都有自己的crontab)? 还是其他什么东西?

出于某种原因,这个问题似乎从来没有在我遇到的PHP / MySQL / Linux书籍中得到解决。

Solutions Collecting From Web of "Linux用户和LAMP服务器组"

在我们的平台上,每个站点的htdocs等都有自己的用户。 这意味着如果一个网站被攻陷,其他网站应该没问题。

如果这是少量的大型网站,您可能会发现使用像Xen这样的东西将您的服务器拆分为多个虚拟机比单纯按用户分离要好。 这将改善你的网站的隔离性,并且如果将来一个网站的资源利用率比另一个网站的资源利用率更重,则可以更容易地将网站移动到自己的硬件上。

我假设你不想疯狂,并得到WHM的cPanel,并可能想要做到这一点expesnively。

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

如果您有超过10个域名和用户,并希望将帐户隔离到自己的空间,我会考虑使用Webmin与服务器上安装的VirtualMin。 这很容易处理这些类型的问题,在一个很好的免费安装。 否则,你将不得不购买商业产品或手动处理所有事情 – 这是一个真正的痛苦,但可以完成(不建议商业冒险)。

另外,Xen和VMS可能是过度杀毒,但也不像Webmin / VirtualMin那样容易管理10-100个账户。

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

如果您为每个网站使用相同的用户,那意味着来自网站A的用户可以访问对网站B的文件的读/写。

我做了几年的小型主机托管,我的答案是“这取决于”。

首先Apache模块(mod_php)有区别。 CGI和FastCGI。 一个很好的清单,所有的优点和缺点可以在这里找到: Apache的PHP模式

说到安全,所有的模式都有优点和缺点。

由于我们只托管了一小部分流量适中的域名,所以我决定继续使用mod_php并使用vhost配置。

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

配置虚拟主机(每个客户一个)可以让你轻松地关闭域,而无需通过一个可笑的大httpd.conf挖掘方式,并在路上产生错误。