上面兩篇文章介紹瞭如何安裝CentOS系統和配置PHP開發環境,這次介紹如何配置Apache虛擬主機。
參考了CentOS7 初次安裝記錄(五)配置 apache 虛擬主機,修改了部分內容。
配置Apache虛擬主機
1)修改vhost.conf文件,設置虛擬域名;
配置虛擬主機我知道的有兩種方式,一是直接在主配置文件(/etc/httpd/conf/httpd.conf)修改,但是該文件比較重要,要是改錯了地方就會很麻煩;二是在 /etc/httpd/conf.d/ 下面建立一個 vhost.conf 文件,這樣比較容易管理。這裏採用第二種。
//新建一個名爲vhost.conf的文件
vim /etc/httpd/conf.d/vhost.conf
//下面是我的vhost.conf裏的內容
<VirtualHost *:80>
#綁定的主域
ServerName localhost
#網站主目錄
DocumentRoot /var/www/
<Directory "/var/www">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
#
# 測試網站一
#
<VirtualHost *:80>
#綁定的主域
ServerName test.com
#綁定的子域名
ServerAlias www.test.com
#網站主目錄
DocumentRoot /home/visionz/website/test/
DirectoryIndex index.html index.php
#日誌配置
ErrorLog /home/visionz/web_log/test.error.log
CustomLog /home/visionz/web_log/test.access.log common
#ServerSignature Off
</VirtualHost>
#測試一的配置
<Directory "/home/visionz/website/test/">
Options FollowSymLinks ExecCGI
AllowOverride All
Order Deny,Allow
Allow from All
Require all granted
</Directory>
// 如果有更多內容,重複上面的
2)修改hosts文件,指定域名對應地址;
因爲當前DNS服務器是無法將我們的配置的虛擬域名解析成我們的IP地址,因此需要配置hosts,把test.com指向當前主機IP。
//編輯hosts文件
vim /etc/hosts
//以下是我hosts文件內容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 test.com www.test.com
3)新建文件夾website、web_log、以及index.php文件;
在步驟一,我們的項目位置設置在/home/visionz/下面,因此需要建立相應的文件夾和文件
//建立website、web_log文件夾
mkdir /home/visionz/website
mkdir /home/visionz/web_log
//建立index.php文件
mkdir /home/visionz/website/test
touch /home/visionz/website/test/index.php
//修改index.php文件
vim /home/visionz/website/test/index.php
//內容爲
<?php
echo "hello world.";
?>
//重啓服務
systemctl restart httpd.service
4)把visionz文件夾權限設置成777;
在步驟三重啓服務後,進行訪問test.com,發現出現“You don’t have permission to access / on this server”的報錯。
查看錯誤日誌文件,發現以下信息:
[core:crit] [pid 5129] (13)Permission denied: [client 127.0.0.1:37927] AH00529: /home/visionz/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/home/visionz/' is executable
因爲web的數據目錄爲/home/visionz/website目錄。因visionz目錄的權限爲700,導致了其他用戶無法讀取文件。
將visionz目錄的權限修改爲777,問題解決。
//修改權限
chmod 777 /home/visionz
//重啓服務
systemctl restart httpd.service
5)在本機訪問虛擬機虛擬域名;
如果有在本機訪問虛擬機的必要,也是通過修改hosts文件,把虛擬域名指向虛擬主機IP。
我的電腦是windows系統,因此修改C:\windows\system32\drivers\etc下面的hosts文件即可。
//在尾部增加下面語句即可
192.168.2.110 www.test.com test.com
到這裏,應該可以在你的瀏覽器訪問www.test.com可以看到下面內容