设为首页收藏本站论坛APP下载
查看: 987|回复: 0

源码安装Apache时,没有装PHP模块,如何补

[复制链接]

3

主题

3

帖子

38

积分

初级VIP会员

Rank: 1

积分
38
发表于 2020-4-24 20:37:40 | 显示全部楼层 |阅读模式
1金币

1、使用wget下载到本地:
wget https://mirrors.tuna.tsinghua.ed ... httpd-2.4.43.tar.gz
2、解压到指定目录
tar zxvf httpd-2.4.43.tar.gz  -C /usr/local/src/
3、切换到解压目录
cd /usr/local/src/httpd-2.4.43/

3、修改源码中的版本信息为自己 公司的相关信息,隐藏真实版本信息
vim include/ap_release.h
   40 #define AP_SERVER_BASEVENDOR "CCLE Software Foundation"
   41 #define AP_SERVER_BASEPROJECT "CCLE HTTP Server"
   42 #define AP_SERVER_BASEPRODUCT "CCLE"
   43
   44 #define AP_SERVER_MAJORVERSION_NUMBER 2
   45 #define AP_SERVER_MINORVERSION_NUMBER 4
   46 #define AP_SERVER_PATCHLEVEL_NUMBER   11
   47 #define AP_SERVER_DEVBUILD_BOOLEAN    18

注释:
#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 文 件进行修改,对方就彻底不知道你的版本号了。

4、源码编译安装Apache:
cd /usr/local/src/httpd-2.4.43/
①安装apache依赖包:
yum install apr-util apr-util-devel apr apr-devel  pcre pcre-devel   zlib zlib-devel openssl openssl-devel -y

② 检查安装 环境并生成Makefile文件
./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl   --enable-deflate  --enable-expires  

配置参数用途:
--prefix=/usr/local/apache2.4   #指定安装路径
--enable-so    #支持动态加载模块
--enable-rewrite  #支持网站地址重写
--enable-ssl    #支持ssl加密,比如: https 443
--enable-deflate  #支持页面传输前进行压缩
--enable-expires  #支持设置网页缓存的时间

③开始编译并安装
make -j  16 &&  make install

④ 查看安装目录
ll /usr/local/apache2.4/

⑤ 配置apache 可以开机启动并且可以使用service 命令启动apache服务器
cp /usr/local/apache2.4/bin/apachectl /etc/init.d/apachectl

⑥ 启动Apache
启动前:修改监听端口为8080
/etc/init.d/apachectl start
⑦ 再次隐藏系统类型和模块的版本号
备份:
/usr/local/apache2.4/conf/httpd.conf /usr/local/apache2.4/conf/httpd.conf.back

---暂时忽略
vim /usr/local/apache2.4/conf/httpd.conf
497 # Secure (SSL/TLS) connections
改为:
498 Include conf/extra/httpd-ssl.conf
D:\应用软件\有道云笔记\File\qqF95B3ABE3B9C21A274A88B19A6CD8F45\75f9ccbdaf22477797cfbf7d34eb01e0\clipboard.png

⑧ 打开httpd-default.conf文件,修改如下两个地方:
vim /usr/local/apache2.4/conf/extra/httpd-default.conf
55 ServerTokens Full   
65 ServerSignature On
为:
ServerTokens Prod    #不显示服务器操作系统类型
ServerSignature Off    #不显示web服务器版本号和模块版本。
现在默认值就是off了,不用修 改。在apache2.4之前的版本,默认值是On,需要改成Off的
注:Signature   [ˈsɪgnətʃə(r)]  签名  , Token   [ˈtəʊkən]  令牌

D:\应用软件\有道云笔记\File\qqF95B3ABE3B9C21A274A88B19A6CD8F45\b2e043213f8748788eb77b85e181f862\clipboard.png

⑨ 设置Apache开机启动
在设置Apache开机启动时,还要再在apachectl文件的头部的注释中加两条命令。
vim /etc/init.d/apachectl
#!/bin/sh
# chkconfig: 2345 64 36   
# description: apache

⑩ 设置开机自动启动:
chkconfig --add apachectl
chkconfig  --list  apachectl

测试:
iptables -F  #清空规则
netstat -antup | grep 8080


5、配置Apache配置文件
① 修改Apache默认用户
useradd -M -s /sbin/nologin apache   #创建apache用户 -M:不要自动建立用户的登入目录。
编辑Apache配置文件,修改默认的用户:
vim /usr/local/apache2.4/conf/httpd.conf
167 User apache
168 Group apache
D:\应用软件\有道云笔记\File\qqF95B3ABE3B9C21A274A88B19A6CD8F45\74994a27d9764ca6a98e9ac9e131d2b3\clipboard.png

② Apache目录及文件权限设置
在生产环境的网站架构中,我们应把资源文件的权限合理的配置好,但不能给777权限。
例:用户上传的图片及附件等和程序做好分离。这样才能更方便我们做好授权,保证apache服务和 整个服务器安全。
这里我们设置Apache的网站目录属主和属组是apache:
ll -sd /usr/local/apache2.4/htdocs/
chown apache:apache /usr/local/apache2.4/htdocs/ -R
ll -sd /usr/local/apache2.4/htdocs/

③ 保护Apache日志、设置好Apache日志文件权限
对日志的授权,我们要将属主和属组都设置为root:
ll -sd /usr/local/apache2.4/logs
ll /usr/local/apache2.4/logs/
D:\应用软件\有道云笔记\File\qqF95B3ABE3B9C21A274A88B19A6CD8F45\3c4b38b038cc4a74b69e2df17e319292\clipboard.png

注:由于Apache日志的记录是由Apache的主进程进行操作的,而Apache的主进程又是root用 户启动的,所以这样不影响日志的输出。这也是日志记录的最安全的方法。

④  使用Cronolog分割Apache日志
apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。本文主 要讲解Web服务器日志切割工具cronolog。cronolog 是一个简单的过滤程序,读取日志文件条目从标 准输入和输出的每个条目并写入指定的日志文件的文件名模板和当前的日期和时间。 当扩展文件名的变化, 目前的文件是关闭,新开辟的。 cronolog 旨在和一个Web服务器一起使用,如Apache,分割访问日 志为每天或每月的日志

下载并安装Cronolog:
yum install epel-release -y
yum install cronolog  -y  

⑤ 配置Apache使用cronolog
vim /usr/local/apache2.4/conf/httpd.conf
将配置文件中的CustomLog和ErrorLog替换
302 #CustomLog "logs/access_log" common
改为:
CustomLog "|/usr/sbin/cronolog /usr/local/apache2.4/logs/access_%Y%m%d.log" combined
D:\应用软件\有道云笔记\File\qqF95B3ABE3B9C21A274A88B19A6CD8F45\86b64a7d8cd24c3eb7c0fb0348d747fd\clipboard.png
273 ErrorLog "logs/error_log"
改为:
273 ErrorLog "|/usr/sbin/cronolog /usr/local/apache2.4/logs/error_%Y%m%d.log"
D:\应用软件\有道云笔记\File\qqF95B3ABE3B9C21A274A88B19A6CD8F45\915fe0d11b624846bdf95c4a4f6e2425\clipboard.png
例子:
更多日志格式参考: 按天轮询(生产环境常见用法,推荐使用):
CustomLog "|/usr/local/sbin/cronolog /app/logs/access_www_%Y%m%d.log" combined
按小时轮询(生产环境较常见用法):
CustomLog "|/usr/local/sbin/cronolog  /app/logs /access_www_ %Y%m%d%H.log" combined

刷新:
/etc/init.d/apachectl graceful

---------------------------------
这么安装后,再yum安装PHP,解析不了,什么办?



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 使用vip格式注册

本版积分规则

快速回复 返回顶部 返回列表