在 VPS 上使用 SuPHP

在 VPS 上使用 SuPHP

我正在使用 WordPress CMS 运行一个网站。我尝试安装 W3 Total Cache 来加速网站文件,但我不知道该选择哪个操作码(我在 VPS 上),所以我向我的主机提交了支持单。主机回复告诉我以下内容:

您的 VPS 上不提供 APC。您的 VPS 正在使用 SuPHP 运行 PHP,因此 APC 无法与其配合使用。

> ====================================================
> -bash-3.1# hostname server.xxxxx.com
> -bash-3.1# /usr/local/cpanel/bin/rebuild_phpconf --current Available handlers: suphp dso cgi none DEFAULT PHP: 5 PHP4 SAPI: none PHP5 SAPI:
> suphp SUEXEC: enabled RUID2: not installed
> bash-3.1#
> ==================================================== 

suPHP 必不可少,因为它为服务器提供了额外的保护层。它使 php 脚本在帐户用户名下运行,而不是在用户“nobody”下运行,后者是 apache/php 在未运行 suPHP 的服务器上运行的用户。此功能使我们能够更轻松地跟踪通过用户正在运行的不安全 php 脚本出现的任何潜在安全漏洞。

如果您仍需要 APC,那么我们需要在您的 VPS 上重新编译不带 suphp 的 PHP。请注意,某些网站脚本可能无法使用不带 suphp 的 PHP。

我还在网站上运行一个使用 vBulletin 处理的论坛。我需要 suPHP 吗?为了速度而牺牲缓存是否值得删除它?我不是系统管理员,但我读到在共享服务器上最推荐使用 suphp。

答案1

您是服务器上唯一的用户吗?您是否为其他人/帐户提供托管服务?人们可以上传 php 脚本在您的服务器上运行吗?

如果以上任何一个问题的答案是肯定的,那么建议使用 SuPHP,因为它通过强制以用户身份运行(而不是以 Web 服务器运行的用户身份运行),提供了额外的保护层。如果删除 su php,则需要使用 php 读取的所有目录和文件都需要由 Web 服务器用户(通常是 nobody 或 apache 或 httpd)拥有或可写。这也导致人们在目录上设置全局可读 | 可写(IE 模式 777),以便 Web 服务器可以读取/写入它们。如果您是唯一在 VPS 上使用 Web 托管的个人/公司,那么这不是什么大问题。但如果其他人可以访问服务器,他们可以使用 PHP 通过 Web 浏览这些目录并公开信息等...因此您需要考虑到这一点。

答案2

您的 VPS 似乎预装了各种脚本,这些脚本可用于提供共享网络托管服务。其中包括 cPanel 和 suPHP。

虽然这些使用起来很方便,但如果您实际上并没有提供共享网络托管并且您是唯一使用该机器的人,那么它们大多是多余的和不必要的。

SuPHP 的设计初衷是将用户与彼此在共享托管环境中。如果您是那里唯一托管网站的人,那么这是多余的;您只需为您的应用程序可能需要的任何权限进行设置即可。

如果您愿意学习设置 Linux、Apache 等的基础知识,您可能还可以摆脱 cPanel 许可证并节省一些钱。

相关内容