天天看點

LAMP中apache的配置步驟

# 預設虛拟主機

<VirtualHost *:80>

    DocumentRoot "/tmp/123"## 目錄“/tmp/123”需要提前建立,并賦予600的權限

    ServerName 333.com

</VirtualHost>

# Discuz配置

    DocumentRoot "/data/www"

    ServerName www.111.com

    ServerAlias www.222.com

  php_admin_value open_basedir "/data/www/:/tmp/            ## 區分不同虛拟機,限制多個

# Apache通路控制

<Directory "/data/www">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

    Deny from 127.0.0.1

</Directory>

# 根據“admin.php”來做個白名單

<filesmatch "(.*)admin(.*)">

    Order deny,allow

    Deny from all

    Allow from 127.0.0.1

</filesmatch>

 ErrorLog "111.com-error_log"

# 不記錄指定檔案日志

   SetEnvIf Resquest_URI ".*\.gif$" image-request

   SetEnvIf Resquest_URI ".*\.jpg$" image-request

   SetEnvIf Resquest_URI ".*\.png$" image-request

   SetEnvIf Resquest_URI ".*\.bmp$" image-request

   SetEnvIf Resquest_URI ".*\.swf$" image-request

   SetEnvIf Resquest_URI ".*\.js$" image-request

   SetEnvIf Resquest_URI ".*\.css$" image-request

# 日志切割(目錄在/usr/local/apache2/logs下)

 CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/111.com-access_Y%m%d%_log 86400" combined env=!image-request

# 配置靜态緩存

<IfModule mod_expires.c>

   ExpiresActive on

   ExpiresByType image/gif "access plus 1 days"

   ExpiresByType image/jpeg "access plus 24 hours"

   ExpiresByType image/png "access plus 24 hours"

   ExpiresByType test/css "now plus 2 hour"

   ExpiresByType application/x-javascript "now plus 2 hours"

   ExpiresByType application/x-shockwave-flash "now plus 2 hours"

   ExpiresDefault "now plus 0 min"

</IfModule>

# 配置防盜鍊

   SetEnvIfNoCase Referer "^http://.*\.111\.com" local_ref

   SetEnvIfNoCase Referer ".*\.222\.com" local_ref

<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png|js|css)">

   Order Allow,Deny

   Allow from env=local_ref

# Apache禁止解析php

<Directory /data/www/data>

   php_admin_flag engine off

<filesmatch "(.*)php">

   Order deny,allow

   Deny from all

# 域名301跳轉

<IfModule mod_rewrite.c>

   RewriteEngine on

   RewriteCond %{HTTP_HOST} ^www.222.com$

   RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]

# 禁止指定user_agent

   RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]

   RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC]

   RewriteRule .* - [F]

# 禁止通過浏覽器通路某個目錄

   RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]

# 使用者認證

<Directory /data/www/abc/>

   AllowOverride AuthConfig

   AuthName "yonghuming"

   AuthType Basic

   AuthUserFile /data/.htpasswd  ## htpasswd -c /data/.htpasswd user1 這個在配置完别忘了建立

   require valid-user

本文轉自 聽丶飛鳥說 51CTO部落格,原文連結:http://blog.51cto.com/286577399/1673211