一、前言  

安装的背景就是公司项目要用,自己在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. 5820. 【NOIP提高A组模拟2018.8.16】 非法输入(模拟,字符串)

    5820. [NOIP提高A组模拟2018.8.16] 非法输入 (File IO): input:aplusb.in output:aplusb.out Time Limits: 1000 ms   ...

  2. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--A-跳台阶

    链接:https://www.nowcoder.com/acm/contest/90/A 来源:牛客网 1.题目描述 小明在坐景驰科技研发的无人车到达了目的地. 景驰科技(JingChi.ai)是一家 ...

  3. SpringMVC中session使用&&拦截器&&乱码处理&&异常处理

    ### 1. 使用Session 通常,会在Session中存放: 1. 客户端(用户)的身份标识,通常是用户的id:2. 使用频率非常高的数据,例如显示在页面中的用户名.头像等:3. 其它的不便于使 ...

  4. DevOps - 版本控制 - GitHub

    README Badges 徽章 Shields.io: Quality metadata badges for open source projects  徽章 官网:https://shields ...

  5. dynamic-insert和dynamic-update属性

    dynamic-insert  作用:设置对象中没有值的字段 insert并不会对其进行插入. 实体类映射配置如下 <!DOCTYPE hibernate-mapping PUBLIC &quo ...

  6. winform Treeview控件使用

    做角色菜单权限时用到treeview控件做树状显示菜单,简单总结了一下用法: 1.在winform窗体中拖入treeview控件,注意修改属性CheckBoxes属性为true,即在节点旁显示复选框 ...

  7. android发布帖子类技术

    最近练习一些关于发布帖子的技术,说来也简单,就学了一点皮毛吧!好了,下面就上代码吧! 首先设计服务器的访问类,大家都知道现在东西都要联网的嘛! JSONParser的类: public class J ...

  8. mysql5.7数据库与5.7之前版本比较

    数据库初始化方式变更 <5.7 版本 mysql_install_db >5.7 版本 bin/mysqld --initialize --user =mysql --basedir=/u ...

  9. pycharm中每次创建py文件时就自动生成代码头,以及出现SyntaxError:Non-ASCII 。。。问题

    我们在pycharm中执行py文件的时候,可能会出现以下错误 这是因为你没有制定编码格式,这时候你需要在文件最开始制定编码格式,代码如下 #!/user/bin/env python #-*- cod ...

  10. Table被web编程弃用的原因

    Table要比其它html标记占更多的字节. (延迟下载时间,占用服务器更多的流量资源.)Tablle会阻挡浏览器渲染引擎的渲染顺序. (会延迟页面的生成速度,让用户等待更久的时间.)Table里显示 ...