Linux系统下Apache日志文件设置、更改默认网站目录、防止php木马跨站设置、禁止空主机头

简介:

CentOS Linux系统下apache日志文件设置(每天单独生成一个日志文件)

引言:
Apache默认安装下,日志记录只有一个文件,时间久了之后,这个文件会变的很大,管理员要想查看分析日志,光打开日志就要花费很长时间,甚至还会影响服务器运行。

下面设置apache让服务器每天单独生成一个日志文件,这样管理、分析日志会方便很多。

#####################################################################################
vi /etc/httpd/conf/httpd.conf  #编辑文件
#ErrorLog logs/error_log  #注释此行,添加下面这行
ErrorLog "|rotatelogs /var/log/httpd/error_log%Y%m%d.log 86400 480"  #每天单独生成一个日志文件
#CustomLog logs/access_log common  #注释此行,添加下面这行
CustomLog "|rotatelogs /var/log/httpd/access_log%Y%m%d.log 86400 480" common  #每天单独生成一个日志文件
######################################################################################
Tips:如果想禁止Apache日志文件,可以设置如下
ErrorLog /dev/null  #禁用错误日志
CustomLog /dev/null common  #禁用访问日志

--------------------------------------------------------------------------------

CentOS Linux系统下更改Apache默认网站目录
引言:
Apache默认的网站目录是在/var/www/html,我们现在要把网站目录更改到/home/wwwroot/web1/htdocs,操作如下
准备工作:
创建目录:
cd /home
mkdir wwwroot
cd wwwroot
mkdir web1
cd web1
mkdir htdocs
touch index.php
操作步骤:
1、vi /etc/httpd/conf/httpd.conf
  找到 DocumentRoot"/var/www/html"这一段    #apache的根目录
  把/var/www/html这个目录改为/home/wwwroot/web1/htdocs
  再找到 <Directory "/var/www/html">  #定义apache /var/www/html这个区域
  把/var/www/html改成/home/wwwroot/web1/htdocs
  这样我们就把apahce的默认路径改掉了
  service httpd restart  #重启Apache服务器
2、访问localhost的时候,会发现访问拒绝,这是为什么呢?
主要是因为你的/home/wwwroot/web1/htdocs的权限是750,apache这个用户没有权限访问,你需要更改掉权限,可以这样改
chmod -R 755 /home/wwwroot/web1/htdocs
然后去访问 发现正常运行了(apache的用户:apache 运行apache的组:apache)
至此,Apache默认网站目录更改成功。

--------------------------------------------------------------------------------
CentOS Linux系统下Apache防止php木马跨站设置
引言:
在Apache服务器中,切忌一定要在虚拟主机配置文件中添加以下代码,否则PHP木马脚本可以浏览你服务器上的任意文件,这意味着你的服务器很快会被攻破。
代码如下:
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
注意:把/usr/local/apache/htdocs/www/替换成你自己的网站目录
例如:
编辑虚拟主机配置文件
vi /etc/httpd/conf.d/vhost.conf
在你的网站配置中添加下面的代码
<VirtualHost *:80>
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
</VirtualHost>
注意:  
因为/etc/httpd/conf.d/vhost.conf中设置了open_basedir之后, 虚拟用户就不会再自动继承php.ini
中的open_basedir设置值了,这就难以达到灵活的配置措施, 所以建议您不要在/etc/httpd/conf.d/vhost.conf
中设置此项限制。
例如,可以在php.ini中设置open_basedir = .:/tmp/
这个设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,有效防止php木马跨站运行。

--------------------------------------------------------------------------------
Linux系统下禁止apache空主机头

引言:为了防止域名解析恶意指向,我们需要禁止apache默认的空主机头,操作如下
vi /etc/httpd/conf/httpd.conf    
#编辑配置文件,在你的站点配置之前再增加一个站点(红色字体部分是我们要增加的,蓝色字体部分代表你正在使用的站点配置)
NameVirtualHost * 
<VirtualHost *:80>
    ServerAdminyourmail@mail.com
    DocumentRoot /error
    ServerName abc.com
</VirtualHost>
<VirtualHost *:80>
    ServerAdminyourmail@mail.com
    DocumentRoot "你的站点路径"
    ServerName yourWebsite.com
    ServerAlias *.yourWebsite.com
</VirtualHost>

推荐阅读:

Apache页面压缩配置问题导致JSON数据传输时间延长 http://www.linuxidc.com/Linux/2013-08/88637.htm

使用Apachetop来分析Apache实时日志 http://www.linuxidc.com/Linux/2013-08/88836.htm

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1587576如需转载请自行联系原作者


qianghong000

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
6月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
893 0
|
运维 安全 Linux
【揭秘】如何轻松掌控Linux系统命脉?——一场探索日志文件奥秘的旅程,带你洞悉系统背后的故事!
【8月更文挑战第21天】日志文件对Linux系统至关重要,记录着包括应用行为、组件状态和安全事件在内的系统活动,如同系统的“黑匣子”。掌握日志查看技巧是系统管理的基础技能,有助于快速诊断问题。常用命令包括`cat`、`tail`和`grep`等,可用于查看如`/var/log/messages`和`/var/log/auth.log`等系统日志文件,以及特定应用的日志。`journalctl`则用于查看systemd服务日志。此外,`logrotate`工具可管理日志文件的滚动和归档,确保系统高效运行。
172 4
|
11月前
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
322 7
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
379 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
存储 安全 Linux
在Linux中,日志文件通常存储在哪些目录?
在Linux中,日志文件通常存储在哪些目录?
|
Ubuntu Linux Apache
在Linux中,如何使用logrotate命令管理日志文件?
在Linux中,如何使用logrotate命令管理日志文件?
在Linux中,有一堆日志文件,如何删除7天前的日志文件?
在Linux中,有一堆日志文件,如何删除7天前的日志文件?
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
监控 安全 Linux
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?