亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在CentOS 7.2上安裝SuPHP的詳細(xì)方法

 更新時(shí)間:2020年02月03日 16:28:04   投稿:mdxy-dxy  
這篇文章主要介紹了在CentOS 7.2上安裝SuPHP的詳細(xì)方法,本教程介紹從源代碼安裝CentOS 7.2上的SuPHP,因?yàn)闆](méi)有可用于CentOS 7.2的SuPHP軟件包,需要的朋友可以參考下

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

SuPHP是一個(gè)apache模塊,允許PHP在與Apache用戶(hù)不同的Linux用戶(hù)之下。 這可以提高托管網(wǎng)站的安全性,因?yàn)槟梢栽谄渌脩?hù)下運(yùn)行每個(gè)網(wǎng)站的PHP腳本。 本教程介紹了從源代碼安裝的CentOS 7.2上的SuPHP,因?yàn)镃entOS 7.2沒(méi)有可用的SuPHP軟件包。

先決條件

您將安裝CentOS 7.2或更高版本的服務(wù)器,我將使用本教程作為我的設(shè)置的基礎(chǔ)。 在第一章中,我將安裝Apache Web服務(wù)器。 如果您已經(jīng)安裝了apache,請(qǐng)立即從第2章開(kāi)始。

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

為安全起見(jiàn),建議安裝防火墻,如果您還沒(méi)有安裝防火墻,可以使用以下命令進(jìn)行安裝:

yum -y install firewalld

啟動(dòng)防火墻并使其在啟動(dòng)時(shí)啟動(dòng)。

systemctl start firewalld.service
systemctl enable firewalld.service

接下來(lái),打開(kāi)您的SSH端口,以確保您能夠通過(guò)SSH連接到服務(wù)器。

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

1、安裝Apache 2.4和PHP 5

Apache和PHP在CentOS基礎(chǔ)存儲(chǔ)庫(kù)中可用,因此我們可以使用yum安裝這兩個(gè)軟件包。

安裝Apache和Aapache開(kāi)發(fā)包,其中包含以后的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能夠在引導(dǎo)時(shí)啟動(dòng)并啟動(dòng)服務(wù)。

systemctl start httpd.service
systemctl enable httpd.service

我們必須打開(kāi)HTTP(80)和HTTPS(443)端口,使得Web服務(wù)器可以從其他計(jì)算機(jī)訪(fǎng)問(wèn)。 執(zhí)行以下命令配置防火墻。

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

2、安裝SuPHP

在此步驟中,我們將從源代碼編譯SuPHP。 安裝開(kāi)發(fā)工具來(lái)設(shè)置所需的構(gòu)建鏈。

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,所以我們必須補(bǔ)丁suphp,然后我們可以編譯它aganst Apache。 補(bǔ)丁應(yīng)用如下:

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:將輔助文件放在A(yíng)C_CONFIG_AUX_DIR,`config'中。
libtoolize:復(fù)制文件`config / ltmain.sh'
libtoolize:考慮將`AC_CONFIG_MACRO_DIR([m4])'添加到configure.ac和
libtoolize:重新運(yùn)行l(wèi)ibtoolize,以保持正確的libtool宏in-tree。
libtoolize:考慮在Makefile.am中的ACLOCAL_AMFLAGS中添加`-I m4'。
configure.ac:9:warning:AM_INIT_AUTOMAKE:不支持雙參數(shù)和三參數(shù)形式。 有關(guān)更多信息,請(qǐng)參閱:
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命令應(yīng)用補(bǔ)丁,現(xià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

然后編譯并安裝SuPHP。

make
make install

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

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

具有以下內(nèi)容。

LoadModule suphp_module modules/mod_suphp.so

...并創(chuàng)建文件/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"

最后,我們重新啟動(dòng)Apache:

systemctl restart httpd.service

3、使用SuPHP配置Apache Vhost

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

首先,添加一個(gè)新的用戶(hù)和組“web1”。

useradd web1

添加網(wǎng)站根目錄。

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

現(xiàn)在在apache conf.d目錄中添加虛擬主機(jī)配置文件。

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

為此內(nèi)容:

<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行中用自己的域替換域名。

然后重新啟動(dòng)apache來(lái)應(yīng)用配置更改。

systemctl restart httpd.service

4、測(cè)試SuPHP設(shè)置

在本章中,我將向您展示在本網(wǎng)站測(cè)試PHP的幾種方法。 首先,我將創(chuàng)建一個(gè)使用phpinfo()函數(shù)來(lái)顯示PHP是否正常工作的文件,并且現(xiàn)在是否以CGI模式運(yùn)行。

用nano創(chuàng)建一個(gè)info.php文件:

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

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

<?php
phpinfo();

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

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

在網(wǎng)絡(luò)瀏覽器中打開(kāi)文件http://example.com/info.php的URL,它將顯示以下頁(yè)面。

重要的是顯示CGI / FastCGI的ServerAPI行。 這表明PHP是通過(guò)SuPHP而不是mod_php運(yùn)行的。

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

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

我將在網(wǎng)站root中創(chuàng)建一個(gè)新腳本testuser.php:

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

與此內(nèi)容:

<?php
system('whoami');

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

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

在web瀏覽器中打開(kāi)http://example.com/testuser.php,結(jié)果應(yīng)該是: web1

SuPHP被配置并作為本網(wǎng)站的用戶(hù)執(zhí)行PHP文件。 從網(wǎng)站目錄中刪除測(cè)試文件,并開(kāi)始添加您的網(wǎng)站腳本。

5、將此CentOS 7.2服務(wù)器下載為虛擬機(jī)

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

VM的登錄詳細(xì)信息

root密碼是:howtoing
“管理員”用戶(hù)的密碼是:howtoing
請(qǐng)?jiān)诘谝淮蔚卿洉r(shí)更改兩個(gè)密碼。

虛擬機(jī)的IP地址為192.168.1.100

6、鏈接

CentOS

Apache Web服務(wù)器

SuPHP

相關(guān)文章

  • 在Debian系的Linux中檢查軟件包是否被安裝的方法

    在Debian系的Linux中檢查軟件包是否被安裝的方法

    這篇文章主要介紹了在Debian系的Linux中檢查軟件包是否被安裝的方法,采用bash shell操作、適用于Ubuntu等Debian系的Linux系統(tǒng),需要的朋友可以參考下
    2015-03-03
  • 如何linux環(huán)境下配置環(huán)境變量過(guò)程圖解

    如何linux環(huán)境下配置環(huán)境變量過(guò)程圖解

    這篇文章主要介紹了如何linux環(huán)境下配置環(huán)境變量過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 菜鳥(niǎo)學(xué)Linux命令:ssh命令(遠(yuǎn)程登錄)

    菜鳥(niǎo)學(xué)Linux命令:ssh命令(遠(yuǎn)程登錄)

    本篇文章主要介紹了菜鳥(niǎo)學(xué)Linux命令:ssh命令 遠(yuǎn)程登錄 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Linux下命令行cURL的10種常見(jiàn)用法示例

    Linux下命令行cURL的10種常見(jiàn)用法示例

    curl的命令行工具功能非常強(qiáng)大,這些數(shù)據(jù)交互的功能基本上都是通過(guò)URL方式進(jìn)行的,下面這篇文章主要給大家分享了在Linux中命令行cURL的10種常見(jiàn)用法示例,通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法

    apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法

    這篇文章主要介紹了apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • linux實(shí)現(xiàn)自動(dòng)刪除最舊的幾個(gè)文件詳解

    linux實(shí)現(xiàn)自動(dòng)刪除最舊的幾個(gè)文件詳解

    最近因?yàn)楣ぷ鞯脑?,有需求要?jiǎng)h除Linux中舊的壓縮包,發(fā)現(xiàn)網(wǎng)上給的答案都是刪除N天前的文件,無(wú)法適應(yīng)我的要求,于是自己研究了一翻。所以下面這篇文章主要介紹了關(guān)于linux自動(dòng)刪除最舊的幾個(gè)文件的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • centos 7中添加一個(gè)新用戶(hù)并授權(quán)的步驟詳解

    centos 7中添加一個(gè)新用戶(hù)并授權(quán)的步驟詳解

    這篇文章主要給大家介紹了關(guān)于在centos 7中添加一個(gè)新用戶(hù)并授權(quán)的步驟,文中將實(shí)現(xiàn)的步驟介紹的非常詳細(xì),通過(guò)文中介紹的步驟可以輕松的創(chuàng)建一個(gè)新用戶(hù)并授權(quán),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • CentOS7 LNMP+phpmyadmin環(huán)境搭建 第三篇phpmyadmin安裝

    CentOS7 LNMP+phpmyadmin環(huán)境搭建 第三篇phpmyadmin安裝

    這篇文章主要介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第三篇phpmyadmin安裝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Linux利用keepalived實(shí)現(xiàn)lvs的高可用性的操作方法

    Linux利用keepalived實(shí)現(xiàn)lvs的高可用性的操作方法

    LVS是Linux Virtual Server的簡(jiǎn)寫(xiě),意即Linux虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng)。這篇文章主要介紹了Linux利用keepalived實(shí)現(xiàn)lvs的高可用性 ,需要的朋友可以參考下
    2018-09-09
  • Linux防火墻firewall設(shè)置端口訪(fǎng)問(wèn)限制方式

    Linux防火墻firewall設(shè)置端口訪(fǎng)問(wèn)限制方式

    在Linux系統(tǒng)中,firewall工具可以幫助用戶(hù)配置防火墻規(guī)則,實(shí)現(xiàn)對(duì)端口的精確限制,通過(guò)簡(jiǎn)單的命令,用戶(hù)可以開(kāi)放或移除單個(gè)端口、批量處理端口規(guī)則、查看所有開(kāi)放端口、允許或禁止特定IP或網(wǎng)段訪(fǎng)問(wèn)某端口等操作
    2024-10-10

最新評(píng)論