Linux源码包安装apache(httpd)
我这里实验是用的CentOS7
#事先先检查一下自己的linux是否安装apache
[root@localhost ~]#rpm –q httpd
#如果已安装则先卸载原来的apache
[root@localhost ~]#yum –y remove httpd
#我这里安装的虚拟机,做实验前恢复到刚安装时的快照
#下载httpd源码包,以及三个安装所需的依赖包的源码包
一、下载,准备安装rpm源码包
1.Apache HTTP Server(我这里下载的是httpd-2.4.39.tar.gz)
地址:http://httpd.apache.org/download.cgi#apache24
2. APR 和 APR-Util(我这里下载的是apr-1.5.2.tar.bz2 和apr-util-1.5.4.tar.gz)
地址:http://apr.apache.org/download.cgi
3. PCRE(我这里下载的是pcre-8.35.tar.gz)
地址:https://ftp.pcre.org/pub/pcre/
#安装源码包的时候还可能跟下载的包有问题,怎么装都不正确,我换了一个1.5的安装就成功了,,不知道为什么。。。
二、开始安装
#可以用wget命令直接下载到linux中,我这里用的windows下载,并上传到linux上
#wget url_path

#安装编译环境(一定要安装gcc/gcc-c++ 可以用[root@localhost ~]#gcc –v查询是否安装)
[root@localhost ~]#yum –y install gcc-c++ make
#这里我将上传在/root/目录下的所有压缩包解压到/usr/local目录下
[root@localhost ~]# .tar.bz2 -C /usr/local/ //-C表示解压到指定路径 [root@localhost ~]# .tar.gz -C /usr/local/ [root@localhost ~]# tar xf pcre-8.35.tar.gz -C /usr/local/ [root@localhost ~]# .tar.gz -C /usr/local/
#如果出现不能解压.bz2格式的情况,先用yum下载好bzip2
#进到/usr/local/目录下,没问题的话,开始安装第一个apache依赖包,首先安装apr-1.5.2
[root@localhost ~]# cd /usr/local/ [root@localhost local]# ls [root@localhost local]# cd apr- [root@localhost apr-]#./configure --prefix=/usr/local/apr //prefix表示指定安装路径 [root@localhost apr-]#make&&make install //编译并进行安装
/#没有出现error错误的话那就安装成功了
#开始安装第二个依赖包,apr-util-1.5.4的安装还依赖于apr-1.5.2。所以放在第二个安装
[root@localhost apr-]# cd ../apr-util- [root@localhost apr-util-]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr--config //这里with将其关联起来,解决安装的依赖关系 [root@localhost apr-util-]#make&&make install
#安装第三个依赖包
[root@localhost apr-util-]# cd ../pcre-8.35 [root@localhost pcre--config [root@localhost pcre-8.35]#make&&make install
#开始安装apache
[root@localhost pcre- [root@localhost httpd-]#./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util [root@localhost httpd-]#make&&make install
#这里一定要关闭防火墙,否则浏览器没办法访问到
1 [root@localhost ~]#systemctl stop firewalld 2 3 [root@localhost ~]#setenforence 0 //关闭selinux防火墙
#编辑httpd.conf文件,搜索"ServerName"
[root@localhost ~]# cd /usr/local/httpd/conf/ [root@localhost conf]# ls extra httpd.conf magic mime.types original [root@localhost conf]# vim httpd.conf #ServerName www.example.com: //将前面的#去掉,或者自己添加也行
#再重新启动apache 即可。
[root@localhost conf]#/usr/local/httpd/bin/apachectl restart //注意,这里得用二进制程序来启动,而不能用systemctl start httpd来启动
#这里所有路径跟你自己解压、安装的命名和位置有关系,跟我不同的位置的要注意下咯,免得找不到尴尬
三、测试
浏览器输入服务器IP地址,出现It works就代表成功了!!!ok,收工
Linux源码包安装apache(httpd)的更多相关文章
- 【Ubuntu 16】源码包安装Apache Httpd
源码包安装适合初学者使用. 背景信息 APR (Apache Portable Runtime) Apache可移植运行的任务(APR)项目是创建和维护软件库,为底层平台的具体实现提供了一个可预见的和 ...
- Linux源码包安装程序
★安装OS时,建议提前安装开发组件 CentOS 6:Development Tools.Server Platform DevelopmentCentOS 7:Development Tools.D ...
- Linux源码包安装过程及注意事项
众做周知RedHat Linux使用RPM包管理器安装rpm包,但是RPM包是由红帽编译打包的,通常相对于最新版落后了很多,甚至可能缺少我们所要使用的功能.如果你需要定制想要的软件功能.自定义安装路径 ...
- linux 源码包安装拾遗
源码包安装和apt-get/yum的区别 安装前的区别:概念上的区别 rpm和dpkg包是经过编译过的包,并且其安装位置由厂商说了算,厂商觉得安装在哪里合适,就会装在哪里,而源码包则是没有经过编译的文 ...
- Linux 源码包安装过程
安装准备 安装gcc编译器 下载源码包 源代码保存位置:/usr/local/src/ 软件安装位置:/usr/local/ 解压缩下载的源码包 进入解压缩目录 软件配置与检查:./configure ...
- Linux源码包安装和脚本安装
能够先 vi INSTALL 看看安装过程. 1.源码包安装 2.脚本安装
- CentOS源码包安装apache、nginx服务
1.通过官网下载apache.nginx源码包 2.进入apache源码包所在目录,解压tar -xf httpd-2.4.12.tar.gz 3.cd httpd-2.4.12 4.阅读README ...
- 源码包安装apache
含有的命令:cd,wget,tar,cd,yum,./configure,make,make install,vim ===安装apache=== [root@ycj ~]# cd /usr/src/ ...
- linux 源码编译安装apache
cc1 是c语言的编译器.
随机推荐
- VS2010中GetMenu()和GetSubMenu(0)为NULL引发异常的解决方法 及添加方法
对于前面问题的分析:来源于http://blog.163.com/yuyang_tech/blog/static/216050083201211144120401/ 解决方法1: //来源:http: ...
- Android拨打电话权限总结
android在6.0和6.0以上拨打电话的权限声明 /** * 打电话 * * @param phoneNumber */ protected void startCallPhone(String ...
- [剑指offer] 3. 从头到尾打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 利用容器,遍历一遍加入到一个新容器里,然后反置输出. vector 用 reverse stack 则直接一个个出栈 ...
- [leetcode] 72. Edit Distance (hard)
原题 dp 利用二维数组dp[i][j]存储状态: 从字符串A的0~i位子字符串 到 字符串B的0~j位子字符串,最少需要几步.(每一次删增改都算1步) 所以可得边界状态dp[i][0]=i,dp[0 ...
- golang从context源码领悟接口的设计
注:写帖子时go的版本是1.12.7 go语言中实现一个interface不用像其他语言一样需要显示的声明实现接口.go语言只要实现了某interface的方法就可以做类型转换.go语言没有继承的概念 ...
- get解决乱码的方式
//自定义的解决乱码方式
- PHP与ECMAScript_5_常用数组相关函数
PHP ECMAScript 长度 $length = count($array) length = array.length 增 array_unshift($array, new1,n ...
- React Hooks 深入系列 —— 设计模式
本文是 React Hooks 深入系列的后续.此篇详细介绍了 Hooks 相对 class 的优势所在, 并介绍了相关 api 的设计思想, 同时对 Hooks 如何对齐 class 的生命周期钩子 ...
- coffeescript 函数 箭头表达式
函数 do可以形成闭包,使方法作用域不受外部变化的影响. 隐式返回最后一个表达式的值 函数调用省略括号 用arguments数组访问传递给函数的所有对象(低可读性) @name为this.name的简 ...
- strus 上传文件
(1) action代码 package comSys.struts.articleManager; import java.io.File; import java.io.FileInputStre ...