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日志并进行多维度分析。
相关文章
|
6天前
|
前端开发 关系型数据库 MySQL
PHP外链网盘系统网站源码
> 本文将详细介绍如何从零构建一个基于PHP和MySQL的文件管理系统,分解项目代码并剖析每个模块的功能。我们将以`index.php`、`config.php`和`api.php`这三个核心文件为例,详细展示如何设计文件列表、数据库配置和文件上传接口,从而实现一个完整的文件管理系统。该文章可以作为学术研究和代码实现的参考。
124 98
|
2天前
|
关系型数据库 MySQL PHP
免登录游客卡密发放系统PHP网站源码
这是一个简单易用的卡密验证系统,主要功能包括: 卡密管理和验证,多模板支持,响应式设计,验证码保护,防刷机制,简洁的用户界面, 支持自定义模板,移动端优化,安全性保护,易于部署和维护。
105 77
|
18天前
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
100 58
|
2月前
|
SQL 前端开发 PHP
如何使用PHP开发一个购物网站?
在数字化时代,线上购物日益重要。本文介绍如何使用PHP开发一个功能完善、用户友好的购物网站,涵盖需求分析、开发环境选择、数据库设计、前后端开发、用户认证、商品展示、购物车、订单管理、功能扩展及安全性能优化等环节,旨在提供全面的开发指南。
41 3
|
2月前
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
25 0
|
4月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
59 0
|
1月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
1月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
28 4