CentOS 7上為PHP5安裝suPHP的方法(彭哥)
CentOS 7上PHP默認(rèn)是以apache或者nobody的身份運(yùn)行的,這種方式下由于PHP運(yùn)行需要的權(quán)限比較大,會(huì)有安全隱患,還可能會(huì)受到服務(wù)器其他用戶影響。
通過(guò)phpinfo查看PHP信息如下:
apache運(yùn)行php
可以看出來(lái),PHP目前是作為Apache的一部分在運(yùn)行,而不會(huì)為每個(gè)腳本運(yùn)行一個(gè)獨(dú)立進(jìn)程。如果希望PHP腳本運(yùn)行時(shí)是以當(dāng)前用戶的身份而不是Apache,可以通過(guò)部署suPHP來(lái)實(shí)現(xiàn)。接下來(lái)介紹如何在CentOS 7上安裝suPHP。
先配置安裝suphp所需的環(huán)境:
yum -y groupinstall 'Development Tools'
yum -y install apr-devel
yum -y install httpd-devel
下載suphp安裝包:
mkdir temp
cd temp
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz
下載并安裝suphp補(bǔ)丁:
wget -O patchingsuphp.patch https://www.webhostinghero.com/downloads/php/suphp.patch
patch -Np1 -d suphp-0.7.2 < patchingsuphp.patch
cd suphp-0.7.2
autoreconf -if
運(yùn)行./configure:
./configure --prefix=/usr/ --sysconfdir=/etc/ --with-apr=/usr
/bin/apr-1-config --with-apache-user=apache --with-setid-mode=owner
--with-logfile=/var/log/httpd/suphp_log
編譯并安裝:
make
make install
在Apache配置目錄下創(chuàng)建suphp.conf
vi /etc/httpd/conf.d/suphp.conf
并寫(xiě)入:
LoadModule suphp_module modules/mod_suphp.so
/etc目錄下創(chuàng)建suphp.conf配置文件:
vi /etc/suphp.conf
并寫(xiě)入配置文件內(nèi)容如下:
[global]
;Path to logfile
logfile=/var/log/httpd/suphp.log
;Loglevel
loglevel=info
;User Apache is running as
webserver_user=apache
;Path all scripts have to be in
docroot=/
;Path to chroot() to before executing script
;chroot=/mychroot
; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true
;Send minor error messages to browser
errors_to_browser=false
;PATH environment variable
env_path=/bin:/usr/bin
;Umask to set, specify in octal notation
umask=0077
; Minimum UID
min_uid=100
; Minimum GID
min_gid=100[handlers]
;Handler for php-scripts
x-httpd-suphp="php:/usr/bin/php-cgi"
;Handler for CGI-scripts
x-suphp-cgi="execute:!self"
如果希望domainname這個(gè)目錄以用戶user身份運(yùn)行,那么修改目錄所有者屬性為user,如下:
chown -R [user].[user] /var/www/html/[domainname]
最后在Apache配置文件中找到相應(yīng)域名,并開(kāi)啟suphp:
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler None
</FilesMatch>
<IfModule mod_suphp.c>
suPHP_Engine on
<FilesMatch "\.php[345]?$">
SetHandler x-httpd-suphp
</FilesMatch>
suPHP_AddHandler x-httpd-suphp
</IfModule>
最后重啟Apache文件。通過(guò)info.php測(cè)試可以發(fā)現(xiàn)運(yùn)行該域名的Server API已經(jīng)由Apache變成CGI/FastCGI了,如下圖所示:
到這里我們即完成了CentOS為某個(gè)域名訪問(wèn)設(shè)置通過(guò)suphp的方式來(lái)運(yùn)行,而不用默認(rèn)的Apache Handler運(yùn)行。其他域名需要設(shè)置,按照以上步驟操作一遍即可。
相關(guān)文章
linux搭建FastDFS文件服務(wù)器的實(shí)現(xiàn)步驟
本文主要介紹在linux服務(wù)器如何搭建FastDFS文件服務(wù)器。文中通過(guò)圖文示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Linux下Android開(kāi)發(fā)環(huán)境搭建的操作方法
下面小編就為大家分享一篇Linux下Android開(kāi)發(fā)環(huán)境搭建的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12Linux曝出Sudo提權(quán)漏洞 任意用戶亦可運(yùn)行root命令
近期曝出的一個(gè)提權(quán)漏洞,卻直指 sudo 的一個(gè)安全策略隱患 —— 即便配置中明確不允許 root 用戶訪問(wèn),該漏洞仍可允許惡意用戶或程序,在目標(biāo) Linux 系統(tǒng)上以 root 用戶身份執(zhí)行任意命令2019-10-10VMware虛擬機(jī)安裝Linux系統(tǒng)圖文教程
這篇文章主要為大家詳細(xì)介紹了VMware虛擬機(jī)安裝Linux系統(tǒng)教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Apache網(wǎng)頁(yè)的優(yōu)化、安全與防盜鏈圖文詳解
防盜鏈就是防止別人的網(wǎng)站代碼里面盜用服務(wù)器的圖片、文件、視頻等相關(guān)資源,下面這篇文章主要給大家介紹了關(guān)于Apache網(wǎng)頁(yè)的優(yōu)化、安全與防盜鏈的相關(guān)資料,需要的朋友可以參考下2022-10-10