源码编译安装程序是最原始的管理linux系统上应用程序的方式
首先我们要弄清楚源码安装的步骤
- 网上下载程序的源码包
- 解压源码包,并进入解压以后产生的目录当中
- 执行./configure脚本 # ./configure
- 编译: # make
- 安装: #make install
简单描述一下 ./configure , make , make install都做哪些事
- ./configure 主要是检查编译环境是否符合编译需要,调整软件程序的功能,以及指定软件程序的安装路径等
- make 依据其配置文件makefile进行编译
- make install 进行程序文件的生成
大概流程是:
由程序员在制作源码包时通过autoconfig这个工具产生configure,通过automake这个工具产生makefile.in, 而用户在执行./configure时,configure会依据makefile.in生成makefile, 接着make依据生成的makefile文件去进行程序的编译,最后通过make install进行程序文件的生成
环境与源码包的准备
在进行安装之前需要准备编译环境的配置,其实就是安装 “Development Tools”与”Server Platform Development” 这两个包组使用命令 yum -y groupinstall “包组名称” 即可
在这里会编译安装以下的源码包:
- axel-2.4.tar.gz
- httpd-2.2.24.tar.bz2
- nginx-1.4.2.tar.gz
环境: rhel 6.5
安装axel-2.4.tar.gz
1 首先解压axel-2.4.tar.gz, 并进入解压后的目录
2 然后执行安装脚本./configure
3 接着进行编译 make
4 最后就是安装 make install
但是现在还是不能正常运行程序如下:
# axel -o /tmp -n 3 http://mirrors.163.com/centos/6/os/x86_64/Packages/kernel-2.6.32-642.el6.x86_64.rpm
这是因为当你执行上面的命令时,系统会到PATH环境变量所定义的路径去查找axel并执行它,但是PATH环境变量所定义的路径中并不包括axel二进制所在的路径
所以还要修改环境变量PATH
# vim /etc/profile.d/axel.sh
添加以上内容,保存并退出
然后注销并重新登录,并查看PATH环境变量
如果需要使用man来获取axel的帮助信息,也需要配置man的查找路径,否则
所以需要修改man的配置文件/etc/man.config
# vim /etc/man.config
添加红色方框中的内容即可,然后使用man命令能否查找到axel的帮助信息
# man axel
当然如果你不想修改man的配置文件,也可以手动指定man要到哪个路径去查找帮助信息,使用以下命令同样可以
# man -M /usr/local/axel/share/man axel
现在我们来测试使用axel这个Linux下的下载加速工具
# axel -o /tmp -n 3 http://mirrors.163.com/centos/6/os/x86_64/Packages/kernel-2.6.32-642.el6.x86_64.rpm
至此,源码包编译安装axel已经完成
安装httpd-2.2.24.tar.bz2
1 首先解压httpd-2.2.24.tar.bz2,并进入解压缩后的目录
2 执行安装脚本./configure
3 接着编译 make
4 最后安装 make install
还需要配置PATH环境变量, man文档的查找路径
# vim /etc/profile.d/httpd.sh
添加以上内容,保存并退出
然后注销并重新登录,并查看PATH环境变量
添加man文档的查找路径
# man httpd
对于apache这样的程序,还要将包含其开发所需的头文件的目录和库文件所在的目录输出给系统
- 输出apache头文件的目录
- 输出apache库文件的目录
添加以下内容
保存并退出, 因为系统查找库文件的路径在开机已经缓存下来,如下:
所以要让系统重新生成库文件路径的缓存才行,这里使用ldconfig命令
至此,源码包编译安装apache已经完成
测试apache是否安装成功
a) 启动apache
b) 在windows中打开浏览器,并在地址栏输入linux的网卡地址
如果成功的话,你将看到下图
安装nginx-1.4.2.tar.gz
1 首先解压nginx-1.4.2.tar.gz, 并进入解压后的目录
2 执行安装脚本./configure
如果出现如下错误
那是因为pcre这个包虽然安装上了,但是其开发包并未安装的原因,把pcre-devel这个包安装上即可,注意这个包硬件架构是i386还是x86_64
再次执行安装脚本./configure –prefix=/usr/local/nginx,如果看到以下内容,则表示执行成功
3 然后编译 make
4 最后安装 make install
至此, 源码包编译安装nginx已经完成
还是需要配置PATH环境变量
# vim /etc/profile.d/nginx.sh
添加以下内容
然后注销并重新登录,并查看PATH环境变量
由于nginx没有自带的man文档, 头文件和库文件,所以这些步骤可以省略
至此, 源码包编译安装nginx已经完成
测试nginx是否安装成功之前,需要停止apache
接着测试nginx是否可用
- 启动nginx
- b) 在windows中打开浏览器,并在地址栏输入linux的网卡地址
如果成功的话,你将看到下图