目标:源码编译安装HTTP

 

安装前准备:

 CentOS7.6操作系统  提前在官网下载的最新版安装包:    httpd-2.4.39.tar.bz2    apr-util-1.6.1.tar.gz    apr-1.7.0.tar.gz  注意:    我们在利用yum安装HTTP时,由于HTTP依赖与APR,yum会自动将他们都装上。但是,在CentOS7上自带的是较新的APR,不支持最新版的HTTP。因此,如果直接在官网下载最新的HTTP会因为APR不支持而无法正常使用。所以我们同时需要去官网下载最新的APR,把最新的APR也编译安装上。    如果是最小化安装的CentOS7,会缺少很多编译安装所需的工具。因此,建议先执行以下命令进行安装:

yum autoconf bc bzip2 expat-devel gcc gcc-c++ glibc glibc-devel install iotop libtool lrzsz lsof net-tools nfs-utils ntpdate openssl openssl-devel pcre pcre-devel systemd-devel tcpdump treescreen unzip vimlrzsz wget zip zlib-devel -y

 

第一步:处理官网下载的包

首先我们将提前准备的所有的包都解压缩到当前目录下:

tar xvf httpd-2.4.39.tar.bz2 
tar xvf apr-1.7.0.tar.gz 
tar xvf apr-util-1.6.1.tar.gz

然后将所有解压缩完成后的文件都放到一起:

cp -r apr-1.7.0 httpd-2.4.39/srclib/apr
cp -r apr-util-1.6.1 httpd-2.4.39/srclib/apr-util
cd httpd-2.4.39

注:此处选择将所有解压缩后的文件放到一起是因为:这样可以一次性将三个包一起编译安装,无需一个一个来安装,可以减轻操作负担。而且这里选择的是cp命令,源文件仍然保留,若安装失败可直接重新安装,不需要再次解压缩。  

第二步:源码编译

接下来就可以编译安装了: 首先进入httpd-2.4.39中

cd httpd-2.4.39

注:源码编译时,自身必须在当前目录下才能顺利编译安装,若自身不在当前目录下将无法安装。 先指定目录以及开启哪些权限:

./configure \
--prefix=/app/httpd24 \		安装路径
--enable-so \				启用模块
--enable-ssl \				启用加密功能
--enable-cgi \				支持cgi
--enable-rewrite \			支持重写
--with-zlib \				支持zlib库
--with-pcre \				支持正则表达式
--with-included-apr \		加上apr
--enable-modules=most \	支持大部分模块
--enable-mpms-shared=all \	是否支持mpm
--with-mpm=prefork			当前使用的mpm模块是prefork

注:上面中文是解释该行指定的是什么,各位看官大佬千万别把中文粘贴上去。。。 完成后就可以执行命令开始编译了:

make && make install

 

第三步:设置HTTP为开机自启

修改配置文件:

vim /etc/rc.d/rc.local

在最后面添加一行:

/app/httpd24/bin/apachectl start

加上这一行就可以实现开机自动启动,但是还需为文件加上执行权限,这样开机系统就可以自动执行该文件。  

第四步:创建使用HTTP的用户

编译好之后,因为我们没有创建apache账号,所以它默认使用daemon账号使用服务。 我们可以手动创建一个apache账号来使用apache:

useradd -r -s /sbin/nologin apache

但是创建完用户,HTTP并不能自动识别。 这时就需要我们编辑配置文件来指定让它使用该用户:

vim /app/httpd24/conf/httpd.conf

稍加修改配置文件:

User apache
Group apache

将User和Group后面的daemon改成apache,下次启动就会使用apache来管理HTTP。

 

第五步:添加PATH变量

这个时候就已经编译完成了,但是我们还需要将其添加至PATH变量中才可以正常使用。 在/etc/profile.d/下自定义一个.sh结尾的文件,将PATH变量添加进去:

vim /etc/profile.d/httpd24.sh
		PATH=/app/httpd24/bin:$PATH

至此,最新版HTTP服务就安装完成了,祝所有读者都可以一次成功!   补充:   根据我们刚刚指定的目录,所有文件都在/app/httpd24里面。其中,配置文件都在conf中。启动服务都在bin里面。主页面在/app/httpd24/htdocs/下的index.html中,配置文件在/app/httpd24/htdocs/conf/httpd.cong中。