一、下載文件
1、下載apache(現在版本都是以這樣的方式表達的:httpd-*.*.*.tar.gz),去apache.org官網:http://apache.org/dist/httpd/
( 例如,下載的就是最新版本:httpd-2.4.23.tar.gz,放到你指定的目錄/tmp/sotfware裏面。)
2、準備apache安裝之前的apr、apr-util和pcre(其中apr和apr-util去http://apr.apache.org/download.cgi下載,pcre去https://sourceforge.net/projects/pcre/files/pcre/8.39/下載)我下載的是apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz和pcre-8.39.tar.gz
3、我在window下載完成後用ssh連接到linux系統,將下載文件複製到/tmp/sotfware目錄中
二、開始安裝
1.安裝apr-1.5.2.tar.gz 安裝目錄是/usr/local/apr
[root@localhost software]# tar -zxf apr-1.5.2.tar.gz
[root@localhost software]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make
[root@localhost apr-1.5.2]# make install
2.安裝apr-util-1.5.4.tar.gz安裝目錄是/usr/local/apr-util
[root@localhost software]# tar -zxvf apr-util-1.5.4.tar.gz
[root@localhost software]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.5.4]# make
[root@localhost apr-util-1.5.4]# make install
3.安裝pcre-8.39 安裝目錄是/usr/local/pcre
[root@localhost software]# tar -zxvf pcre-8.39.tar.gz
[root@localhost software]# cd pcre-8.39
[root@localhost pcre-8.39]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.39]# make
[root@localhost pcre-8.39]# make install
4.安裝apache2.4.23安裝目錄是/usr/local/apache
[root@localhost software]# tar -zxvf httpd-2.4.23.tar.gz
[root@localhost software]# cd httpd-2.4.23
[root@localhost httpd-2.4.23]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --enable-module=so --enable-mods-shared=all --enable-module=rewirte --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --disable-cgid --disable-cgi
[root@localhost httpd-2.4.23]# make
[root@localhost httpd-2.4.23]# make install
三、修改httpd.conf
[root@localhost httpd-2.4.23]# cd /usr/local/apache/conf/
[root@localhost conf]# vi httpd.conf
將ServerName前的“#”去掉,將www.example.com改成 192.168.1.67:80(我的服務器地址就是192.168.1.67)
四、啓動apache
[root@localhost conf]# cd /usr/local/apache/bin/
[root@localhost conf]# ./apachectl start
五、通過本機瀏覽器輸入地址192.168.1.67:80
顯示It works
表示apache正常啓動完成了
如果有問題可以考慮防火牆是否開放了80端口
六、apache的安裝命令詳解
- ./configure //配置源代碼樹
- --prefix=/usr/local/apache2 //體系無關文件的頂級安裝目錄PREFIX ,也就Apache的安裝目錄。
- --enable-module=so //打開 so 模塊,so 模塊是用來提 DSO 支持的 apache 核心模塊
- --enable-mods-shared=all //編譯全部的模板,對於不需要我們可以在httpd.conf去掉。
- --enable-cache //支持緩存
- --enable-file-cache //支持文件緩存
- --enable-mem-cache //支持記憶緩存
- --enable-disk-cache //支持磁盤緩存
- --enable-static-support //支持靜態連接(默認爲動態連接)
- --enable-static-htpasswd //使用靜態連接編譯 htpasswd - 管理用於基本認證的用戶文件
- --enable-static-htdigest //使用靜態連接編譯 htdigest - 管理用於摘要認證的用戶文件
- --enable-static-rotatelogs //使用靜態連接編譯 rotatelogs - 滾動 Apache 日誌的管道日誌程序
- --enable-static-logresolve //使用靜態連接編譯 logresolve - 解析 Apache 日誌中的IP地址爲主機名
- --enable-static-htdbm //使用靜態連接編譯 htdbm - 操作 DBM 密碼數據庫
- --enable-static-ab //使用靜態連接編譯 ab - Apache HTTP 服務器性能測試工具
- --enable-static-checkgid //使用靜態連接編譯 checkgid
- --disable-cgid //禁止用一個外部 CGI 守護進程執行CGI腳本
- --disable-cgi //禁止編譯 CGI 版本的 PHP
- --enable-ssl // 編譯 ssl模塊。
apache 安裝好後 啓動出錯:
httpd: Syntax error on line 143 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dir.so into server: /usr/local/apache2/modules/mod_dir.so: undefined symbol: apr_array_clear
由於 apache編譯時沒有指定 --with-included-apr 參數
可是重新編譯時又發現問題:
執行配置安裝httpd時出錯
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
是由於:需要下載apr和apr-utils 並解壓到./srclib/, 再進行編譯
cp -R /opt/software/apr-1.5.2 /opt/sotfware/httpd-2.4.23/srclib/apr
cp -R /opt/software/apr-util-1.5.4 /opt/sotfware/httpd-2.4.23/srclib/apr-util
再編譯:
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --with-included-apr --enable-module=so --enable-mods-shared=all --enable-module=rewirte --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --disable-cgid --disable-cgi