LAMP源碼安裝之二--Apache安裝

安裝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:測試
打開瀏覽器,在地址欄輸入域名

在Centos中 將apache httpd 服務加入系統服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章