服务器, 运营维护

cPanel/WHM切换PHP执行方式为APACHE2HANDLER(dso)并为Apache2添加mpm-itk模块

apache2handler

今天安装了cPanel/WHM 11.38.2(下文简称cp),用了后,我只能说,cPanel管理员后台的功能真的不是一般的强大,简直是把DirectAdmin甩到十万九千七亿千米去了。

但世上没有十全十美的东西,不出我的预料,cPanel使用的是suPHP,PHP执行方式是FastCGI。

前面文章我曾经提到过suPHP的缺点,这里就不再重复。

既然APACHE2HANDLER(下文简称A2R)模式的安全性,性能等多方面都比FastCGI好,怎能不对cPanel进行改造改造呢?

首先,要切换PHP的执行方式。以root身份登录cPanel的后台,在“Service Configuration »Configure PHP and suEXEC”处,把PHP 5 Handler改成dso:

php-dso

 

然后点击“Save New Configuration”cPanel就会自动修改Apache的配置文件,并且重启。顺利完成后,可以使用探针检测下,看到PHP运行方式一项为APACHE2HANDLER即可:

apache2handler

 

接下来需要用到cPanel其中一个强大的功能:EasyApache(下文简称EA)。

由于cPanel官方已经有提供EA使用的mpm-itk包,因此就不需要自己敲太多命令去编译apache,方便很多。执行以下命令为easyapache添加mpm-itk的模块包:

然后到“Software »EasyApache (Apache Update)”,其他的东西别改,点击“Start customizing based on profile”按钮,后面你也可以顺便选下Apache和PHP的版本,以及所需要的模块。点”Next Step”,到第四步时,点击“Exhaustive Options List”按钮,进入第五步。

在“Apache Built-in Modules”里面,就可以找到mpm itk一项,打钩即可:

mpm-itk

在此页面你也可以顺便添加或删除一项模块。

OK后,点击”Save and build”按钮,cPanel就会自动开始编译Apache和PHP。

时间的长短根据服务器配置而定。

由于前面cPanel编译后只是为Apache添加上了mpm-itk模块,并没有修改apache的配置文件,因此这一步需要我们手动修改apache的模板文件。

进入Apache2模板配置文件目录:

修改vhost.default文件:

找到这一段代码(大概在56-60行):

在它后面添加:

如图:vhost.default

修改完毕后,进入命令模式,:wq保存退出。

完成后重写所有站点的配置文件并且重启Apache:

最后使用PHP对网站目录进行写入操作(例如新建一个文件,创建文件夹):WHOAMI

能正常写入且所有者和群组为该站点的用户名即代表mpm-itk模块生效。

访问PHP网页时,可以看到Apache进程的用户身份也会有所改变:httpd

Comments are closed.