1. 程式人生 > >CentOS 7.4——Apache應用之一,構建Web虛擬目錄

CentOS 7.4——Apache應用之一,構建Web虛擬目錄

Apache——構建Web虛擬目錄

目錄
第一部分 準備工作
第二部分 安裝Apache服務
第三部分 搭建虛擬目錄(開放訪問與授權認證訪問)

第一部分 準備工作
一:服務器:Linux系統—CentOS 7.4;
IP地址:192.168.80.10
技術分享圖片
客戶端:以WIN7為例,測試驗證結果,與服務器在同一網段;
IP地址:192.168.80.2

二:下載壓縮包
http://httpd.apache.org/download.cgi //http壓縮包
http://apr.apache.org/download.cgi //http插件包
技術分享圖片
//apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz是httpd2.4以後的版本所需要的插件,必須安裝

三:將防火墻與selinux關閉
技術分享圖片

第二部分 安裝Apache服務
一:安裝編譯工具與插件
[root@localhost ~]# yum -y install \

gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

二:解壓:
[root@localhost ~]# tar xf apr-1.6.2.tar.gz
[root@localhost ~]# tar xf apr-util-1.6.0.tar.gz
[root@localhost ~]# tar xf httpd-2.4.29.tar.bz2
技術分享圖片
//將插件放入httpd目錄下
[root@localhost ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr

[root@localhost ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

三:配置(自定義個性化配置)
[root@localhost ~]# cd httpd-2.4.29 //必須進入安裝目錄下
[root@localhost httpd-2.4.29]# ./configure \

--prefix=/usr/local/httpd \ //指定將httpd程序安裝到/usr/local/httpd目錄下
--enable-so \ //啟用動態加載模塊功能
--enable-rewrite \ //啟用網頁地址重寫功能,用於網站優化及目錄遷移

--enable-charset-lite \ //啟用字符集支持,以便支持使用各種字符集編碼的網頁
--enable-cgi //啟用CGI腳本程序支持,便於擴展網站的應用訪問能力

四:編譯及安裝
[root@localhost httpd-2.4.29]# make && make install

//將httpd服務添加到系統服務
[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.29]# vi /etc/init.d/httpd
添加以下兩行(註意,“#”不能省略):
技術分享圖片
保存退出
[root@localhost httpd-2.4.29]# chkconfig --add httpd //將httpd加入到SERVICE管理器
[root@localhost httpd-2.4.29]# systemctl daemon-reload //重載系統系統管理器

五:編輯httpd主配置文件
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
修改以下內容:
ServerName www.aa.com
保存退出
技術分享圖片

//優化執行路徑(執行程序文件的原路徑不在PATH環境變量中,做個軟鏈接使其可以執行)
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

//檢查語法錯誤
[root@localhost httpd-2.4.29]# httpd –t
或者:[root@localhost httpd-2.4.29]# apachectl –t
技術分享圖片
//查看程序版本
技術分享圖片

六:啟動服務
[root@localhost httpd-2.4.29]# systemctl start httpd
[root@localhost httpd-2.4.29]# systemctl enable httpd //將httpd設為開機啟動
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80 //查看httpd服務運行狀態
技術分享圖片

七:驗證
用WIN7客戶端訪問服務器
瀏覽器訪問:http://192.168.80.10
技術分享圖片
驗證成功
(註意,網頁默認顯示內容為:/usr/local/httpd/htdocs/index.html)
技術分享圖片

第三部分 搭建Web虛擬目錄
一:編輯http主配置文件
[root@localhost ~]# vi /etc/httpd.conf
Include conf/conf.d/*.conf //新增此行用來包含子配置文件
保存退出

二:創建虛擬目錄配置文件
[root@localhost ~]# cd /usr/local/httpd /conf/ //進入httpd安裝目錄
[root@localhost conf]# mkdir conf.d
[root@localhost conf]# cd conf.d
[root@localhost conf]# touch vdir.conf

三:搭建Web虛擬目錄
//方案一:開放訪問,不需要帳戶密碼即可訪問
第一步:編輯配置文件
[root@localhost conf.d]# vi vdir.conf
添加以下內容:
Alias /doc/ "/usr/share/doc/" //定義共享別名(訪問時可直接訪問doc目錄)
<Directory "/usr/share/doc">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny //定義白名單
Allow from all //編輯白名單 ,讓所有人可以訪問
Require all granted //打開此目錄的訪問權限(允許所有人訪問)
</Directory>
保存退出

第二步:重啟服務
[root@localhost conf.d]# systemctl restart httpd //重啟服務
[root@localhost conf.d]# netstat -anpt | grep http //查看httpd運行狀態
技術分享圖片

第三步:驗證
Win7下瀏覽器訪問http://192.168.80.10/doc/
技術分享圖片
驗證成功

//方案二:授權訪問,需要帳戶密碼才能訪問
第一步:編輯配置文件
[root@localhost conf.d]# vi vdir.conf
添加以下內容(將原來內容刪除):
Alias /share/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthName "Wellcom!!" //認證名稱
AuthType Basic //認證類型
AuthUserFile /usr/local/httpd/user //認證用戶文件
require valid-user
#Require all granted
</Directory>
保存退出

第二步:重啟服務
[root@localhost conf.d]# systemctl restart httpd
[root@localhost conf.d]# netstat -anpt | grep httpd
技術分享圖片

第三步:創建認證用戶
[root@localhost conf.d]# htpasswd -c /usr/local/httpd/user test //加-c創建user帳戶文件,然後創建用戶test,輸入兩遍密碼
[root@localhost conf.d]# htpasswd /usr/local/httpd/user jack //創建用戶jack,輸入兩遍密碼
[root@localhost conf.d]# cat /usr/local/httpd/user //查看創建的用戶
技術分享圖片

第四步:驗證
Win7下瀏覽器訪問http://192.168.80.10/share/
技術分享圖片
輸入帳戶與密碼登錄
技術分享圖片
驗證成功

CentOS 7.4——Apache應用之一,構建Web虛擬目錄