安裝Apache
安裝zlib
shell> cd /php/tools/apache #進入tools目錄
shell> tar zxvf zlib-1.2.5.tar.gz #解壓zlib安裝包
shell> cd zlib-1.2.5 #進入解壓目錄
shell> ./configure #這個配置編譯命令不要加目錄參數
shell> make && make install #源代碼文件 -> 進行編譯 -> 二進制文 && 安裝
安裝apache
shell> cd /php/tools/apache #進入tools目錄
shell> tar -jxvf httpd-2.2.19.tar.bz2 #解壓apache安裝包
shell> cd httpd-2.2.19 #進入解壓目錄
shell> #配置
./configure --prefix=/php/server/apache \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so
shell> make && make install #源代碼文件 -> 進行編譯 -> 二進制文 && 安裝
說明:
–enable-modules=all // 編譯所有模塊
–enable-mods-shared=all // 動態編譯,動態加載所有模塊,httpd.conf中默認會動態加載51個模塊(以LoadModule 開始的方式)
–enable-so // 參數是使httpd服務能夠動態加載模塊功能,讓 Apache 可以支持DSO模式,注意,這裏採用的是 Apache2.0 的語法。如果你的Apache 是1.3版本,應改爲–enable-module=so(打開 so 模塊,so 模塊是用來提 DSO 支持的 apache 核心模塊)【靜態編譯和動態編譯】
靜態編譯其實就是編譯的時候所有的模塊自己編譯進httpd 這個文件中,啓動的時候這些模塊就已經加載進來了,也就是可以使用了,通常: 來配置。所以大家看到的配置都是<ifmodule module.c>
,很顯然,module.c這個東西已經存在httpd這個文件中了。
那麼動態顯然就不編譯進去了,也就是你啓動的時候根本不會加載這個模塊, 而是給你一個module.so 文件,你一定要使用 LoadModule這個語法來加載,這個模塊纔有效。
區別:靜態的模塊通常是在httpd.conf文件中使用 來配置, 動態使用LoadMoule來加載,然後再配置。
啓動Apache
shell> /php/server/apache/bin/apachectl start/stop/restart
錯誤:
httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain for ServerName
解決:
打開apache配置文件
vi /php/server/apache/conf/httpd.conf
修改配置文件
重啓apache
/php/server/apache/bin/apachectl restart
測試
瀏覽器打開: http://虛擬機IP
看到 “it works!”,即爲成功
出錯:重啓Apache時無錯,但是,網址打不開
原因:Apache默認拒絕訪問
解決:系統開發一個端口
vim /etc/sysconfig/iptables
二:關閉防火牆
service iptables stop
配置虛擬主機
步驟1:配置host文件
打開C:/windows/system32/drivers/etc/hosts 文件
增加域名記錄
如:
192.168.xxx.xxx 域名
步驟2:增加虛擬主機
vi /php/server/apache/conf/httpd.conf
引入自定義虛擬主機
Include conf.d/*.conf
【增加虛擬主機記錄1】
vi /php/server/apache/conf.d/one.conf
NameVirtualHost *:80
<VirtualHost *:80>
# 需要綁定的域名(改1)
ServerName www.one.com
# 綁定多個域名
# 設置默認的訪問的頁面
DirectoryIndex index.php index.html index.htm
# 指定網站/站點目錄(虛擬主機)(改2)
DocumentRoot "/php/wwwroot/one/"
# 指定目錄的權限(改3)
<Directory "/php/wwwroot/one/">
# 如果首頁不存在,則顯示目錄列表(Options Indexes FollowSymLinks)
Options Indexes FollowSymLinks
# 允許哪些IP訪問虛擬主機
Allow from All
</Directory>
</VirtualHost>
重啓apache
/php/server/apache/bin/apachectl restart
步驟4:測試
打開瀏覽器,在地址欄輸入域名