1. 程式人生 > >11.14/11.15 Apache和PHP結合 11.16/11.17 Apache默認虛擬主機

11.14/11.15 Apache和PHP結合 11.16/11.17 Apache默認虛擬主機

十周第二次課(3月1日)

11.14/11.15 Apache和PHP結合
技術分享圖片
在啟動httpd的時候有警告提示,要在配置文件裏定義下ServerName
技術分享圖片
vim /usr/local/apache2.4/conf/httpd.conf
輸入/ServerName搜索將前面的#取消,輸入/php5.so搜索將PHP7或PHP5註釋掉,根據的apache模塊實際情況,我這裏是註釋PHP5,註釋php7重啟服務會報錯,因為調用了PHP7模塊,如果調用的是PHP5那就要註釋掉PHP7
技術分享圖片
技術分享圖片
然後重啟服務,沒有警告提示了
/usr/local/apache2.4/bin/apachectl restartrs
win ping linux的IP,是否可以通,連接下80端口 telnet 192.168.137.129 80,如果提示沒有這個命令,就要在控制面板下的啟動或關閉windows功能下添加telnet客戶端
打開linux 80端口,讓win可以訪問
iptables -nvL 查看端口,如果沒有80端口的
這裏臨時增加80端口
技術分享圖片
然後重新打開win dos窗口並連接 telnet 192.168.137.129 80,這時候就可以連接上了,按ctrl + ] 輸入quit退出
更改Require all denied
vim /usr/local/apache2.4/conf/httpd.conf
輸入/denied搜索
將Require all denied更改Require all granted
技術分享圖片
剛才在win可以訪問是因為Require all denied下面有一項是Require all granted,如果將Require all granted改為Require all denied 然後查看配置文件是否有語法錯誤用以下命令,這條命令非常實用
/usr/local/apache2.4/bin/apachectl -t
技術分享圖片
更改完後重新加載配置文件,用下面這個命令,但它不針重啟服務
/usr/local/apache2.4/bin/apachectl graceful
剛才更改的Require all granted往下還有一個Require all granted,如果更改這個為
Require all denied win訪問就報錯,不允許訪問
技術分享圖片
因為要支持PHP,所以需要增加一行與PHP相關的配置,如果不加這行,PHP就沒辦法解析
vim /usr/local/apache2.4/conf/httpd.conf
輸入/AddType搜索,在以下位置添加AddType application/x-httpd-php .php
技術分享圖片
還要修改索引頁
編輯配置文件,輸入/Index搜索,找到這行DirectoryIndex index.html在後面添加index.php
然後檢查配置有沒有錯誤,重新加載配置文件
技術分享圖片
驗證apache是否支持PHP
它訪問的這個目錄是/usr/local/apache2.4/htdocs的文件,編輯這個目錄下可以寫一個1.php
技術分享圖片
內容如下
技術分享圖片
這時候在win訪問這個頁面,就可以打開這個頁面,說明支持PHP解析了
技術分享圖片
如果打這行註釋掉DirectoryIndex index.html再重新加載配置文件
win再訪問網面就會不支持,打不開頁面
如果遇到apach解析不了,要檢查apache的配置文件
首行要檢查
/usr/local/apache2.4/bin/apachectl -M 看一下有沒有加載php5或php7模塊
技術分享圖片
如果沒有加載要查看一下有沒有這個模塊
技術分享圖片
如果有這個模塊但沒有加載 那要檢查一下配置文件有沒有php5或php7增加這一行
vim /usr/local/apache2.4/conf/httpd.conf
技術分享圖片
查找 用過的命令搜索,可以ctrl+r再輸入搜索的字符,例如grac,就會顯示剛用過的命令
/usr/local/apache2.4/bin/apachectl graceful

11.16 11.17 Apache默認虛擬主機
技術分享圖片
打開虛擬主機配置文件
vim /usr/local/apache2/conf/httpd.conf
搜索/extra,找到Virtual hosts下面的的一行的#註釋掉
技術分享圖片
每一個80端口代表一個主機
更改主機參數如下圖所示
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
技術分享圖片
分別創建目錄
技術分享圖片
在對應的站點根目錄abc.com下定義文件
技術分享圖片
內容如下
技術分享圖片
在對應的站點根目錄111.com下定義文件
技術分享圖片
內容如下
技術分享圖片
檢查 配置文件有沒有錯,再重新加載
技術分享圖片
curl -x 將abc.com指定IP與端口,無論那個域名只要訪問到這個IP都會訪問到abc.com
因為abc.com是默認的虛擬主機
技術分享圖片
下面這個是指定的到111.com,如果不指定就會訪問abc.com
技術分享圖片
一旦打開了VirtualHosts,httpd.conf裏面的ServerName等都會失效

11.14/11.15 Apache和PHP結合 11.16/11.17 Apache默認虛擬主機