1.安装依赖包
yum install -y apr* openssl*
2.添加用户不允许登陆
useradd -s /sbin/nologin -M apache
3.官网下载源码包
http://mirrors.shu.edu.cn/apache//httpd/httpd-2.4.39.tar.gz
解压并进入apache目录
tar xf httpd-2.4.39.tar.gz
cd httpd
4. 修改版本号 vim include/ap_release.h #修改源码中的版本信息为自己公司的相关信息,隐藏真实版本信息
改:
42 #define AP_SERVER_BASEVENDOR "Apache Software Foundation"
43 #define AP_SERVER_BASEPROJECT "Apache HTTP Server"
44 #define AP_SERVER_BASEPRODUCT "Apache"
45
46 #define AP_SERVER_MAJORVERSION_NUMBER 2
47 #define AP_SERVER_MINORVERSION_NUMBER 4
48 #define AP_SERVER_PATCHLEVEL_NUMBER 27
49 #define AP_SERVER_DEVBUILD_BOOLEAN 0
为:
#define AP_SERVER_BASEVENDOR "xxx"
#define AP_SERVER_BASEPROJECT " ws"
#define AP_SERVER_BASEPRODUCT " xxx_ws"
#define AP_SERVER_MAJORVERSION_NUMBER 9
#define AP_SERVER_MINORVERSION_NUMBER 9
#define AP_SERVER_PATCHLEVEL_NUMBER 9
#define AP_SERVER_DEVBUILD_BOOLEAN 9
注释:
#define AP_SERVER_BASEVENDOR "Apache Software Foundation" #服务的供应商名称
#define AP_SERVER_BASEPROJECT "Apache HTTP Server" #服务的项目名称
#define AP_SERVER_BASEPRODUCT "Apache" #服务的产品名
#define AP_SERVER_MAJORVERSION_NUMBER 2 #主要版本号
#define AP_SERVER_MINORVERSION_NUMBER 4 #小版本号
#define AP_SERVER_PATCHLEVEL_NUMBER 6 #补丁级别
#define AP_SERVER_DEVBUILD_BOOLEAN 0 #
注:上述列出的行,大家可以修改成自己想要的,然后编译安装之后,再对httpd-default.conf文件进行修改,对方就彻底不知道你的版本号了。
5. 编译安装
./configure --prefix=/usr/local/apache2.4-xxx --enable-so --enable-rewrite --enable-ssl --enable-deflate --enable-expires --enable-cgi #预编译
make -j2(-4) 根据自己cpu核数来编译
make install -j2 (-4) #安装
6. 复制apache到/usr/bin下可快速启动
cp /usr/local/apache2.4-xxx/bin/apachectl /usr/bin/httpd
httpd 启动服务
7.隐藏版本号
vim /usr/local/apache2.4-xxx/conf/httpd.conf
488 #Include conf/extra/httpd-default.conf
为:
Include conf/extra/httpd-default.conf
打开httpd-default.conf文件,修改如下两个地方
vim /usr/local/apache2.4-xxx/conf/extra/httpd-default.conf
改:
55 ServerTokens Full
65 ServerSignature On signature 签名
为:
ServerTokens Prod #不显示服务器操作系统类型
ServerSignature Off #不显示web服务器版本号
让apache配置文件生效的方法:
方法1:重启服务: restart #会中断正在进行的连接
方法2:不重启服务,重新加载配置文件
8 .curl -I localhost查看是否成功