httpd源码编译安装
什么是编译安装——编译:将源代码变为机器可执行的代码文件。安装:将可执行文件安装到操作系统里,才可以使用。
一、下载httpd源码包
在官网上下载httpd源码包http://httpd.apache.org,也可以在linux中输入rpm -qi httpd查看到当前下载源码httpd的网址
下载到linux的data目录下,然后进行解压:
- [root@ansibledata]#rz
- [root@ansibledata]#tar xf httpd-2.4.39
注意:一定要在解压后的httpd目录下安装,下面的编译需要用到httdp目录下的脚本,所以我用cd httpd把目录切换到httpd中去进入cd httpd-2.4.27/
二、查看INSTALL、README 这些帮助信息
查询 cat INSTALL,里边有简单的安装过程,和一些例子
查询 cat README,(what is it ?)里边有一些Apache 的功能介绍
三、configure脚本(检测当前编译环境)
(1)./configure --help 查询这个脚本的用法,
--prefix=PREFIX 指定默认安装总目录, 默认为/usr/local/
--sysconfdir=/PATH 配置文件安装位置,默认就安装到指定安装总目录的下面
Optional Features: 需要什么功能
--disable-FEATURE 关闭某些功能
--enable-FEATURE 开启某些功能
下面我们就来执行这个脚本,添加一些简单的设置
手工创建账号:
- [root@ansiblehttpd-2.4.39]#useradd -r -u 80 -d /var/www -s /sbin/nologin httpd
(1)首先安装development-tools包,因为没有C编译工具,缺少gcc,这时候,我们需要下一个包组development tools
yum -y groupinstall "Development Tools"
- [root@ansiblehttpd-2.4.39]#yum groupinstall "development tools"
(2)首次安装包,会有一些提示错误,第一次安装没有一些准备好的包,可以根据提示错误进行安装:
- [root@ansiblehttpd-2.4.39]#./configure --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
(3)我们只需按照提示的错误,把需要的都安装上去(直到没有提示错误)
先查询缺少的 yum search apr-devel(一般关于开发的都叫 devel)
再安装 yum -y install apr-devel
- [root@ansiblehttpd-2.4.39]#yum install apr-devel
(4)此时缺少apr-util包,按照提示错误来进行下一步安装:
- [root@ansiblehttpd-2.4.39]#yum install apr-util-devel
- [root@ansiblehttpd-2.4.39]#./configure --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
(5)根据提示错误继续往下安装,此时缺少pcre包,安装pcre-devel包
- [root@ansiblehttpd-2.4.39]#yum install pcre-devel
继续执行指定路径的包安装
- [root@ansiblehttpd-2.4.39]#./configure --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
(6)根据提示的错误,安装openssl-devel包:
- [root@ansiblehttpd-2.4.39]#yum install openssl-devel
(7)再执行指定路径的包安装,此时就已经完成指定路径包的安装。
- [root@ansiblehttpd-2.4.39]#./configure --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
(8)configure脚本完全执行成功(多了一个Makefile)没有Makefile
四、make和make install编译
(1)进行make编译,make 编译后,多了很多.o .lo 文件 (二进制文件),在此之前的工作,任何用户都能做,并且都在httpd-2.4.27 这个目录下进行
- [root@ansiblehttpd-2.4.39]#make
(2)make install 安装到指定位置,只有root 能做,此时httpd的编译完成。
- [root@ansiblehttpd]#make install
(3)切换到/app/httpd/bin执行程序目录下,此时去执行服务启动,都必须是./apachectl start,不太方便,我们可以指定变量路径
- [root@ansiblehttpd]#cd /app/httpd/bin
- [root@ansiblebin]#pwd
- /app/httpd/bin
- [root@ansiblebin]#echo 'PATH=/app/httpd/bin:$PATH' > /etc/profile.d/httpd.sh 定义一个/app/httpd/bin的配置文件路径
- [root@ansiblebin]#apachectl start 启动当前编译的httpd服务
此时在网上输入本机的IP地址就可以访问信息:
五、安装后的配置
导入帮助手册man
vim /etc/man_db.conf
加入一行 MANDATORY_MANPATH /app/httpd/man
httpd源码编译安装的更多相关文章
- Linux httpd源码编译安装
# wget http://apache.fayea.com/httpd/httpd-2.2.31.tar.bz2 去官网下载源码包 # mv httpd-.tar.bz2 /usr/local/sr ...
- Linux源码编译安装httpd
Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...
- Httpd服务进阶知识-LAMP源码编译安装
Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理 ...
- bash-2 httpd服务的源码编译安装脚本
httpd服务的源码编译安装脚本 #!/bin/bash # #******************************************************************** ...
- 总结源码编译安装mysql
最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- 第四次作业;创建raid5,源码编译安装;磁盘配额
创建raid5 格式化 ext4 创建物理卷: 创建卷组: 创建逻辑卷: 格式化 ext4 挂载 开机自启动 创建raid配置文件 源码编译安装: 创建本地yum仓库 umount /dev/sr0 ...
- LAMP环境源码编译安装过程
LAMP环境源码编译安装过程 一.Apache的安装 1.1.apache软件包及依赖包准备 httpd-2.4.29.tar.bz2 apr-1.6.3.tar.gz apr- ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
随机推荐
- 01.轮播图之二 :tableView 轮播
在做这个tablevew轮播的时候,重要的就是修改frame 和view 的翻转了:::: 也是不难的,概要的设计和scroll 轮播是一致的: 首先是 .h 的文件 @interface Table ...
- Xena L23网络测试仪Valkyrie使用技巧100例:使用Xena官方在线演示设备 (编号00)
需求# 1.新用户:没有硬件,想看看软件长什么样,好不好用,风格如何,怎么办? 2.代理商:没有硬件,想给客户Show一下Xena高大上的软件,怎么办? 3.老用户:邮件推送了新的软件版本,据说很多新 ...
- GPU Skinning 结合 Instanced 高效实现大量单位动画
GPU Skinning 与 Instance 蒙皮动画 计算骨骼信息 蒙皮 GPU Skinning CPU Skinning 与 GPU Skinning 实现方式 Skinning 类型 优点 ...
- AutoMapper扩展帮助类
/// <summary> /// AutoMapper扩展帮助类 /// </summary> public static class AutoMapperExtension ...
- Linux 学习笔记 1 使用最小的系统,从分区安装系统开始
我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...
- shell 批量重命名
原文链接https://www.cnblogs.com/sunmmi/articles/6709125.html shell 批量重命名 1.把文件名的第一字母批量改成a 方法一: 1 2 3 4 ...
- Linux中查找最耗CPU的Java代码问题
第一步: 查看消耗CPU最高的进程PID [lolaage@web2 tomcat-ns]$ top top - 13:23:32 up 42 days, 19:11, 3 users, load ...
- 【LOJ】#2210. 「HNOI2014」江南乐
LOJ#2210. 「HNOI2014」江南乐 感觉是要推sg函数 发现\(\lfloor \frac{N}{i}\rfloor\)只有\(O(\sqrt{N})\)种取值 考虑把这些取值都拿出来,能 ...
- PHP切割整数工具,类似微信红包金额分配
Composer地址:https://packagist.org/packages/werbenhu/php-number-slicing GitHub地址:https://github.com/we ...
- MongoDB 正则表达式查询
正则表达式查询 $regex 注:^ 取反的意思 用特殊的转义字符需要在前面加一个斜杠 通过 ^取反 ,再通过$not取反,就可获得只包含一种类型的数据 \\d 数字 \\s 空格 \\ ...