原文地址:http://blog.csdn.net/wy3552128/article/details/8143875
對文章進行了一點小的改動,在後面加了一點自己遇到的問題和解決辦法.
平臺:VMware上虛擬的centos6
宿主機:windows
安裝Apache前準備:
1、檢查該環境中是否已經存在httpd服務的配置文件,默認存儲路徑:/etc/httpd/httpd.conf(這是centos預裝的Apache的一個ent版本,一般我們安裝源代碼版的Apache)。如果已經存在/etc/httpd/httpd.conf,請先卸載或者關閉centos系統自帶的web服務,執行命令:chkconfig httpd off,再或者把centos自帶的httpd服務的80端口改爲其他端口,只要不與我們安裝的Apache服務的端口衝突就可以啦。
停止並卸載Linux系統自帶的httpd服務:
1、service httpd stop
2、ps -ef | grep httpd
3、kill -9 pid號(逐個刪除)
4、rpm -qa |grep httpd
5、rpm -e httpd軟件包
- [root@localhost bin]# find / -name httpd.conf
- [root@localhost bin]#
在安裝Apache時,我分別針對不同版本進行了安裝,在編譯時是不同的,configure後跟的參數不同。
httpd-2.2.23版本編譯命令:
- ./configure --prefix=/usr/local/apache2 (安裝目錄參數後面可以不加任何參數,直接安裝即可)
- make
- make install
- ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre (除了指定Apache的安裝目錄外,還要安裝apr、apr-util、pcre,並指定參數)
- make
- make install
http://apr.apache.org/download.cgi 下載apr-1.6.3.tar.gz、apr-util-1.6.1.tar.gz
http://sourceforge.net/projects/pcre/files/latest/download 下載pcre-8.31.zip #######這裏原作者放錯地址了,這個地址下下來的是pcre2.10.20 轉好後安裝會出現找不到一個包的問題,解決辦法是下載pcre重新裝.
https://sourceforge.net/projects/pcre/files/pcre/8.41/
1.解決apr not found問題
- [root@localhost bin]# tar -zxf apr-1.6.3.tar.gz
- [root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr
- [root@localhost apr-1.6.3]# make
- [root@localhost apr-1.6.3]# make install
- [root@localhost bin]# tar -zxf apr-util-1.3.12.tar.gz
- [root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
- [root@localhost apr-util-1.6.1]# make
- [root@localhost apr-util-1.6.1]# make install
- [root@localhost ~]# unzip pcre-8.41.zip
- [root@localhost ~]# cd pcre-8.41
- [root@localhost pcre-8.41]# ./configure --prefix=/usr/local/pcre
- [root@localhost pcre-8.41]# make
- [root@localhost pcre-8.41]# make install
• 啓動Apache:/usr/local/apache2/bin/apachectl start
• 停止Apache:/usr/local/apache2/bin/apachectl stop
• 重啓Apache:/usr/local/apache2/bin/apachectl restart
網站放在/usr/local/apache2/htdocs目錄下
在IE中通過http://localhost:80,如果看到頁面中顯示“It works!”字樣,則代表Apache驗證通過。如果網站的index後綴是PHP格式的,則要修改httpd.conf配置文件(/usr/local/apache2/conf),在DirectoryIndex增加 index.php。- #
- # DirectoryIndex: sets the file that Apache will serve if a directory
- # is requested.
- #
- <IfModule dir_module>
- DirectoryIndex index.html index.php
- </IfModule>
ps:我在裝的時候,主要是遇到了兩個問題:
一,在啓動Apache的時候報錯httpd: apr_sockaddr_info_get() failed 還有個ServerName的報錯.
這個原因是在etc/hostes 中加入你的主機名 和在apache的配置文件 bin/conf/httpd.conf 中 ServerName 把前面的# 打掉 如果需要遠程的話 在後面改寫成你本機IP
二.在因爲我需要遠程,所以在apache already running 正常可以啓動後,要在bin/conf/httpd.conf 中修改
<Directory />
AllowOverride none
Require all granted #默認是 Require all deny
然後一定要修改防火牆,因爲apache默認是 listen 80端口,首先確定原來80端口未被佔用
netstat -ntpl |grep 80
然後,
防火牆配置
注意如果你希望在本地機器例如xp訪問虛擬機的網頁,如果是centos6需要修改防火牆啓動80端口
# cd /etc/sysconfig
修改iptables文件,或者直接用vim編輯
# vim /etc/sysconfig/iptables
添加下面一行,打開防火牆80端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重啓防火牆
# /etc/init.d/iptables restart
查看CentOS防火牆信息:/etc/init.d/iptables status
關閉CentOS防火牆服務:/etc/init.d/iptables stop
我是直接把防火牆關閉了. ############每次配置完httpd.conf文件後需要對apache進行重啓