主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

3

听众

16

主题
发表于 2015-4-27 14:44:11 | 查看: 1574| 回复: 3
cPanel/WHM切换PHP执行方式为APACHE2HANDLER(dso)并为Apache2添加mpm-itk模块安装了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:






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







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

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


1:wget http: // docs.cpanel. net/twiki/pub ... ules/MPM-itk.tar.gz -O /var/cpanel/easy/apache/custom_opt_mods/MPM-itk.tar.gz
2:
3:tar -C /var/cpanel/easy/apache/custom_opt_mods -xzf /var/cpanel/easy/apache/custom_opt_mods/MPM-itk.tar.gz


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

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





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

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

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

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

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



1:cd /var/cpanel/templates/apache2




修改vhost.default文件:


1:vim vhost.default


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


1:[% IF supported.mod_suphp -%]
2:   <IfModule mod_suphp.c>
3:        suPHP_UserGroup [% vhost.user %] [% vhost.group %]
4:    </IfModule>
5:[% END -%]


在它后面添加:

1:[% IF supported.itk -%]
2:    <IfModule itk.c>
3:       AssignUserId [% vhost.user %] [% vhost.group %]
4:   </IfModule>
5:[% END -%]


如图:




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

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

1:/scripts/rebuildhttpdconf
2:
3:service httpd restart

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




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

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




收藏回复 显示全部楼层 道具 举报

发表于 2015-6-15 13:25:16
现在市面上PHP5.3版本的服务器较多,但国内一些程序只能在PHP5.2主机上才能运行,例如PHPWEB、shopex等常见程序需要在PHP5.2+Zend Optimizer主机环境下才能安装运行

回复 显示全部楼层 道具 举报

发表于 2015-7-6 18:32:10
cPanel  的确是不错的  。

回复 显示全部楼层 道具 举报

发表于 2015-8-12 00:59:48
好帖,鉴定完毕,谢谢您了












回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-4 02:16 , Processed in 0.071092 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表