Linux中安装apache
一、前言
安装的背景就是公司项目要用,自己在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的更多相关文章
- 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境
虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...
- linux中安装jdk+jmeter-
--------------linux中安装jdk+jmeter-------------------- 一.安装JDK7.0版本 .先卸载服务器自带的jdk软件包 # java -version # ...
- linux下安装apache详解
下载httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft] ...
- Linux中安装字体
Linux中安装字体 查看系统中的字体 fc-list 查看系统中的中文字体 fc-list :lang=zh将然后将字体文件拷贝到/usr/share/fonts/中 cp aa.ttl /usr/ ...
- Linux中安装C++编译器codeBlock,并配置opencv链接库
1.Linux中安装codeBlock https://blog.csdn.net/xinyunyishui/article/details/50967395 2.CodeBlock中的中文显示不完全 ...
- Linux中安装nodejs及插件
Linux中安装nodejs及插件 1.去官网下载安装包 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 ...
- Linux中安装python3.6和第三方库
Linux中安装python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,比如yum!!!!! ...
- Linux中安装python3
[centos7中安装python3]http://blog.csdn.net/wjqwinn/article/details/75633714 (一)安装python3前的准备工作1.修改文件中第一 ...
- 在Linux中安装JDK和IDEA
前言 寒假安装虚拟机的时候我就没有安装好,到学校之后,因为时间紧加上更习惯Windows的操作习惯,我只在Windows上安装了JDK和IDEA,但是随着学习的深入,我发现用虚拟机写命令行.新建jav ...
随机推荐
- 5820. 【NOIP提高A组模拟2018.8.16】 非法输入(模拟,字符串)
5820. [NOIP提高A组模拟2018.8.16] 非法输入 (File IO): input:aplusb.in output:aplusb.out Time Limits: 1000 ms ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--A-跳台阶
链接:https://www.nowcoder.com/acm/contest/90/A 来源:牛客网 1.题目描述 小明在坐景驰科技研发的无人车到达了目的地. 景驰科技(JingChi.ai)是一家 ...
- SpringMVC中session使用&&拦截器&&乱码处理&&异常处理
### 1. 使用Session 通常,会在Session中存放: 1. 客户端(用户)的身份标识,通常是用户的id:2. 使用频率非常高的数据,例如显示在页面中的用户名.头像等:3. 其它的不便于使 ...
- DevOps - 版本控制 - GitHub
README Badges 徽章 Shields.io: Quality metadata badges for open source projects 徽章 官网:https://shields ...
- dynamic-insert和dynamic-update属性
dynamic-insert 作用:设置对象中没有值的字段 insert并不会对其进行插入. 实体类映射配置如下 <!DOCTYPE hibernate-mapping PUBLIC &quo ...
- winform Treeview控件使用
做角色菜单权限时用到treeview控件做树状显示菜单,简单总结了一下用法: 1.在winform窗体中拖入treeview控件,注意修改属性CheckBoxes属性为true,即在节点旁显示复选框 ...
- android发布帖子类技术
最近练习一些关于发布帖子的技术,说来也简单,就学了一点皮毛吧!好了,下面就上代码吧! 首先设计服务器的访问类,大家都知道现在东西都要联网的嘛! JSONParser的类: public class J ...
- mysql5.7数据库与5.7之前版本比较
数据库初始化方式变更 <5.7 版本 mysql_install_db >5.7 版本 bin/mysqld --initialize --user =mysql --basedir=/u ...
- pycharm中每次创建py文件时就自动生成代码头,以及出现SyntaxError:Non-ASCII 。。。问题
我们在pycharm中执行py文件的时候,可能会出现以下错误 这是因为你没有制定编码格式,这时候你需要在文件最开始制定编码格式,代码如下 #!/user/bin/env python #-*- cod ...
- Table被web编程弃用的原因
Table要比其它html标记占更多的字节. (延迟下载时间,占用服务器更多的流量资源.)Tablle会阻挡浏览器渲染引擎的渲染顺序. (会延迟页面的生成速度,让用户等待更久的时间.)Table里显示 ...