一、安装前准备:
①源码包:httpd-2.4.27.tar(为保证数据安全性建议在Apache官网镜进行下载http://httpd.apache.org/download.cgi#apache24),CentOS 7环境下建议安装httpd2.4版本。
②利用yum groupinstall下载“Develop Tools”开发工具包组
③在/usr/local/src目录下解压源码包,会自动生成httpd-2.4.27目录。cd进入该目录,安装前阅读README、INSTALL安装说明查看注意事项。
二、C语言源代码编译安装
(1)、解压源码包后会在httpd-2.4.27目录下生成脚本configure,该脚本主要作用为:
①通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile
② 检查依赖到的外部环境,如依赖的软件包
运行该脚本并指定默认/app/apache24(该目录需手工创建) 并指定默认配置文件安装路径/etc/apache24/。
./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24/
安装过程中通常会提示错误缺少组件,通常为“缺少信息 加 -devel” 开发组件。观察安装中错误,安装对应软件包。如:
不确定需安装的软件包可以用”yum list + 关键字“查询:
如上图可见需再安装apr-devel.x86_64软件包
安装完后继续执行命令
这次提示需安装APR-util开发包,继续安装之。本人后续又安装了apr-util-devel.x86_64、pcre-devel.x86_64 安装包,安装个版本及添加各参数需额外安装开发包不尽相同。依据提示安装所需即可。
出现如上图所示httpd软件安装完成。
(2)、根据makefile文件,构建应用程序。 直接使用make命令回车即可完成项目构建。
(3)、make install 复制文件到相应路径。直接使用make install 命令完成安装:
tips:由于(2)、(3)步骤执行较简单且较费时 可使用make && make install 自动完成两步操作,同时可以出去遛个弯放松一下了 。
安装完成后需要启动服务,通过README文件我们可以看到启动服务需要使用apachectl命令。cd到/app/apache24/bin 找到该命令并运行。./apachectl start 启动服务。通过netstat -ntl 命令查询服务对应的80端口是否启用。
访问地址http://172.18.253.169看是否搭建服务成功。
此时虽然访问成功但是页面较简单,如需更改可进入/app/apache24/htdocs找到index.html进行编辑改变页面布局及内容。
三、参数配置:
此时已完成httpd软件编译安装已完成,不过想要使软件和服务顺利的运行起来还需要注意一些细节。让我们来总结一下:
Centos 7 关闭防火墙操作命令:
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #设置防火墙不开机启动
附CentOS 6关闭防火墙命令操作:
service iptables stop #关闭防火墙
chkconfig iptables off #设置防火墙不开机启动
2、关闭SElinux,同样SElinux安全策略同样会与服务冲突建议关闭
setenforce 0 #关闭SElinux安全策略
修改配置文件/etc/selinux/config 如下图所示
#设置SElinux服务开机不自动启动
3、虽然服务安装成功可是使用apachectl命令总是需要到/app/apache24/bin才能运行终究不太方便。这时我们需要在/etc/profile.d目录下新建apache24.sh,编辑写入 PATH=/app/apache24/bin:$PATH保存。然后source apache24.sh 保存使之生效。使用echo $PATH 确认路径是否加入
4、本次安装可以通过man命令来查找帮助,如部分软件无法通过man来查询需要把安装生成的man文档路径/app/apache24/man加入到/etc/man.config中并运行命令mandb更新man数据即可。