一、前言  

安装的背景就是公司项目要用,自己在linux安装软件不多,过程比较曲折,需要记录一下(最近几篇博客好像都会有这种高大上的背景)~先说下笔者安装环境以及相关软件版本:

操作系统:RedHat Enterprise Linux Server release 5.8 (Tikanga)

  apache:httpd-2.4.25.tar.gz

  apr:apr-1.5.2.tar.gz

  apr-util:apr-util-1.5.4.tar.gz

  pcre:pcre-8.40.tar.gz

二、正文

下载Apache安装包(本文下载httpd-2.4.25.tar.gz),下载地址:http://httpd.apache.org/
在安装Apache时,原作者分别针对不同版本进行了安装,在编译时是不同的,configure后跟的参数不同,本文是针对httpd-2.4.25.tar.gz进行安装

httpd-2.4.25版本编译命令:

./configure --prefix=/usr/local/apache2 (安装目录参数后面可以不加任何参数,直接安装即可)
make
make install

httpd-2.4.25版本编译命令:

./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

在编译Apache(在安装httpd-2.4.25时遇到的问题)时分别出现了error:apr not found、error:APR-util not found、error:pcre-config for libpcre not found的问题。

下面就httpd-2.4.25的这些问题解决来实际操作一把:

http://apr.apache.org/download.cgi  下载apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz
https://sourceforge.net/projects/pcre/files/ 下载pcre-8.40.tar.gz(不要下载pcre2开头的,不然安装的时候会报找不到pcre-config脚本的错误
1.解决apr not found问题

  [root@localhost bin]# tar -zxf apr-1.5.2.tar.gz
[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 not found问题

  [root@localhost bin]# tar -zxf apr-util-1.5.4.tar.gz
[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-config for libpcre not found问题

  [root@localhost ~]# tar -zxf pcre-8.40.tar.gz
[root@localhost ~]# cd pcre-8.40
[root@localhost pcre-8.40]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.40]# make
[root@localhost pcre-8.40]# make install

如果在安装pcre过程中报:

  那么请先执行:

  yum install -y gcc gcc-c++

apache默认占用80端口,所以如果有应用占用80这个端口,就要注意会存在端口冲突问题。
启动Apache:/usr/local/apache2/bin/apachectl start
停止Apache:/usr/local/apache2/bin/apachectl stop
重启Apache:/usr/local/apache2/bin/apachectl restart

在IE中通过http://localhost:80,如果看到页面中显示“It works!”字样,则代表Apache验证通过。如果网站的index后缀是PHP格式的,则要修改httpd.conf配置文件(/usr/local/apache2/conf),在DirectoryIndex增加 index.php

******************************补充说明*****************************

笔者安装完APR、ARP-UTIL、PCRE之后,执行如下命令:

  ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

  之后,会报如下错误:

查来查去,发现貌似是系统自带的SSL有问题,因为此次安装使用到的软件基本都是最新版的,是因为系统自带的这个openssl版本过低?抱着试一下的态度,重新下载一个openssl进行安装(反正装的云里雾里的),先试试再说,附上安装教程:

1) https://www.openssl.org/source/下载openssl-1.0.2k.tar.gz

2) #tar -xzf openssl-1.0.2k.tar.gz

  3) #cd openssl-1.0.2k

  4) openssl-1.0.2k#./config --prefix=/usr/local/openssl

  5) openssl-1.0.2k#make depend

  6) openssl-1.0.2k#cd /usr/local

  7) /usr/local# ln -s openssl ssl

  8) 在/etc/ld.so.conf文件的最后面,添加如下内容:

    /usr/local/openssl/lib

  9) # ldconfig

  10) 添加OPESSL的环境变量,在/etc/profile的最后一行,添加:

    export OPENSSL=/usr/local/openssl/bin

    export PATH=$OPENSSL:$PATH:$HOME/bin

  11) 执行source /etc/profile

  至此,openssl安装完毕,最后执行:

 ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

  apache安装完毕!

三、参考链接

1、http://blog.csdn.net/dazhi_100/article/details/17143213

2、http://www.cnblogs.com/zhuque/archive/2012/11/03/2763352.html

Linux中安装apache的更多相关文章

  1. 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境

    虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...

  2. linux中安装jdk+jmeter-

    --------------linux中安装jdk+jmeter-------------------- 一.安装JDK7.0版本 .先卸载服务器自带的jdk软件包 # java -version # ...

  3. linux下安装apache详解

    下载httpd-2.2.6.tar.bz2  把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft] ...

  4. Linux中安装字体

    Linux中安装字体 查看系统中的字体 fc-list 查看系统中的中文字体 fc-list :lang=zh将然后将字体文件拷贝到/usr/share/fonts/中 cp aa.ttl /usr/ ...

  5. Linux中安装C++编译器codeBlock,并配置opencv链接库

    1.Linux中安装codeBlock https://blog.csdn.net/xinyunyishui/article/details/50967395 2.CodeBlock中的中文显示不完全 ...

  6. Linux中安装nodejs及插件

    Linux中安装nodejs及插件 1.去官网下载安装包 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 ...

  7. Linux中安装python3.6和第三方库

    Linux中安装python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,比如yum!!!!! ...

  8. Linux中安装python3

    [centos7中安装python3]http://blog.csdn.net/wjqwinn/article/details/75633714 (一)安装python3前的准备工作1.修改文件中第一 ...

  9. 在Linux中安装JDK和IDEA

    前言 寒假安装虚拟机的时候我就没有安装好,到学校之后,因为时间紧加上更习惯Windows的操作习惯,我只在Windows上安装了JDK和IDEA,但是随着学习的深入,我发现用虚拟机写命令行.新建jav ...

随机推荐

  1. C++练习--实现客户机(CLIENT)类

    实现客户机(CLIENT)类. 定义字符型静态数据成员SeverName,保存其服务器名称: 整型静态数据成员ClientNum,记录已定义的客户数量: 定义静态函数ChangeSeverName() ...

  2. ABAP术语-Lock Argument

    Lock Argument 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/29/1085717.html Locked fields in ...

  3. Lavavel5.5源代码 - 并发数控制

    app('redis')->connection('default')->funnel('key000') // 每个资源最大锁定10秒自动过期,只有60个资源(并发),在3秒内获取不到锁 ...

  4. 数据分析处理库Pandas——索引进阶

    Series结构 筛选数据 指定值 备注:查找出指定数值的索引和数值. 逻辑运算 备注:查找出值大于2的数据. 复合索引 DataFrame结构 显示指定列 筛选显示 备注:值小于0的显示原值,否则显 ...

  5. python3 练习题100例 (二十八)打印一定范围内的素数

    题目内容: 给定一个大于2的正整数n,打印出小于n(不包括n且n不大于100)的所有素数. 要求将符合条件的输出填入一个列表中,打印的结果为该列表. 输入格式: 共一行,为一个大于2的正整数 输出格式 ...

  6. 03 mysql补充 (进阶)

    增加字段 alter table tb1 add age int first; 增加到第一 alter table tb1 add sex int after id; # 改变位置,id是字段名字 a ...

  7. python中的数据类型之元组和字典

    一.元组:俗称不可变的列表,又被称为只读列表.元组用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能修改. 注意:如果元组中只有一个元素,一定要加一个逗号,否则 ...

  8. go web处理上传

    要使表单能够上传文件,第一步就是添加form的enctype属性,enctype属性有如下三种情况: application/x-www-form-urlencoded 表示在发送前编码所有字符(默认 ...

  9. shell重温---基础篇(printf命令&test命令)

    在shell中还有一个输出的命令,那就是printf了.它模仿的是C程序库(library)里的printf()程序,是由POSIX标准所定义,所以嘞,使用printf脚本比echo移植性要好一点,它 ...

  10. Spark 实践

    1.1 避免使用 GroupByKey   让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用 reduceByKey, 另外一种方式使用 groupByKey: val words = ...