亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在CentOS 7.2上怎么安裝SuPHP

發布時間:2021-06-16 16:24:40 來源:億速云 閱讀:131 作者:小新 欄目:服務器

這篇文章將為大家詳細講解有關在CentOS 7.2上怎么安裝SuPHP,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

CentOS 7上PHP默認是以apache或者nobody的身份運行的,這種方式下由于PHP運行需要的權限比較大,會有安全隱患,還可能會受到服務器其他用戶影響。

SuPHP是一個apache模塊,允許PHP在與Apache用戶不同的Linux用戶之下。 這可以提高托管網站的安全性,因為您可以在其他用戶下運行每個網站的PHP腳本。 本教程介紹了從源代碼安裝的CentOS 7.2上的SuPHP,因為CentOS 7.2沒有可用的SuPHP軟件包。

先決條件

您將安裝CentOS 7.2或更高版本的服務器,我將使用本教程作為我的設置的基礎。 在第一章中,我將安裝Apache Web服務器。 如果您已經安裝了apache,請立即從第2章開始。

我的服務器將使用hostname server1.example.com和IP地址192.168.1.100。 在以下教程中將這些值替換為服務器的主機名和IP地址。

為安全起見,建議安裝防火墻,如果您還沒有安裝防火墻,可以使用以下命令進行安裝:

yum -y install firewalld

啟動防火墻并使其在啟動時啟動。

systemctl start firewalld.service
systemctl enable firewalld.service

接下來,打開您的SSH端口,以確保您能夠通過SSH連接到服務器。

firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --reload

1、安裝Apache 2.4和PHP 5

Apache和PHP在CentOS基礎存儲庫中可用,因此我們可以使用yum安裝這兩個軟件包。

安裝Apache和Aapache開發包,其中包含以后的SuPHP編譯所需的文件。

yum -y install httpd httpd-devel

PHP安裝(我添加了一些常用的PHP模塊):

yum -y install php php-mysql php-gd php-pear php-xml php-xmlrpc php-mbstring curl

我們必須使Apache能夠在引導時啟動并啟動服務。

systemctl start httpd.service
systemctl enable httpd.service

我們必須打開HTTP(80)和HTTPS(443)端口,使得Web服務器可以從其他計算機訪問。 執行以下命令配置防火墻。

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

2、安裝SuPHP

在此步驟中,我們將從源代碼編譯SuPHP。 安裝開發工具來設置所需的構建鏈。

yum -y groupinstall 'Development Tools'

并且wget可以下載源文件和nano編輯器。

yum -y install wget nano

下載SuPHP源tar.gz存檔并解壓縮它。

cd /usr/local/src
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz

CentOS 7使用Apache 2.4,所以我們必須補丁suphp,然后我們可以編譯它aganst Apache。 補丁應用如下:

wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch
patch -Np1 -d suphp-0.7.2 < suphp.patch
cd suphp-0.7.2
autoreconf -if

[root @ server1 suphp-0.7.2]#autoreconf -if
libtoolize:將輔助文件放在AC_CONFIG_AUX_DIR,`config'中。
libtoolize:復制文件`config / ltmain.sh'
libtoolize:考慮將`AC_CONFIG_MACRO_DIR([m4])'添加到configure.ac和
libtoolize:重新運行libtoolize,以保持正確的libtool宏in-tree。
libtoolize:考慮在Makefile.am中的ACLOCAL_AMFLAGS中添加`-I m4'。
configure.ac:9:warning:AM_INIT_AUTOMAKE:不支持雙參數和三參數形式。 有關更多信息,請參閱:
configure.ac:9:http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.ac:24:安裝'config / config.guess'
configure.ac:24:安裝'config / config.sub'
configure.ac:9:安裝'config / install-sh'
configure.ac:9:安裝'config / missing'
src / Makefile.am:安裝'config / depcomp'
[root @ server1 suphp-0.7.2]#

autoreconf命令應用補丁,現在我們可以如下配置新的源。 注意: 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

然后編譯并安裝SuPHP。

make
make install

然后通過添加一個新的suphp.conf文件將suPHP模塊添加到Apache配置中。

nano /etc/httpd/conf.d/suphp.conf

具有以下內容。

LoadModule suphp_module modules/mod_suphp.so

...并創建文件/etc/suphp.conf如下:

nano /etc/suphp.conf

[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"

最后,我們重新啟動Apache:

systemctl restart httpd.service

3、使用SuPHP配置Apache Vhost

在本章中,我將介紹如何在單獨的用戶下運行PHP的apache中添加虛擬主機。 我將使用域名www.example.com作為網站,PHP將作為用戶和組“ web1 ”運行,網站的文檔根目錄是/var/www/example.com

首先,添加一個新的用戶和組“web1”。

useradd web1

添加網站根目錄。

mkdir /var/www/example.com
chown web1:web1 /var/www/example.com

現在在apache conf.d目錄中添加虛擬主機配置文件。

nano /etc/httpd/conf.d/example.com.conf

為此內容:

<VirtualHost *>
 DocumentRoot /var/www/example.com
 ServerName example.com
 ServerAdmin webmaster@example.com
 
 <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>
</VirtualHost>

在ServerName和ServerAdmin行中用自己的域替換域名。

然后重新啟動apache來應用配置更改。

systemctl restart httpd.service

4、測試SuPHP設置

在本章中,我將向您展示在本網站測試PHP的幾種方法。 首先,我將創建一個使用phpinfo()函數來顯示PHP是否正常工作的文件,并且現在是否以CGI模式運行。

用nano創建一個info.php文件:

nano /var/www/example.com/info.php

并將以下行添加到新文件中:

<?php
phpinfo();

然后將文件的所有者更改為web1用戶和組。

chown web1:web1 /var/www/example.com/info.php

在網絡瀏覽器中打開文件http://example.com/info.php的URL,它將顯示以下頁面。

在CentOS 7.2上怎么安裝SuPHP

重要的是顯示CGI / FastCGI的ServerAPI行。 這表明PHP是通過SuPHP而不是mod_php運行的。

現在我將測試PHP是否運行在正確的用戶(web1)下。 SuPHP如何知道使用哪個用戶? SuPHP將PHP切換到擁有PHP腳本的用戶,因此我們的Web根文件夾/var/www/example.com中的所有PHP文件都由web1用戶和組擁有非常重要。

那么,如何測試PHP是否使用正確的用戶? 一種方法是執行返回用戶名的“whoami”命令。

我將在網站root中創建一個新腳本testuser.php:

nano /var/www/example.com/testuser.php

與此內容:

<?php
system('whoami');

然后將文件的所有者更改為web1用戶和組。

chown web1:web1 /var/www/example.com/testuser.php

在web瀏覽器中打開http://example.com/testuser.php,結果應該是: web1

在CentOS 7.2上怎么安裝SuPHP

SuPHP被配置并作為本網站的用戶執行PHP文件。 從網站目錄中刪除測試文件,并開始添加您的網站腳本。

5、將此CentOS 7.2服務器下載為虛擬機

此設置可用于以ova / ovf格式(與VMWare和Virtualbox兼容)的虛擬機下載,以了解用戶的身份。

VM的登錄詳細信息

root密碼是:howtoing
“管理員”用戶的密碼是:howtoing
請在第一次登錄時更改兩個密碼。

虛擬機的IP地址為192.168.1.100

關于“在CentOS 7.2上怎么安裝SuPHP”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄汾县| 台南市| 石城县| 洪洞县| 山阳县| 大埔区| 塘沽区| 繁昌县| 富锦市| 黄平县| 黔江区| 黑水县| 奇台县| 莱西市| 九江市| 合川市| 礼泉县| 呼伦贝尔市| 黑水县| 扎兰屯市| 盱眙县| 内乡县| 永安市| 伽师县| 拉萨市| 竹北市| 白银市| 富民县| 清丰县| 宁河县| 水富县| 兰溪市| 佛坪县| 溧阳市| 梁河县| 河曲县| 仙桃市| 辉南县| 衡南县| 福泉市| 兴仁县|