编译安装httpd 2.4
author:JevonWei
版权声明:原创作品
官方网站下载httpd2.4、apr及apr-util的相关软件包,并传输到centos 7系统中的/usr/local/src(apr1.6版本过高不兼容,故需下载apr-1.5*版本)
httpd2.4
http://httpd.apache.org/download.cgi#apache2.4
apr及apr-util
http://httpd.apache.org/download.cgi#apache2.4lftp 172.16.0.1:/pub/Sources/sources/httpd> mget apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2
解压软件包并安装开发包组
[root@danran src]# cd /usr/local/src
[root@danran src]# ls
apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2
[root@danran src]# tar -xf apr-1.5.2.tar.bz2
[root@danran src]# tar -xf apr-util-1.5.4.tar.bz2
[root@danran src]# tar xf httpd-2.4.27.tar.bz2
[root@danran src]# ls
[root@danran src]# ls
apr-1.5.2 apr-util-1.5.4 httpd-2.4.27
apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2
[root@danran src]# yum -y groupinstall "Development Tools"
方法一、apr、apr-util、httpd24分别编译
编译安装apr
[root@danran src]# mkdir /usr/local/apr \\新建/usr/local/apr做apr的安装目录
[root@danran src]# cd apr-1.5.2/
[root@danran apr-1.5.2]# ./configure --prefix=/usr/local/apr \\--prefix指定安装目录
[root@danran apr-1.5.2]# make && make install \\安装
编译安装apr-util
[root@danran src]# mkdir /usr/local/apr-util \\创建apr-util的安装目录
[root@danran src]# cd apr-util-1.5.0/
[root@danran apr-util-1.5.0]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr \\--with-apr 指定apr的安装目录,--prefix=/usr/local/apr-utils指定apr-util的安装目录
[root@danran apr-util-1.5.0]# make && make install
编译httpd 2.4
[root@danran src]# mkdir /usr/local/httpd24
编译
[root@danran httpd-2.4.27]# ./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork \-with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util指定apr及apr-util的安装目录
checking for gcc option to accept ISO C99... -std=gnu99
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
提示pcre包没有安装,故需安装pcre-devel开发包
[root@danran httpd-2.4.27]# yum -y install pcre-devel再次执行编译
[root@danran httpd-2.4.27]# ./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
checking whether to enable mod_ssl... checking dependencies
checking for OpenSSL... checking for user-provided OpenSSL base directory... none
checking for OpenSSL version >= 0.9.8a... FAILED
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软件包缺失,需安装openssl-devel开发包
[root@danran httpd-2.4.27]# yum -y install openssl-devel缺失的程序包安装完毕再次执行编译安装
[root@danran httpd-2.4.27]# ./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[root@danran httpd-2.4.27]# make && make install
法二 apr、apr-util、httpd三个程序包一起编译
[root@danran src]# mv apr-1.5.2 httpd-2.4.27/srclib/apr
[root@danran src]# mv apr-util-1.5.4 httpd-2.4.27/srclib/apr-util
[root@danran src]# cd httpd-2.4.27
[root@danran httpd-2.4.27]# ./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
同上编译httpd24操作一致,根据提示安装不同的程序开发包,eg
[root@danran httpd-2.4.27]# yum -y install pcre-devel
[root@danran httpd-2.4.27]# yum -y install openssl-devel
[root@danran httpd-2.4.27]# make && make install
导入环境变量
[root@danran httpd-2.4.27]# cd /usr/local/httpd24/bin/
[root@danran bin]# ls
ab checkgid envvars-std htdbm httpd rotatelogs
apachectl dbmmanage fcgistarter htdigest httxt2dbm
apxs envvars htcacheclean htpasswd logresolve
[root@danran bin]# vim /etc/profile.d/httpd.sh
export PATH=/usr/local/httpd24/bin:$PATH
[root@danran bin]# . /etc/profile.d/httpd.sh
[root@danran bin]# $PATH
-bash: /usr/local/httpd24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin: No such file or directory
[root@danran bin]# which apachectl
/usr/local/httpd24/bin/apachectl导入man帮助路径
[root@danran httpd-2.4.27]# ls /usr/local/httpd24/man/ \httpd的man帮助路径
[root@danran ~]# vim /etc/man.config
MANPATH /usr/local/httpd24/man/
man1 man8
启动服务
[root@danran bin]# apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using danran.com. Set the 'ServerName' directive globally to suppress this message
[root@danran bin]# ps aux | grep http
root 85908 0.0 0.1 97324 2324 ? Ss 13:15 0:00 /usr/local/httpd24/bin/httpd -k start
daemon 85909 0.0 0.1 99408 1916 ? S 13:15 0:00 /usr/local/httpd24/bin/httpd -k start
daemon 85910 0.0 0.1 99408 1916 ? S 13:15 0:00 /usr/local/httpd24/bin/httpd -k start
daemon 85911 0.0 0.1 99408 1916 ? S 13:15 0:00 /usr/local/httpd24/bin/httpd -k start
daemon 85912 0.0 0.1 99408 1916 ? S 13:15 0:00 /usr/local/httpd24/bin/httpd -k start
daemon 85913 0.0 0.1 99408 1916 ? S 13:15 0:00 /usr/local/httpd24/bin/httpd -k start
root 85915 0.0 0.0 112648 960 pts/1 R+ 13:15 0:00 grep --color=auto http编译安装的httpd的自带默认web页面保存在/usr/local/httpd24/htdocs路径下
[root@danran htdocs]# ll /usr/local/httpd24/htdocs/index.html
添加服务脚本启动服务
Centos 7
[root@danran htdocs]# scp 172.16.251.4:/etc/init.d/httpd /etc/init.d/httpd24 \复制某台 主机的http的服务脚本到当前系统
[root@danran htdocs]# cd /etc/init.d/
[root@danran init.d]# vim /etc/init.d/httpd24 \修改以下内容
apachectl=/usr/local/httpd24/bin/apachectl \启动二进制文件路径
httpd=${HTTPD-/usr/local/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/usr/local/httpd24/logs/httpd.pid} \pid进程号文件
lockfile=${LOCKFILE-/var/lock/subsys/httpd24} \httpd的锁文件
[root@danran init.d]# apachectl stop
[root@danran init.d]# chkconfig --add httpd24
[root@danran init.d]# chkconfig --list httpd24Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'. httpd24 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@danran init.d]# service httpd24 start \\centos7使用此命令有缺失,建议还是使用apachectl start启动 [root@danran bin]# apachectl start \\启动httpd24服务 [root@danran init.d]# ls /usr/local/httpd24/logs/httpd.pid
/usr/local/httpd24/logs/httpd.pid
[root@danran init.d]# ls /usr/local/httpd24/logs/access_log
/usr/local/httpd24/logs/access_log
[root@danran init.d]# ls /usr/local/httpd24/logs/error_log
/usr/local/httpd24/logs/error_log
Centos 6
[root@danran ~]# cp /etc/init.d/httpd /etc/init.d/httpd24
[root@danran ~]# vim /etc/init.d/httpd24
apachectl=/usr/local/httpd24/bin/apachectl
httpd=${HTTPD-/usr/local/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/usr/local/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
[root@danran httpd-2.4.27]# service httpd24 start
Starting httpd: AH00557: httpd: apr_sockaddr_info_get() failed for danran.com
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[ OK ]
[root@danran httpd-2.4.27]# chkconfig --add httpd24
[root@danran httpd-2.4.27]# chkconfig --list httpd24
httpd24 0:off 1:off 2:off 3:off 4:off 5:off 6:off
编译安装httpd 2.4的更多相关文章
- 编译安装HTTPD 2.4.9版本
编译安装HTTPD 2.4.9版本 服务脚本:/etc/rc.d/init.d/httpd 脚本配置文件路径:/etc/sysconfig/httpd 运行目录:/etc/httpd ...
- CentOS 6.4源码编译安装httpd并启动测试
今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安 ...
- apache编译安装 httpd 2.2 httpd 2.4
#apache编译安装#httpd 2.2 , httpd 2.4 #!/bin/sh #apache编译安装 #httpd 2.2 , httpd 2.4 #centos #rpm -e httpd ...
- Linux源码编译安装httpd
Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...
- (转)CentOS 7.6 上编译安装httpd 2.4.38
原文:https://www.s4lm0x.com/archives/40.html https://www.cnblogs.com/sunshine-H/p/8110608.html----超详细 ...
- LAMP环境之编译安装httpd服务
“Apache HTTP Server”是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务. 在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件.htt ...
- 编译安装httpd
一.安装前的说明: httpd依赖于apr和apr-util所以在安装httpd之前要把这些东西都安装上去. 事先安装的依赖: yum -y install gcc gcc-c++ pcre-deve ...
- 二进制编译安装httpd服务
systemctl stop httpd yum remove httpd-----------------------(在做之前 先删掉httpd) 安装编译环境 yum -y groupinsta ...
- 把编译安装的httpd 实现服务脚本,通过service和chkconfig 进行管理
把编译安装的httpd 实现服务脚本,通过service和chkconfig 进行管理 1 编译安装httpd 把httpd编译安装在/app/httpd/目录下. 2 在/etc/rc.d/init ...
随机推荐
- jsp函数的使用
在这篇博客里面谈一谈jsp函数的一些使用规则 1.在jsp里面,函数和类是等价的,因为在函数的内部可以定义函数和变量.定义在函数内的函数和变量分为实例属性.实例函数.类属性.类函数.实例和类是面向对象 ...
- 再起航,我的学习笔记之JavaScript设计模式01
我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 在通 ...
- Java工程师书单(初级、中级、高级)
简介 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题 ...
- 终结 finalize()和垃圾回收(garbage collection)
1.为什么要有finalize()方法? 假定你的对象(并非使用new)获得了一块"特殊"的内存区域,由于垃圾回收器只知道释放那些经由new分配的内存,所以他不知道该如何释放该对象 ...
- Codeforces 828B Black Square(简单题)
Codeforces 828B Black Square(简单题) Description Polycarp has a checkered sheet of paper of size n × m. ...
- 华为服务器Linux在线做RAID方法
背景概述 最近维护大数据的一些主机,大概有3k+的数目,有很大一部分是华为的服务器,大部分是12块数据盘,单盘做RAID0来存放数据,但是通常硬件是不可靠的,磁盘损坏是常态, 然而磁盘损坏进行定位更换 ...
- JS基础学习篇(一)
近来一直在学习js和jquery.刚刚进入前端工作还没有多久,虽然大学里学习的是编程自认为也学的还可以,但前端接触的不多,一直认为前端十分简单.其实不然,特别是工作的时候要自己设计一个完整的项目前端, ...
- Git版本控制系统之基本使用
最早是通过接触著名的开源社区Github了解到Git的,但一直没有系统学习过.这次下定决心从头到尾系统的学一学,也将学习过程记录于此,供大家批驳.本篇文章先从以下几个方面简单了解一下Git: Git的 ...
- TASKCTL产品功能清单-转载
功能分类 功能描述 一级 二级 关系 调度控制 作业依赖关系调度 作业依赖关系调度是调度最基本的功能,指作业间具有顺序的运行,比如:a.b.c三个作业,只有当a完成后才运行b,b完成才能运行c 作业并 ...
- CTF比赛中SQL注入的一些经验总结
ctf中sql注入下的一些小技巧 最近花了一点时间总结了各大平台中注入的trick,自己还是太菜了,多半都得看题解,就特此做了一个paper方便总结 注释符 以下是Mysql中可以用到的单行注释符: ...