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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
2天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
3天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
12月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
109 0
|
12天前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
10天前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
2月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
47 3
|
3月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
54 1
|
4月前
|
关系型数据库 MySQL PHP
|
3月前
|
Ubuntu 关系型数据库 MySQL
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
43 0
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
下一篇
DDNS