(操作系统: OS:CentOs 6.0 并且以最小化安装。)
安装源代码的一般步骤:
一.编译环境:
1.CentOS下的开发工具Development Tools和附加开发:Additional Development这两个软件包组是必须要有的。首先查看自己的CentOS里有没有这两个软件包组。
挂在光盘到/mnt/cdrom下:
进入到/etc/yum/repos.d 下找到Centos-Media.repo 文件(此文件有光盘或U盘等介质上的软件包)。
编辑CentOS-Media.repo文件:vim CentOS-Media.repo
此处的15行和第20行被修改为如图所示
原因是15行加入/mnt/cdrom下的光盘文件;20行是修改为启用该窗口。
查看本地软件包组,命令:
[root@centos yum.repos.d]# yum grouplist --disablerepo=* --enablerepo=c6-media
注:其中: --disablerepo=* --enablerepo=c6-media 指明只显示本地的不显示其他地方的信息。
显示结果中
Installed Groups:显示已经安装的组。
Available Groups:显示可以安装的组。
在 Available Groups:下我们能看到有开发工具:Development Tools,和附加开发:Additional Development。(如果这两个组在Installed Groups:下就不需要再安装。)
2.安装:
安装附加开发Additional Development组命令:
[root@centos yum.repos.d]# yum groupinstall "Additional Development" --disablerepo=* --enablerepo=c6-media,并且确认安装,输入y。安装会需要一点时间,耐心等待一会就好。出现compelete! 这个就是安装完成。
安装开发工具Development Tools组命令:
[root@centos yum.repos.d]# yum groupinstall "Development Tools" --disablerepo=* --enablerepo=c6-media
并确认安装,输入y,安装时也是需要些时间,耐心等待就行。同样,出现Complete! 就是安装完成。
此时编译环境就建好了。
二.库
库的路径:/lib 和 /usr/lib 和他们的子目录是系统都能找到的库的路径。 当安装一个软件时,我们一般会为这个软件单独创建一个目录,但是此时软件产生的各种库文件也都到了这个目录下,此时系统就找不到该软件的库。
此时需要把软件的库路径加入到/etc/ld.so.conf.d下即可。
三.头文件
一般头文件目录在/usr/include ,而安装软件的头文件为了可以被他人调用需创建链接。
四.手册
软件的手册需要在/etc/man.conf下加入其路径即可被系统调用。
以上四步是源代码安装的步骤,下线我们就开始安装一个源代码的Apache。
1.如果想安装最新版本的apache,进入该官网下载即可:http://httpd.apache.org/
拖包:利用Xmanager工具来拖了三个包。其中,httpd-2.4.4是源代码,arp 和 arp-util 这两个包是来 增加Apache的可移植性。
执行拆包命令拆包:
查看:
如果现在安装apache,即httpd你会发现安装时出错,这是因为系统的apr版本过低。因此需要先安装apr。
1)安装apr
1.指明/usr/local/apr为apr-1.4的安装目录并安装:
执行:make && make install 即生成库文件,头文件,手册等在执行make install
2.查看安装情况。
库:
执行命令:[root@centos apr]# vim /etc/ld.so.conf.d/apr.conf
在编辑器里添加apr库的目录:
执行命令ldconfig 更新缓存。
查看apr库更新情况: (出现在缓存)
3.查看头文件,执行命令:cd include/apr-1/
在[root@centos apr-1]#下并用ll 命令查看生成许多头文件:
但此时别的程序不能调用这些头文件。我们需要为这些头文件建立一个链接:
进入到/usr/include下建立一个链接:
2)安装apr-util
1.进入到apr-util下:执行cd /usr/local/src/apr-util
执行./configure --help来查看 ./config的用法。
执行[root@centos apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config 在指定目录下安装。
查看安装结果如图:
[root@centos apr-util-1.5.1]# cd /usr/local/apr-util/
[root@centos apr-util]# ll
总用量 12
drwxr-xr-x. 2 root root 4096 12月 21 16:49 bin
drwxr-xr-x. 3 root root 4096 12月 21 16:48 include
drwxr-xr-x. 4 root root 4096 12月 21 16:49 lib
然后执行make 生成各种文件。
2.执行make install
查看生成文件:
执行:cd /usr/local/apr-util
ls -l lib/ 查看库文件
ls -l include/查看头文件
3.执行:
[root@centos apr-util]# vim /etc/ld.so.conf.d/apr-util.conf
在编辑器里添加apr-util的库目录:/usr/local/apr-util/lib
更新缓存:ldconfig
查看更新:
修改头文件目录:
[root@centos apr-util]# cd /usr/include/
[root@centos include]# ln -s /usr/local/apr-util/include/apr-1/ apr-util
查看:
3)Apache的安装
1.
查看./configure --prefix的安装用法:
用法提示我们要加入--with-apr=加上apr的全路径名,和--with-apr-util=加上全路径名。
知道了用法后,输入这个执行安装命令:
[root@centos httpd-2.4.4]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
但是结果显示出错
但是不要灰心,出错解决了才是学习的王道,不出错我们到学不到东西。
错误结果显示了错误信息:检查pcre-config时出错,pcre是一个正则表达式的兼容库,pcre.config这个配置文件没有找到。
我们查看pcre,输入命令[root@centos httpd-2.4.4]# rpm -qa |grep pcre
结果显示:有pcre-7.8-6.el6.x86_64
说明系统里装了pcre这个东西,我们在查看一个这个pcre:
输入图中命令查看:
结果没有pcre.config这个配置文件。
于是我们查看光盘里的文件有没有pcre开头的:输入:[root@centos httpd-2.4.4]# ll /mnt/cdrom/Packages/pcre*
结果显示:
其中第三行有个pcre-devel的包,devel包一般包含有开发的库和配置文件。查看这个包里有没有pcre.config这个配置文件:
输入:
[root@centos httpd-2.4.4]# rpm -qlp /mnt/cdrom/Packages/pcre-devel-7.8-6.el6.i686.rpm
显示结果中第一行为/usr/bin/pcre-config,说明这个配置文件在这里,下面把这个包装起来就行了。
输入安装命令:
[root@centos httpd-2.4.4]# yum install pcre-devel --disablerepo=* --enablerepo=c6-media
提示输入:y安装。
再次输入安装apache命令:
[root@centos httpd-2.4.4]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
结果显示没有错误。
2.make生成各种文件:
输入make命令:[root@centos httpd-2.4.4]# make
完成之后输入make install命令:[root@centos httpd-2.4.4]# make install
生成文件是一个比较慢的,我们需要耐心等待。
3.查看apache生成没有:
进入到该目录下:cd /usr/local/apache
执行:ls -l
显示结果有bin ,conf,include 等文件。
4.为了能让别人调用apache生成的头文件include,则要为它放到指定目录。
进入该目录:cd /usr/include
命令建立一个链接:ln -s /usr/local/apcahe/include apache
5.由于bin下有许多可执行的二进制文件,如果每次执行都要到目录指定的位置是很不方便的,所以我们要在环境变量中修改一下环境变量。
[root@centos include]# vim /etc/profile
在第54行加入如下路径:
PATH=$PATH:/usr/local/apache/bin
重新读取一下文件,更新一下:
[root@centos include]# . /etc/profile
6.运行apache。
进入/usr/local/apache/bin下执行 ./httpd
输入natstat -tupn |grep httpd查看服务起来没有。