源码编译安装程序包从步骤并不复杂,实际安装过程中最主要的就是准备好编译环境;根据自己的实际需求,选择或设置程序包编译参数;以及程序包安装后的相关配置。
1. 编译环境准备
以CentOS6为例,一般通过yum安装2个包组,编译工具,以及编译程序包依赖的主要的头文件和库文件就都准备好了。
# yum groupinstall "Development Tools"
# yum groupinstall "Server Platform Development"
另外,如果在程序包的编译阶段,发现缺少某些依赖开发包,则通过yum安装之,然后继续编译。这个过程可能会反反复复!
2. 程序包编译参数选择或设置
在运行configure脚本前,通常要根据自己的实际需要带上各种参数。这些参数大致归为如下3类。
A) 指定相关的安装路径。举例:
--prefix=/usr/local/package_name
--sysconfdir=/etc/package_name
B) 指定启用/禁用的特性。举例:
--enable-fpm
--disable-socket
C) 指定所依赖功能、程序或文件。举例:
--with-function:启用某功能
--without-function:禁用某功能
不同的程序,其configure脚本支持的具体的参数选项都不完全相同。具体以运行 ./configure --help 帮助信息为准。
3. 程序包安装后的相关配置
程序包安装完成后,为了让系统能找到相应的二进制可执行程序文件、可供其它第三方程序包调用的库文件和头文件和man帮助文件等,要做相应的设置工作。具体可参见下面的安装实例。
httpd源码安装实践:
1. 从apache官方网站下载源码文件httpd-2.2.29.tar.bz2,假定存放在/tmp目录下。
2. # cd /tmp
3. # tar xf ./httpd-2.2.29.tar.bz2
4. # cd httpd-2.2.29
5. 编译并安装。假定事先规划将程序包安装在/usr/local/httpd,httpd的配置文件放置在/etc/httpd,并允许动态模块加载功能。
# ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --enable-so
# make
# make install
6. 程序包安装后的相关配置工作。
A) 在/etc/profile.d目录下创建文件"httpd.sh",文件内容如下:
# vim /etc/profile.d/apache.sh
PATH=/usr/local/httpd/bin:$PATH
export PATH
B) 在/etc/ld.so.conf.d/目录下创建文件"httpd.conf",文件内容如下:
/usr/local/httpd/lib
C) 让系统重新生成库文件路径缓存
# ldconfig
D) 创建符号链接,以便系统能找到httpd提供的头文件。
# ln -s /usr/local/httpd/include /usr/include/httpd
E) 导出man文件。修改配置文件/etc/man.config,在相应的位置添加如下行:
MANPATH /usr/local/httpd/man
至此,apache的WEB服务器程序httpd通过源码编译安装并设置完毕!由于没有服务脚本,可以通过如下方式手动启动:
# apachectl start
本文出自 “被褐怀玉徳善人间” 博客,请务必保留此出处http://deshanrenjian.blog.51cto.com/9324633/1551181
原文地址:http://deshanrenjian.blog.51cto.com/9324633/1551181