2008-10-06 67 views
6

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

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

回答

1

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

1

如果这是少数大型网站,您可能会发现使用类似Xen的服务器将您的服务器拆分为多个虚拟机比仅由用户隔离更好。这将改善你的网站的隔离性,并且如果将来,一个网站的资源利用率比其他网站的资源利用率更重,那么将网站移到自己的硬件上更容易。

0

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

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

如果您有超过10个域名和用户,并希望将帐户隔离到自己的空间,我会考虑在服务器上安装VirtualMin的Webmin。这很容易处理这些类型的问题,在一个很好的免费安装。否则,您将不得不购买商业产品或手动处理所有事情 - 这是一种真正的痛苦,但可以完成(不建议用于商业投资)。另外,Xen和VMS可能会过度杀伤,但也不像Webmin/VirtualMin那样容易管理10-100个账户。

0

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

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

0

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

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

当谈到安全的所有模式都有优点和缺点。

由于我们只承载了一小部分流量适中的域名,我决定留在mod_php中并使用vhost配置。

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

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