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

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

linux :    cenos5.5  (验证4.8也会碰到以下问题)

apache:  httpd-2.4.1.tar.bz2

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

[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.30.zip

[root@localhost apache]#cd pcre-8.30

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

[root@localhost pcre-8.30]#make

[root@localhost pcre-8.30]#make install

编译Apache

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

  注意,这里后面跟的参数,一定要与前面安装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

找到下面一行:

Listen 80   把80改成其它端口,如8080 、8800 只要没被占用就行。

找到下面一行:

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/    在这个文件夹下创建可以访问的页面

linux安装apache的纠结过程的更多相关文章

  1. linux安装apache软件的过程

    参考官方安装指导:http://httpd.apache.org/docs/2.4/install.html 1.下载依赖包 apr/apr-util/pcre 2.解压依赖包 3.安装apr 进入安 ...

  2. linux安装apache

    我的linux是用阿里云上的,版本是CentOS 6.5 apache依赖于apr.apr-util和pcre,所以需要先安装这三个 apr(包含apr.apr-util和apr-iconv)是apa ...

  3. linux 安装 apache

    1.  系统基本信息 CentOS  6.4   内存2G  硬盘 200G   cpu 4核  (cat /proc/cpuinfo |grep 'processor'|wc -l  查看cpu核数 ...

  4. 【问题记录】 Linux 安装 apache 遇到的一些问题

    以下为linux上安装apache时自己遇到的一些问题,记录在这,以后遇到时也会不定时更新... 一.安装Apache提示APR not found的解决办法 解决方法: 1. 网站 http://a ...

  5. Linux安装Apache报错:Cannot find a valid baseurl for repo: base/7/x86_64解决方案

    最近使用CentOS7学习,安装安装Apache时候,使用yum安装Apache报错:本文适合CentOS7和RHEL7 # yum install httpd 出现:cannot find a va ...

  6. LInux——安装Apache

    在安装Apache的httpd的时候经常会遇到: configure: error: APR not found .  Please read the documentation. configure ...

  7. Linux安装pytorch的具体过程以及其中出现问题的解决办法

    1.安装Anaconda 安装步骤参考了官网的说明:https://docs.anaconda.com/anaconda/install/linux.html 具体步骤如下: 首先,在官网下载地址 h ...

  8. Linux安装apache服务

    1.通过yum包下载安装httpd yum -y install httpd*(等待安装) 到下面就安装完毕 2.启动apache服务 service httpd restart 3.现在就可以查看a ...

  9. linux 安装Apache服务器

    这篇文章先别看,,有些地方我不是很明白,写错了一些地方,正在咨询会linux的大神 安装好Apache就可以用Http访问或者下载电脑的文件了 我还是用 连接我的linux电脑 咱把Apache安装到 ...

随机推荐

  1. meanshift和camshift

    参考:http://www.cnblogs.com/tornadomeet/archive/2012/03/15/2398769.html 照着这位大神的代码运行了一下,发现meanshift的跟踪效 ...

  2. 速度之王 — LZ4压缩算法(三)

    LZ4使用 make / make clean 得到可执行程序:lz4.lz4c Usage: ./lz4 [arg] [input] [output] input : a filename Argu ...

  3. javascript的事件监听与捕获和冒泡

    在前端开发中,我们经常需要对某些事件进行监听.这样只要在指定的元素上触发了该事件,就会执行一个回调来进行相关的操作. 而js中事件监听方法总共有三种,分别如下所示: element.addEventL ...

  4. DisJSet:食物链(POJ 1182)

           动物王国的食物链 这一题有两种思路,先介绍第一种: 题目是中文的,我就不翻译了,也很好理解,就是一个A-B-C-A的一个循环的食物链,给定一些条件,问你哪些条件是错的 这一题,是一道比较 ...

  5. Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯

    (一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解 ...

  6. hadoop之快照

    在hadoop第前几个版本中是没有快照功能的,2.x中是有这个特性的 Hadoop 2.x HDFS新特性   HDFS快照 HDFS快照     在2.x终于实现了快照     设置一个目录为可快照 ...

  7. Quartus signal tapii 的使用

    此功能原来已经试验过,没有笔记.这次复习巩固下. 使用PLL 的程序. 1.新建signaltap ii 文件 注意以下几个地方,会用到 添加采样时钟 . 添加采样信号: 完成之后,编译下载 运行 两 ...

  8. Shell脚本入门与应用

    编写第一个shell脚本 如同其他语言一样,通过我们使用任意一种文字编辑器,比如 nedit.kedit.emacs.vi 等来编写我们的 shell 程序.程序必须以下面的行开始(必须方在文件的第一 ...

  9. 动态调用Webservice 支持Soapheader身份验证(转)

    封装的WebserviceHelp类: using System; using System.CodeDom; using System.CodeDom.Compiler; using System. ...

  10. 11、使用 WinAppDeployCmd 部署appx 包到 Windows10 Mobile上(更新)

    在 Windows10 Mobile开发工具里,微软没有提供 wp8 sdk 中 Application Deployment 一样的部署工具,参考 了一下  StackOverflow 论坛上的帖子 ...