十六、Apache优化


一、修改默认用户与组

Apache默认用户跟组为deamon,这是很不安全的。

1、创建Apache用户跟组

groupadd apache 
useradd -M -s /sbin/nologin -r -g apache apache
chown -R apache:apache /usr/local/apache2/

2、修改默认用户与组

sed -i 's#User daemon#User apache#g' /usr/local/apache2/conf/httpd.conf
sed -i 's#Group daemon#Group apache#g' /usr/local/apache2/conf/httpd.conf
egrep "User|Group" /usr/local/apache2/conf/httpd.conf | head -3

二、优化错误页面

网站出现错误或打不开,或者用户输入了不存在的访问资源地址,就会出现不友好的404页面。

1、创建404页面,最好找个静态页面,我随便写了一个

echo "this is 404!" >/web/tzlinux/404.html

2、修改主配置文件

[root@lamp ~]# grep "Error" /usr/local/apache2/conf/httpd.conf
ErrorDocument 404 /404.html #放开改行注释,指定一个404页面

#也可以这样写
ErrorDocument 404 "this is 404 page!" #指定为一句话
ErrorDocument 404 https://www.baidu.com #指定到其他页面

3、重新加载配置文件

apachectl -t
apachectl graceful

其他写法:修改虚拟主机文件

[root@lamp tzlinux]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost 10.154.0.110:9999>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/web/tzlinux" #这是网站更目录
    ServerName www.tzlinux.com
    ServerAlias tzlinux.com
    ErrorLog "logs/tzlinux.com-error_log"
    CustomLog "logs/tzlinux.com-access_log" common
    ErrorDocument 404 /404.html #增加该行,文件为网站根目录下即/web/tzlinux/404.html
</VirtualHost>

修改主配置文件是全局生效,修改虚拟主机配置文件是当前虚拟主机生效。

还要注意,ErrorDocument 404 /404.html指的是网站根目录下,等同于/web/tzlinux/404.html

三、隐藏Apache版本信息

1、打开主配置文件httpd-default模块

sed -i 's#\#Include conf/extra/httpd-default.conf#Include conf/extra/httpd-default.conf#g' /usr/local/apache2/conf/httpd.conf

cat /usr/local/apache2/conf/httpd.conf| grep httpd-default.conf

2、修改httpd-default.conf

vim /usr/local/apache2/conf/extra/httpd-default.conf
ServerTokens Prod
ServerSignature Off

3、重新加载配置文件

apachectl -t
apachectl graceful

四、关闭站点目录浏览权限

1、修改主配置文件httpd.conf

vim /usr/local/apache2/conf/httpd.conf
<Directory "/web">
    Options Indexes FollowSymLinks #将Options Indexes FollowSymLinks改为Options FollowSymLinks即可
    AllowOverride None
    Require all granted
</Directory>

五、禁止PHP程序解析指定站点目录

这个功能很实用,通常使用CMS搭建的网站,都会有uploadfile目录,用来存放用户上传的图片,一些恶意用户会上传图片马,如果该目录有解析权限,就会执行恶意代码。

vim /usr/local/apache2/conf/httpd.conf
<Directory "/web/www/uploadfile">
    Options FollowSymLinks
    AllowOverride None
    Require all granted
    php_flag engine off #防止上传PHP木马文件,远程执行
</Directory>

六、参考资料

  • 《Linux系统运维指南》
posted @   努力吧阿团  阅读(71)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-04-05 三十六、主从复制监控
2021-04-05 三十五、主从复制原理
2021-04-05 三十四、主从复制搭建
点击右上角即可分享
微信分享提示