1 最好先安装组件

[root@localhost ~]# yum groupinstall additional development
[root@localhost ~]# yum groupinstall development tool

2 安装ap1.5.2r(Apache Portable Runtime),安装apr-util 1.5.4工具

[root@localhost ~]wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
[root@localhost ~]# tar xzvf  apr-1.5.2.tar.gz
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr/

如果报错:rm: cannot remove `libtoolT': No such file or directory,请编辑configure这个文件,将 $RM "$cfgfile" 那行注释掉

[root@localhost apr-1.5.2]#make&&make install

安装apr-util工具

[root@ns2 ~]wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz

编译选项注意有 --apr选项

[root@localhost ~]# tar xf apr-util-1.5.4.tar.gz
[root@localhost ~]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@localhost apr-util-1.5.4]#make&&make install

3 centos默认安装了pcre,所以不需要安装pcre,否则请安装pcre-devel哦

4 安装httpd 2.4.12(2015-6-6新)

[root@localhost ~]# tar xf httpd-2.4.12.tar.bz2
[root@localhost ~]# cd httpd-2.4.12

打算编译选项加上(注意不明确的请查看./configure -h不要瞎写,写完和自己的对照一下,是否有问题)

基本选项,包括安装路径,配置文件路径

--prefix=/usr/local/apache指定安装的大路径

--sysconfdir=/etc/httpd指定配置文件的路径

模块允许选项,允许模块使用,大部分动态允许mpm等

--enable-so允许模块化使用

--enable-modules=most添加大多数的模块

--enable-mods-shared=most

--enable-mpms-shared=all支持所有的mpm模型

--enable-cgi --enable-cgid支持cgi程序

--enable-ssl支持ssl从而支持https

--enable-rewrite支持url重定向

指定和apr,apr-util的联系与绑定

--with-include-apr

--with-apr=/usr/local/apr指定apr

--with-apr-util=/usr/local/apr-util指定apr-util

[root@localhost httpd-2.4.12]# ./configure --prefix=/usr/local/apache  --sysconfdir=/etc/httpd --enable-so --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --enable-cgi --enable-cgid --enable-ssl --enable-rewrite --with-include-apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@localhost httpd-2.4.12]#make&&make install

如果报错

configure: WARNING: OpenSSL version is too old

no

checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures

安装openssl-devel即可

编译安装完

进入安装后的目录

[root@localhost bin]# cd /usr/local/apache
[root@localhost apache]# ls
bin  build  cgi-bin  error  htdocs  icons  include  logs  man  manual  modules
[root@localhost apache]# cd bin/
[root@localhost bin]# ./apachectl

然后打开网页试试,输入你的虚拟机ip即可

如果不能打开,考虑如下

[root@localhost bin]# service iptables stop
[root@localhost bin]# getenforce
Enforcing
[root@localhost bin]# setenforce 0
[root@localhost bin]# vim /etc/selinux/config

改为permissive

修改文件夹属性

[root@localhost bin]#chmod 755 /usr/local/apache/

再刷新试试

上述的好了,网页出现it works!后

我们可以把命令复制到/etc/init.d/httpd实现service调用,总之,一切为了实现之前使用httpd rpm包的那个习惯,嘿嘿

[root@localhost bin]# cp /root/httpd-2.4.12/build/rpm/httpd.init /etc/init.d/httpd
[root@localhost bin]# chmod +x /etc/init.d/httpd

修改文件

建议三处

  1. httpd=${HTTPD-/usr/local/apache/bin/httpd}

  2. pidfile=${PIDFILE-/var/run/httpd/${prog}.pid}

  3. CONFFILE=/etc/httpd/httpd.conf

别急着启用服务

创建相应的目录

[root@localhost bin]# mkdir /var/run/httpd/

为了使用httpd -t等命令,修改~/.bash_profile

修改为PATH=$PATH:$HOME/bin:/usr/local/apache/bin

[root@localhost bin]# vim ~/.bash_profile
[root@localhost bin]# source  ~/.bash_profile
[root@localhost bin]# httpd -t
Syntax OK

在/etc/httpd/httpd.conf加上这行

PidFile "/var/run/httpd/httpd.pid"

为log文件创建符合链接

[root@localhost bin]# ln -s /usr/local/apache/logs/* /var/log/httpd/

然后重启服务看是否ok

如果不行请查看日志文件等

[root@localhost bin]# service httpd restart
Stopping httpd:                                            [ OK ]
Starting httpd:                                            [ OK ]

如果不能重启,比如这个错误

Stopping httpd:                                            [FAILED]

Starting httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

AH00015: Unable to open logs

[FAILED]

[root@testA bin]# service httpd stop

Stopping httpd:                                            [FAILED]

这时候去找httpd.pid文件即可

把/usr/local/apache/logs/httpd.pid 移到/var/run/httpd/下即可

然后再次查看网页是否正常,最终搭建最新httpd2.4.12的任务已经完成!

转载于:https://blog.51cto.com/qixue/1659167

centos下LAMP之源码编译安装httpd相关推荐

  1. 源码编译安装httpd服务

    1 概述 很多软件没有发布rpm包,而是直接发布了源码,好处是这样能兼容更多的平台,但是,用户需要对源码进行编译后安装.利用工具make将源码生成二进制文件. 本文主要讲解了对httpd进行编译安装. ...

  2. centos 7.1 apache 源码编译安装

    Apache编译安装 一,需要软件: http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz 1.apr-1.5.2.tar.gz http://mi ...

  3. 源码编译安装httpd及其常见错误

    一.编译安装的整体步骤 1.在官网下载源码,并解压 2.切换到其目录中 3.执行./configure 4.编译 二.编译中及安装后配置常见的参数及其说明 编译中配置 1)指定安装路径 --prefi ...

  4. centos lnmp源码安装mysql_CentOS 6.6 下源码编译安装MySQL 5.7.5

    说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具 # yum -y install gcc-c++ ncurses-devel cmake make perl \ ...

  5. linux git编译安装目录,Linux(centos) 环境下如何源码编译安装git

    21运维原创,转载请注明出处. 最近线上要使用git进行代码发布和版本管理了,之前搞过,一直没有做记录.从今儿起开始记录这块. linux上(当前文章使用的是centos,ubuntu采用apt-ge ...

  6. centos 7 下 rabbitmq 3.8.0 erlang 22.1 源码编译安装

    安装前请检查好erlang和rabbitmq版本是否相匹配,参考:RabbitMQ Erlang Version Requirements 1. erlang 22.1 源码编译安装 1.1 安装Er ...

  7. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...

  8. 详解LAMP源码编译安装

    实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...

  9. mysql5.1编译安装centos7_CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装

    在CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装过程记录. 一.安装Nginx 1.安装依赖扩展 # yum -y install wget ...

最新文章

  1. roaringbitmap java,BitMap、RoaringBitmap与JavaEWAH
  2. activity 启动模式_Android世界:Activity的启动模式及其适用范围
  3. 使用 GraalVM 将基本的 Java 项目打包成 EXE
  4. 双城生活,一种相对无奈且幸福的选择
  5. js中动态引入css样式文件
  6. php lpop 返回null,数据库读取数据返回 null 怎么办?
  7. JavaBean 与 EJB 的区别
  8. 使用 Xilinx Documentation Navigator 查看官方文档
  9. Python 学习随笔
  10. DMTF云计算开放管理标准内容
  11. Differential Privacy差分隐私
  12. cpc客户端网络不通
  13. 软件工程-什么是热重载,如何使用热重载?
  14. 如何旋转PDF的页面方向?教你2种方法
  15. 在标准IO库中,rewind函数作用?
  16. 数字源表LIV测试激光器方案
  17. VMware Workstation 15 pro 安装macOS 10.13,macOS 10.14教程(仅供个人兴趣学习使用)
  18. 10.MySQL文件
  19. 第九届蓝桥杯单片机省赛题目解析
  20. java if(true)_使用 if(true) 和 if(false)

热门文章

  1. ucontext实现的用户级多线程框架3(实现echo服务器)
  2. 2010年9月blog汇总:敏捷个人和模型驱动开发
  3. 用Inno Setup来解决.NetFramework安装问题
  4. “此文件来自其他计算机,可能被阻止以帮助保护该计算机” 教你win7解除阻止程序运行怎么操作...
  5. 2015化妆品行业如何进行微信公众号营销
  6. linux设备驱动第五篇:驱动中的并发与竟态
  7. linux+postfix+extmail+dovecot搭建邮件服务器
  8. web网站加速之CDN(Content Delivery Network)技术原理
  9. 2021年中国工业互联网安全大赛核能行业赛道writeup之隐写
  10. php webuploader大文件,web uploader 上传大文件总结