使用源码在CentOS 7下安装 apache 2.4.39,之前趟了一遍,简单做个笔记。

STEP 1 安装apr

STEP 1.1 检查是否安装apr

[root@study ~]# yum list apr
# 如果没有安装, 则进入STEP 1.2;
# 查看apr的位置
[root@study ~]# whereis apr
apr: /usr/local/apr

STEP 1.2 安装apr

[root@study ~]# cd source
[root@study source]# wget http://DOWNLOAD/apr-1.7.0.tar.gz
# DOWNLOAD 替换相应的镜像
[root@study source]# tar -xzvf apr-1.7.0.tar.gz
[root@study source]# cd apr-1.7.0
[root@study apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@study apr-1.7.0]# make && make install 

STEP 2 安装libxml2

由于apahce 依赖的apr-util.1.6.1依赖libxml2库,如果没有安装libxml2库,则在apache的配置中会有如下错误产生:

usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/opt/source/apache.httpd/httpd-2.4.39/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/opt/source/apache.httpd/httpd-2.4.39/support”
make: *** [all-recursive] 错误 1

STEP 2.1 检查是否安装 libxml2

[root@study ~]# yum list libxml2
# 如果没有安装则,进行libxml2安装
[root@study ~]# yum install libxml2-devel

STEP 3 安装expat

如果没有安装expat,可能在安装apr-util中会报如下错误:

xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
#include <expat.h>

STEP 3.1 检查是否安装expat

[root@study ~]# yum list expat
# 如果没有安装则进行安装
[root@study ~]# yum install expat-devel

STEP 4 安装apr-util

STEP 4.1 检查是否安装apr-util

[root@study ~]# yum list apr-util
# 如果没有安装则进入 STEP 4.2 进行安装
[root@study ~]# whereis apr-util
apr-util: /usr/local/apr-util

STEP 4.2 安装apr-util

[root@study ~]# cd source
[root@study source]# wget http://DOWNLOAD/apr-util-1.6.1.tar.gz
[root@study source]# tar -xzvf apr-util-1.6.1.tar.gz
[root@study source]# cd apr-util.1.6.1
[root@study apr-util.1.6.1]# ./configure --prefix=/usr/local/apr-util
[root@study aapr-util.1.6.1]# make && make install 

STEP 5 安装pcre

STEP 5.1 检查是否安装pcre

[root@study ~]# yum list pcre
# 如果没有安装,则进入 STEP 5.2 进行安装
[root@study ~]# whereis pcre
pcre: /usr/include/pcre.h /usr/local/pcre /usr/share/man/man3/pcre.3.gz

STEP 5.2 安装pcre

[root@study ~]# cd source
[root@study ~]# url=https://jaist.dl.sourceforge.net/project/pcre/pcre/8.43/pcre-8.43.tar.gz
[root@study source]# wget ${url}
[root@study source]# tar -xzvf pcre-8.43.tar.gz
[root@study source]# cd pcre-8.43
[root@study pcre-8.43]# ./configure --prefix=/usr/local/pcre
[root@study pcre-8.43]# make && make install

STEP 6 安装apache

[root@study source]# tar -xzvf http-2.4.39.tar.gz
[root@study source]# cd httpd-2.4.39
[root@study httpd-2.4.39]# ./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@study httpd-2.4.39]# make && make install

STEP 7 设置service文件

[root@study ~]# cd /usr/lib/systemd/system
[root@study system]# vim httpd.service[Unit]
Description=Apache 2.4.39
After=network.target
After=syslog.target
[Service]
Type=forking
ExecStart=/usr/local/apache24/bin/apachectl -k start
ExecStop=/usr/local/apache24/bin/apachectl -k stop
ExecReload=/usr/local/apache24/bin/apachectl -k restart
[Install]
WantedBy=multi-user.target
Alias=http.service

STEP 8 设置防火墙以及开机启动

# 允许开放http服务
[root@study ~]# firewall-cmd --permanent --add-service=http
# 打开http服务的80 tcp端口
[root@study ~]# firewall-cmd --permanent --add-port=80/tcp
# 重新加载防火墙规则
[root@study ~]# firewall-cmd --reload
# 重新启动apach
[root@study ~]# systemctl restart httpd.service
# 设置开机启动
[root@study ~]# systemctl enable httpd.service

转载于:https://www.cnblogs.com/chengsh/p/10705250.html

CentOS 7 安装Apache 2.4.39相关推荐

  1. CENTOS编译安装APACHE 2.4.6笔记

    之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 2014 年结束,apache 2.4 都不一定会出现在 Centos 中,我是不打算等了,编译安装吧. ...

  2. Centos编译安装Apache 2.4.6笔记 配置

    转载链接:http://www.onepx.com/centos-apache-246.html 之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 201 ...

  3. Linux/CentOS下安装Apache/SVN/Subversion图文详解教程

    Linux(CentOS)下安装Apache+Subversion(图文教程) 服务器版本和安装软件 服务器版本: RedHatCentOS 5.5 32 bit 安装软件: apr-1.3.5.ta ...

  4. apache bench linux,linux – 如何在CentOS上安装Apache Benchmark?

    我尝试在我的centos上使用 Is there a way to install Apache Bench (ab) without installing apache解决方案安装Apache Be ...

  5. centos下安装apache + subversion(转)

    目录: 一.安装apr跟apr-util 二.安装apache服务器 三. 安装subversion 四. 配置subversion 五. 配置apache的httpd.conf 六. 验证安装 七. ...

  6. linux centos 7安装 apache php 及mariadb

    1安装Apache, PHP, MySQL以及php库组件. yum -y install httpd php mysql  php-mysql 2 安装apache扩展 yum -y install ...

  7. yum php mysql apache,CentOS yum 安装 Apache + PHP + MySQL

    标签:仓库 # 编写本地yum仓库 rm -rf /etc/yum.repos.d/* cd /etc/yum.repos.d/ cat > local.repo < [local] na ...

  8. centos 7 安装 apache,php,并支持mongodb扩展

    一.安装apache yum install httpd 可能会用到的: systemctl start httpd.service #启动apache systemctl stop httpd.se ...

  9. centos一键安装apache服务器

    系列文章目录 文章目录 系列文章目录 一.环境需要 二.安装步骤 一.环境需要 1.centos7 2.小皮面板 二.安装步骤 2.1打开小皮面板官方 2.2选择linux 2.3根据需求 命令执行 ...

最新文章

  1. GridView 与ImageAdapter (笔记)
  2. 更新r语言_【R语言学习最佳资料之一】R小抄速查表精简更新版
  3. 十三、写了两年多Python文章的我,带你走进Python数据分析
  4. android universal-image-loader的使用
  5. vue mint-ui 弹出框
  6. ODBC / OLEDB___DAO / RDO / ADO
  7. Leetoce--572. 另一个树的子树(java)
  8. 《TableStore最佳实践:GEO索引打造店铺搜索系统》
  9. 个人自媒体博客整站模板
  10. c查看变量类型_C语言的变量、常量及运算
  11. 深入理解全局编录服务器GC
  12. 20-21-2网络管理quiz6
  13. Matlab基本知识概况
  14. Moodle 安装出现访问空白和open_basedir问题
  15. Foobar2000自用插件
  16. 身份证号的每位数字的意义
  17. 【BZOJ4372】烁烁的游戏 动态树分治+线段树
  18. 【Mini KITTI】KITTI数据集简介 — Mini KITTI
  19. MySQL不等于判断时,null空值处理问题
  20. 如何服务器登录 MySQL

热门文章

  1. IDEA快捷键拆解系列(五):Navigate篇
  2. 关闭Outlook自动完成功能
  3. 安装多个版本JDK相关问题
  4. AngularJS优缺点、使用场景
  5. linux黄金命令[积累中]
  6. 通过docker搭建zabbix监控系统
  7. mysql中RAND()随便查询记录效率问题和解决的方法分享
  8. Android 之 ProgressDialog用法介绍(矩形进度条 和 圆形 进度条)
  9. 匿名对象和object的转换
  10. enterprise portal