所以我正在build立一个与Apache,PHP,MySQL共享的主机,最大的问题是如何处理PHP,因为有一百万个选项可以安全地configuration它。
计划是:
我看着suexec和suphp,但他们似乎很慢;
http://blog.stuartherbert.com/php/2007/12/18/using-suexec-to-secure-a-shared-server/ http://blog.stuartherbert.com/php/2008/01/18/使用-suphp到安全-A-共享服务器/
所以我看了更多,发现了一些其他的解决scheme:
我尝试了一个简单的设置与mod_fastcgi + php-fpm,它似乎工作,运行正确的用户等,但目录旅游的保护仍然是open_basedir(?)
一个解决scheme可能是使用php-fpm的chroot选项,但是会导致很多其他问题
提示?
fpm项目做了很好的工作,可以很容易地部署共享主机解决scheme,即使是对用户进行chroot(但是,有一些可以通过symlinking解决的问题,在网上有很多关于它的教程)。
涉及php5-fpm的解决scheme需要mod_fastcgi,并允许主机使用每个用户的configuration(memory_limit,max_execution_time …只是一个例子),从我所能看到的,它是相当稳定的;)
关于解决和使用电子邮件的问题,他们很容易解决添加库到chrooted环境和需要的可执行文件(例如sendmail)。
我发现和解决的问题是关于通过php-fpm传递给php脚本的错误variables(在chroot之后,php-fpm应该删除外部目录,传递给脚本的只有chroot …但它不会和其他东西必须照顾,就像mod_fastcgi和php-fpm之间的代理)。
我已经设法解决这个问题,使用php-fpm和apache之间的fcgi代理来自动纠正这些variables,因为在我编写的时候,php-fpm并不能解决这个问题。
自从这个问题被问及和回应以来,CloudLinux已经真正成为共享主机空间中的主streamLinux发行版。 它基于RHEL / CentOS作为其上游,但有一些修改。 这里有一些细节: