Chinaunix首页 | 论坛 | 博客
  • 博客访问: 293920
  • 博文数量: 33
  • 博客积分: 880
  • 博客等级: 准尉
  • 技术积分: 660
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-02 22:25
文章分类

全部博文(33)

文章存档

2011年(33)

分类: LINUX

2011-06-11 23:41:29

一、APACHE的安装

软件:httpd-2.0.64.tar.bz2                 系统:RHEL5.5

apache现在分为两个版本1.x2.x,下载地址:

解压:

[root@localhost soft]# tar xvf httpd-2.0.64.tar.bz2

配置:

[root@localhost httpd-2.0.64]# ./configure --prefix=/opt/apache2    

/opt/apache2为安装目录

安装:

[root@localhost httpd-2.0.64]# make && make install

启动:

[root@localhost /]# /opt/apache2/bin/apachectl start

停止:

[root@localhost /]# /opt/apache2/bin/apachectl stop

 

二、APACHE配置

apche基本配置文件为httpd.conf,路径/opt/apache2/conf/httpd.conf

 

1、  端口监听

Listen 80

80为所要监听的端口,可配置多个Listen

2、  管理员邮箱

ServerAdmin you@example.com

设置管理员邮箱。

3、  域名设置

ServerName

servername为网站域名,也可直接写网站IP地址。

4、  设置WEB主目录

DocumentRoot "/opt/apache2/htdocs"

/opt/apache2/htdocs为网站主目录,这里将其设为/opt/www

特别注意:

a、这里的路径要与httpd.conf下文

中的路径保持一致。

b、目录后面不要跟”/”

5、  目录权限配置

目录权限配置格式:

……>

…………

Options Indexes FollowSymLinks  禁止目录浏览,去掉Indexes即可在没有主页(index.html)的情况下浏览目录。

AllowOverride None  是否允许读取.htaccess文件,设为ALL时,具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。

Order allow,deny  设置浏览权限。deny的优先级大于allow。即后面的优先级大于前面。allowdeny的具体规则参照下面两条

allow from all

deny from 192.168.1.10

这三条语句合起来意思就是除了192.168.10以外的所以的请求都被允许。

6、  主页配置

DirectoryIndex index.html index.html.var

DirectoryIndex后面加入首页名称,优先级从前到后。

三、  APACHE日志切割

httpd.conf中错误日志和访问日志格式:

ErrorLog logs/error_log

CustomLog logs/access_log common

 

apache日志切割有两种方式cronologrotatelogs

 

1、  rotatelogs

rotatelogsapache自带日志工具,位于/opt/apache2/bin/rotatelogs

错误日志:

ErrorLog "|bin/cronolog /opt/logs/error_%Y%m%d.log 86400"

访问日志:

CustomLog "|bin/cronolog /opt/logs/access_%Y%m%d.log 86400" combined

 

2、  cronolog

cronolog下载地址:

 

解压:

[root@localhost soft]# tar zxvf cronolog-1.6.2.tar.gz

配置:

[root@localhost cronolog-1.6.2]# ./configure

安装:

[root@localhost cronolog-1.6.2]# make && make install

错误日志:

ErrorLog "|/usr/local/sbin/cronolog /opt/logs/error_%Y%m%dlog 86400”

访问日志:

CustomLog "|/usr/local/sbin/cronolog /opt/logs/access_%Y%m%dlog 86400”

combined

 

注:acommon  通用日志模式   combined 组合日志模式

combinedcommon多记录两个信息。

b8640024小时,表示24小时日志回滚一次。

ccronologrotatelogs的区别。当所设置的日志存放路径不存在时,cronolog会自动创建,而rotatelogs则不会,因此使用rotatelogs时应确保日志文件夹已经建立。

效果:

[root@localhost bin]# cd /opt/logs

[root@localhost logs]# ls

access_20110611log  error_20110611log

四、APACHE虚拟主机

http.conf中虚拟主机模板:

#

#    ServerAdmin webmaster@dummy-host.example.com

#    DocumentRoot /www/docs/dummy-host.example.com

#    ServerName dummy-host.example.com

#    ErrorLog logs/dummy-host.example.com-error_log

#    CustomLog logs/dummy-host.example.com-access_log common

#

Server Admin:管理员Email

DocumentRoot:WEB路径

ServerName:访问域名或IP

ErrorLog:错误日志

CustomLog:访问日志

例:

    ServerAdmin dezon@vip.qq.com

    DocumentRoot /opt/www/web1

    ServerName

 ErrorLog "|bin/cronolog /opt/logs/w1error_%Y%m%d.log 86400"

CustomLog "|bin/cronolog /opt/logs/w1access_%Y%m%d.log 86400" combined

 

根据实际情况有时还需设置NameVirtualHost

 

五、  APACHE安全加固

1、  禁止TRACE漏洞

在各虚拟主机的配置文件里添加如下语句:

RewriteEngine on

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)

RewriteRule .* –

或使用

SetEnvIfNoCase Request_Method ^(TRACE|TRACK) IS_TRACE

Order Allow,Deny

Allow from all

Deny from env=IS_TRACE

2、  禁止IP直接访问(仅使用域名访问)

首先建一空目录如/opt/www/aa,然后建以虚拟主机,将所有IP请求的访问都指向/opt/www/aa。如:

ServerName 192.168.0.101

RewriteEngine on

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)

RewriteRule .* -

DocumentRoot /opt/aa  

 

阅读(2509) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

五岳之巅2011-06-23 13:17:46

顶你一下,给你提点分。