编译安装httpd源码包
2014-02-26 14:25
267 查看
在工作中,我们可能会经常用到需要源代码编译安装的程序,但是在编译完成后,会有一些问题纠结着我们,比如:编译安装的程序怎么卸载?安装完成后的安装路径在哪?配置文件在哪个位置等等一些问题,下面以编译安装httpd为例,看看能够帮大家编译安装遇到的问题
第一步:我们要找到所需要编译安装的源码包,我的电脑上以httpd-2.2.25.tar.bz2为例,先展开需要编译安装的源码包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/e85ad742ed1d71c387c92a59bd8a1d20.jpg)
第二步:执行./configure脚本检查编译环境,并指定安装程序的前缀、配置文件位置以及需要开启或关闭的功能、特性、程序等
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/a6255745079506140a8b1f56569bfe6b.jpg)
“--prefix==/usr/local/httpd”表示程序的二进制文件、库文件、头文件等都在“/usr/local/httpd”目录下,“--sysconfdir=/etc/httpd”指程序的配置文件位置在“/etc/httpd/”目录下,事先要确保这两个目录都不存在,“--enable-so”表示启用模块化功能;具体需要开启哪些功能或特性,需要根据实际的生产环境,结合“./configure --help”帮助文档进行定制
第三步:直接“make”进行编译
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/1b9fc1464810ef66f15e856042261bc7.jpg)
第四步:执行"make install"开始安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/16eced423aae8c85b35d2efa8b37882e.jpg)
至此,httpd源码包编译安装完成,执行“/usr/local/httpd/bin/apachectl start”启动服务(此处启动报错可忽略),然后查看80端口是否处于被监听状态
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/7c58c126c8448020a76d3217d257fa41.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/bc8f97896d6d074f05a842077535c724.jpg)
由于我们的程序安装路径在/usr/local/httpd目录下,所以二进制程序只能在/usr/local/httpd/bin或/usr/local/http/sbin目录下执行,系统默认找不到这些二进制程序,所以我们可以修改环境变量让系统直接找到这些二进制程序
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/9b99598ea9093333bbf2f946fdea7ea5.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/fb79f5669d251a4341f0cabed11baadf.jpg)
系统默认会在/usr/include/找程序相关的头文件,而我们程序的头文件在/usr/local/httpd/include/目录下,所以我们要使用符号链接的方式,让系统在/usr/include/找头文件时跳转到/usr/local/httpd/include/
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/5a9159f24c42e50f4d2be1eb3aafd53c.jpg)
我们的库文件也在/usr/local/httpd/lib目录中,因此,库文件也要输出,使用ldconfig让系统重新生成库文件缓存路径
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/4de16f7c7105b900f511024c3510a6e9.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/e7f98303abebf79534d1ade65852ce0f.jpg)
如果还需要导出man帮助文档,修改/etc/man.config即可
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/870d9ab1600c6460c88bd59ad39a3fca.jpg)
如果我们需要卸载编译安装的程序时,删除程序安装目录(/usr/local/httpd/)和配置文件(/etc/httpd)即可
第一步:我们要找到所需要编译安装的源码包,我的电脑上以httpd-2.2.25.tar.bz2为例,先展开需要编译安装的源码包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/e85ad742ed1d71c387c92a59bd8a1d20.jpg)
第二步:执行./configure脚本检查编译环境,并指定安装程序的前缀、配置文件位置以及需要开启或关闭的功能、特性、程序等
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/a6255745079506140a8b1f56569bfe6b.jpg)
“--prefix==/usr/local/httpd”表示程序的二进制文件、库文件、头文件等都在“/usr/local/httpd”目录下,“--sysconfdir=/etc/httpd”指程序的配置文件位置在“/etc/httpd/”目录下,事先要确保这两个目录都不存在,“--enable-so”表示启用模块化功能;具体需要开启哪些功能或特性,需要根据实际的生产环境,结合“./configure --help”帮助文档进行定制
第三步:直接“make”进行编译
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/1b9fc1464810ef66f15e856042261bc7.jpg)
第四步:执行"make install"开始安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/16eced423aae8c85b35d2efa8b37882e.jpg)
至此,httpd源码包编译安装完成,执行“/usr/local/httpd/bin/apachectl start”启动服务(此处启动报错可忽略),然后查看80端口是否处于被监听状态
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/7c58c126c8448020a76d3217d257fa41.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/bc8f97896d6d074f05a842077535c724.jpg)
由于我们的程序安装路径在/usr/local/httpd目录下,所以二进制程序只能在/usr/local/httpd/bin或/usr/local/http/sbin目录下执行,系统默认找不到这些二进制程序,所以我们可以修改环境变量让系统直接找到这些二进制程序
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/9b99598ea9093333bbf2f946fdea7ea5.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/fb79f5669d251a4341f0cabed11baadf.jpg)
系统默认会在/usr/include/找程序相关的头文件,而我们程序的头文件在/usr/local/httpd/include/目录下,所以我们要使用符号链接的方式,让系统在/usr/include/找头文件时跳转到/usr/local/httpd/include/
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/5a9159f24c42e50f4d2be1eb3aafd53c.jpg)
我们的库文件也在/usr/local/httpd/lib目录中,因此,库文件也要输出,使用ldconfig让系统重新生成库文件缓存路径
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/4de16f7c7105b900f511024c3510a6e9.jpg)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/e7f98303abebf79534d1ade65852ce0f.jpg)
如果还需要导出man帮助文档,修改/etc/man.config即可
![](https://oscdn.geek-share.com/Uploads/Images/Content/201402/26/870d9ab1600c6460c88bd59ad39a3fca.jpg)
如果我们需要卸载编译安装的程序时,删除程序安装目录(/usr/local/httpd/)和配置文件(/etc/httpd)即可
相关文章推荐
- CentOS6.5下源码编译安装httpd2.4.23
- centos7源码编译安装httpd、加入systemctl并设置开机自启动
- linux――源码编译安装httpd ERIKXUE薛忠权
- 源码编译安装httpd2.4及虚拟主机
- CentOS 6.4源码编译安装httpd并启动测试
- 源码编译安装httpd及其常见错误
- 源码编译安装httpd及其常见错误
- 源码编译安装httpd
- centos下LAMP之源码编译安装httpd
- 源码编译安装httpd
- 源码编译安装httpd-2.4.9|笔记
- 手动在linux中源码编译安装httpd
- 源码编译安装httpd2.4.9
- 纯源码编译安装LAMP,linux,httpd,php,mysql源码编译安装
- Linux下源码httpd编译安装
- CentOS6.8 x64+Nginx1.3.8/Apache-httpd 2.4.3+PHP5.4.8(php-fpm)+MySQL5.5.28+CoreSeek4.1源码编译安装
- 源码编译安装httpd服务
- 源码编译安装程序包及httpd源码安装实践
- CentOS 6.4 编译安装httpd-2.2.25源码包
- httpd-2.4源码编译安装