代码改变世界

linux 下安装 apache 的过程

2014-09-09 18:23  海边拾贝壳的人  阅读(174)  评论(0编辑  收藏  举报

本以为linux下安装apache是件很简单的过程。三命令就可以搞定,jxvf解压,make 编译,make install 安装就OK了。没想到这个过程还颇费周折。可能和环境有关吧。先说一下我的环境。

---------------------------

linux :    cenos6.2  

apache:  httpd-2.4.110

---------------------------

[root@localhost apache]# tar jxvf httpd-2.4.1.tar.bz2      //解压apache的压缩包
[root@localhost apache]# cd httpd-2.4.1       //定位到httpd-2.4.1 文件夹下
[root@localhost httpd-2.4.1]# ls       //查看显示httpd-2.4.1 文件夹下内容
[root@localhost httpd-2.4.1]#./configure --help | more      //查看安装apache配置参数
[root@localhost httpd-2.4.1]#./configure  --prefix=/usr/local/apache  --enable-so      //  配置apache路径 ,后面跟 --enable-so 参数表示让apache核心装载DSO

[root@localhost httpd-2.4.1]# make   //编译apache 

出错了!提示:

configure: error: APR not found. Please read the documentation 

在apache官网上可以下载到 apr-1.4.6.tar.gz 

解决apr not found问题>>>> 

APR和APR-UTIL的下载地址:http://apr.apache.org/download.cgi

   [root@localhost apache]# tar -zxf apr-1.4.6.tar.gz

   [root@localhost apache]# cd apr-1.4.6

   [root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr

   [root@localhost apr-1.4.6]# make

   [root@localhost apr-1.4.6]# make install

 

安装完成后,再来编译apache 

  [root@localhost httpd-2.4.1]# make

又出错了!提示:

configure: error: APR-util not found. Please read the documentation 

好吧!还是上面的apache官网地址再下载 apr-util-1.4.1.tar.gz 

解决APR-util not found问题>>>>

   [root@localhost apache]# tar -zxf  apr-util-1.4.1.tar.gz

[root@localhost apache]#  cd  apr-util-1.4.1

   [root@localhost apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

  [root@localhost apr-util-1.4.1]# make
  [root@localhost apr-util-1.4.1]# make install

 

再来编译apache ,再次出错!提示:

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/ , 我X !linux 安装软件之间关联性有时能让人崩溃。

../configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util后出现>>>>>

[root@localhost apache]# ./configure –help | grep pcre

--with-pcre=PATH        Use external PCRE library
下载地址:http://ftp.exim.llorien.org/pcre/

下载pcre-8.30.zip ,列表文件较多,一般浏览器会有搜索功能,你可ctrl+f 搜索定位后下载。

[root@localhost apache]#unzip -o pcre-8.35.zip

[root@localhost apache]#cd pcre-8.35

[root@localhost pcre-8.35]#./configure --prefix=/usr/local/pcre

[root@localhost pcre-8.35]#make

[root@localhost pcre-8.35]#make install

编译Apache

  [root@yahoo httpd-2.4.10]# ./configure --prefix=/usr/local/apache2  --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util/  --with-pcre=/usr/local/pcre   

  注意,这里后面跟的参数,一定要与前面安装apr 和apr-util的路径一致。

 [root@localhost httpd-2.4.1]# make
 [root@localhost httpd-2.4.1]# make install

 这次编译安装应该不会再报任何错误了。哈哈!!

 

启动apache

[root@localhost bin]# pwd

/usr/local/apache/bin

[root@localhost bin]# apachectl stop  停止

[root@localhost bin]# apachectl start  启动

 

查看80端口是否被占用

[root@localhost conf]#netstat -an | grep :80    

 

查看apache 启动服务是否启动

[root@localhost bin]# ps -aux | grep httpd

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ

root      2866  0.0  1.2  25164  9556 ?        Ss   22:45   0:00 /usr/sbin/httpd -k start

apache    2867  0.0  0.7  25300  5556 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2868  0.0  0.6  25300  5444 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2869  0.0  0.6  25300  5444 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2870  0.0  0.7  25300  5556 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2871  0.0  0.6  25164  4796 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2872  0.0  0.6  25164  4796 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2873  0.0  0.6  25164  4796 ?        S    22:45   0:00 /usr/sbin/httpd -k start

apache    2874  0.0  0.6  25164  4796 ?        S    22:45   0:00 /usr/sbin/httpd -k start

root      3141  0.0  0.0   4244   676 pts/1    R+   22:48   0:00 grep httpd

 

 

下面访问一下apache默认页是否能打开。http://ip:80/index.html

又提示了错误:

 

难道是端口被占用了?修改apache的配置文件

/usr/local/apache/conf/httpd.conf  配置文件

[root@localhost conf] vi httpd.conf

找到下面一行:

ServerName www.example.com:80   改成本机ip加端口号,如:192.168.0.105:80

 

  端口改来改去,一直都报那个错误。由于之前没有在linux下安装apache的经验,与是想找一下apache默认运行的哪个页面。于是,找到了,..../apache/htdocs/index.html 文件(受tomcat的误导)!其实不然,真正运行的是 /var/www/html 目录下的文件

You don't have permission to access /index.html on this server 

真正的错误在这句提示上。因为我方位的文件权限不足够。那给文件加个权限吧!

在/var/www/html 创建个文件index.html

[root@localhost html]# chmod 766 index.html

Ok!再来方位apache ,页面正常打开了!过程很纠结,结局很美好!

 

-----------小结--------------

需要安装的文件:

apr-1.4.6

apr-util-1.4.1.tar.bz2

pcre-8.30.zip

 

/usr/local/apache     apache的安装目录

/usr/local/apache/conf/httpd.conf    配置文件

/usr/local/apache/bin/ apachectl   stop/start    停止/启动程序

/var/www/html/    在这个文件夹下创建可以访问的页面

安装 unzip zip 命令  yum install -y unzip/zip

因为本人是在虚拟机上安装的  安装完以后   外面的电脑访问不了 刚开始怀疑是 服务没起来 后来查看端口服务是起来的 并且也绑定了80端口  最后怀疑是没有开放80端口 最后通过以下命令把 80端口开放出去 结果测试  OK 终于成功了!  

 

所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问:

  1. iptables -I INPUT -p TCP --dport 80 -j ACCEPT  

然后在windows下访问,网页正常显示。

所以在这里分享给大家。

如果不想让其他电脑访问,也可以把这规则改下就起到限制作用了:

  1. iptables -I INPUT -p TCP --dport 80 -j DROP  


而且利用这个命令,还可以限制特定的IP 不允许访问,命令如下:

  1. iptables -I INPUT -s 192.168.1.18 -p TCP --dport 80 -j DROP