十六、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系统运维指南》
今天的学习是为了以后的工作更加的轻松!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-04-05 三十六、主从复制监控
2021-04-05 三十五、主从复制原理
2021-04-05 三十四、主从复制搭建