按順序安裝LAMP三個組件後,LAMP的環境的基礎程序就已經搭建完畢了。接下來我們要把各個模塊鉚接起來並測試其工作是否正常。
一、Apache2.4與PHP5的結合
1、修改Apache2.4的配置文件
vim /usr/local/apache2.4/conf/httpd.conf #httpd的配置文件安裝時默認設置在這個路徑下
一共要修改四處地方:
a.給sever設置一個severname
這一步主要是用來解決httpd啓動時的告警信息,如下圖:
設置方法
找到SeverName行,將#ServerName www.example.com:80 前面的#號註釋掉
b.設置Apache服務能夠提供服務,解決訪問是403報錯
修改200行
200 <Directory />
201 AllowOverride none
202 Require all denied
爲
200 <Directory />
201 AllowOverride none
202 Require all granted
c.註釋php.so調用的模塊
查找AddType,在application/x-gzip .gz .tgz下加入AddType application/x-httpd-php .php,注意綠色光標處有一個空格。
d.增加主頁地址
查找DirectoryIndex行,在後面增加index.php
2、開啓Apache2.4服務
a.設置Apache2.4的php解析模塊
我們安裝了php5和php7,我們必須設置Apache用那個模塊來解析.so腳本,如果兩個都開啓,啓動httpd時就會報錯,如下圖
/usr/local/apache2.4/bin/apachectl: 行 79: 1432 段錯誤 $HTTPD -k $ARGV
操作
註釋掉Apache2.4配置文件中,php5和php7行其中一個,你要用哪種就留下那行,在另外一個前加註#號註釋掉。
b.測試Apache2.4的配置文件語法並重新載入
/usr/local/apache2.4/bin/apachectl -t ##測試語法
每次操作Apache2.4的配置文件後都需要使用這條命令測試系統語法,萬不可不測試直接down掉服務重啓Apache2.4。
/usr/local/apache2.4/bin/apachectl graceful ##重新載入Apache2.4配置文件使修改生效
c.設置80端口的數據能夠通過firewalld防火牆
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
d.啓動Apache2.4
/usr/local/apache2.4/bin/apachectl start
e.新建一個index.php測試php與Apache是否正常鏈接工作
在/usr/local/apache2.4/htdocs/下新建一個index.php文件
vim /usr/local/apache2.4/htdocs/index.php ##增加如下內容
<?php
phpinfo();
?>
3、訪問index.php
電腦瀏覽器端,打開http://192.168.88.128/index.php 網址,就能看到我們的第一個網頁了。^_^
二、Apache虛擬主機
早期的linux服務器上一個服務器只能運行一個網站,就是說一個服務器只能給一個域名的網站提供服務,但隨着技術發展,一個httpd的程序可以同時管理多個網站,就是說服務器上只跑一個服務但他同時可以相應A、B等多個網站的訪問需求。這就是Apache虛擬主機的功能,我們可以簡單的把一個網站或者一個域名叫做一臺主機。
操作實例
0、更改windows的host,
win10下更改主機的host文件需要用管理員權限,而默認情況下你沒有管理權限,所以無法保存更改後的hosts文件。
這裏我們要使用cmd(管理員)方式打開hosts文件
文件的路徑也改了,是C:\Windows\System32\drivers\etc
然後就跟原來一樣可以正常保存了。
1、打開Apache配置文件的虛擬主機選項
vim /usr/local/apache2.4/conf/httpd.conf
大概在476行附近,刪掉前面的#號讓配置生效
2、編輯vitual host的配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
把上面那個文件編輯成下面這個樣子,其中
DocumentRoot 行是網站網頁存放的文件夾
servername:網站的域名,不用帶www
serveralias:網站的其他域名
errorlog:錯誤日誌位置
3、重新載入Apache配置
/usr/local/apache2.4/bin/apachectl -t
這裏看到我們的新網站還沒有東西,我們設置一下
mkdir -p /data/wwwroot/abc.com /data/wwwroot/111.com
echo “u are visit abc.com” >/data/wwwroot/abc.com/index.html
echo “u are visit 111.com” >/data/wwwroot/111.com/index.html
/usr/local/apache2.4/bin/apachectl graceful
4、用curl命令測試設置是否成功
curl -x192.168.88.128:80 www.abc.com
curl -x192.168.88.128:80 www.111.com
curl -x192.168.88.128:80 www.test.com
PS:關於虛擬主機幾個知識點
1、虛擬主機配置文件中定義的第一個站點就是默認虛擬主機,你訪問域名如果沒有自己的配置定義就會被解析到默認虛擬主機上。
2、虛擬主機開啓時原主配置文件DocumentRoot、ServerName選項失效。
3、虛擬主機可以定義很多個。每一個配置項對應着一個網站。