(2)安装环境为CentOS7 minimal。
(3)用户权限为root,非root用户请切换至root用户下。
(4)安装之前确保本计算机中没有使用rpm安装httpd。使用rpm -q httpd查看。
2、解压归档压缩包至当前目录下
#tar xf httpd-2.4.25.tar.gz
(1)即使不指定option z,tar命令也能根据文件名后缀自动找到最适合的解压方式。
(2)如果指定解压参数,其参数分别对应的压缩方式z:gz,j:bz2,J:xz。
(3)如果想在解压同时输出解压时的详细信息,那么跟上参数v。例如使用tar zxvf httpd-2.4.25.tar.gz。
(4)-C可指定解压到的目录,例如文件想要解压到/root/apache下,使用tar zxvf httpd-2.4.25.tar.gz -C /root/apache/。
(5)f参数后必须跟被解压文件的文件名。
3、进入解压后的文件目录
#cd httpd-2.4.25
4、使用./configure [OPTION]...[VAR=VALUE]...,配置此包适应本操作系统
`configure' configures this package to adapt to many kinds of systems.
#./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd
几个简单的option
--help 使用此参数可查看configure支持的详细参数信息
--prefix=PREFIX 指定安装路径,不指定目录,默认安装到/usr/local/apache2目录下
--sysconfdir=DIR 指定配置文件路径
进行./configure时,不一定会100%通过,如果提示error缺少library等,请安装其要求的lib。
例如,本实验环境进行configure操作时缺少APR lib,使用yum list all|grep apr查看yum库中所有包含apr关键字的包
安装apr、apr-devel、apr-util-devel,一般来说后缀名带devel的为开发包。
#yum install -y apr apr-devel apr-util-devel
安装完成后重新执行./configure命令,直到不出错为止。
5、当前目录下执行make命令进行编译
#make
6、当前目录下执行make install命令进行安装
#make install
7、为httpd添加至环境变量
源码编译安装的包是不能在终端直接敲命令使用的。
(1)如果想使用其命令可以进入其安装目录下的bin目录,直接执行此文件目录中的可执行文件。
比如,我想执行httpd下的apachectl命令,那么进入httpd的安装目录/usr/local/httpd,然后进入其bin目录。执行apachectl。
#cd /usr/local/httpd/bin
#./apachectl start
在外部浏览器输入你server的ip加上80端口号
:80
(2)如果想要直接在任何目录都能使用httpd的命令,那么就将其安装路径添加至环境变量
修改/etc/profile,在最后一行添加 export PATH=$PATH:/usr/local/httpd/bin
然后使用source /etc/profile重读profile,但是不建议使用source命令。可以重新登录用户,此环境变量就会生效。
直接在终端输入apachectl stop
还有一种添加环境变量的方法,就是在/etc/profile.d目录下新建.sh为后缀的文件,在文件里面添加export PATH=$PATH:/usr/local/httpd/bin。
保存退出。
8、添加库文件至系统
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把增添的路径直接写至此文件中
之后执行ldconfig重新搜索库文件,-v显示过程。
#ldconfig -v
9、将其头文件添加至系统
将httpd下的include文件夹建立软连接至/usr/include/httpd下
#ln -s /usr/local/httpd/include /usr/include/httpd
10、将httpd的man文档添加至系统
使用man -M /PATH/TO/MAN_DIR COMMAND只能暂时添加此软件的man文档,重启计算机后此命令的作用将会失效。
#man -M /usr/local/httpd/man httpd
想要时此软件的man永久生效,向man的配置文件中添加此软件man文档的路径。
之前版本的centos,man的配置文件为/etc/man.config。centos7中man的配置文件为/etc/man_db.conf
至此httpd的安装工作已经结束。