LAMP-----APACHE 配置:

内容大致分为 个板块(在discuz论坛环境下)

1:用户认证模式;

2:域名跳转

3:访问日志的切割与选择

4:静态缓存

5:防盗链

6:访问控制

虚拟主机配置文件中,需要加入

<Directory /data/www/admin.php>

AllowOverride AuthConfig

AuthName "frank share web"

AuthType Basic

AuthUserFile /data/.htpasswd

require valid-user

</Directory>

保存后,然后

创建apache的验证用户

/usr/local/apache2/bin/htpasswd -c /data/.htpasswd  pekut(验证用户名)

然后输入俩次密码

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

/usr/local/apache2/bin/htpasswd  /data/.htpasswd pekut1

如果你想修改密码,可以如下

/usr/local/apache2/bin/htpasswd -m .htpasswd test2

-m 为 制定为md5加密算法

cat /data/.htpasswd    查看用户是否生成

重启apache,即可。

到此,你已经配置完成。下面介绍另一种方式:

##################################

vi   http.conf

在相应的虚拟主机配置文件段,加入

<Directory *>

AllowOverride AuthConfig

AuthName "自定义的"

AuthType Basic

AuthUserFile /data/.htpasswd    // 这个目录你可以随便写一个,没有限制

require valid-user

</Directory>

保存后,然后

创建apache的验证用户

htpasswd -c /data/.htpasswd  test

需求:要把访问域名 www.domain1.com 的域名转发到 www.domain2.com 上

实现:在相关的虚拟主机中增加

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.onda.com$                 //条件(被跳转地址)

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

</IfModule>

效果  输入 www.onda.com/fdsfdf     跳转到  www.111.com/fdsfdf

重启apache 服务生效

如果是多个域名重定向到一个域名

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.onda.com$ [OR]

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

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

</IfModule>

rewrite 支持正则

3. 配置apache的访问日志  (tail -f /tmp/1.log )

vim /usr/local/apa/conf/http     找到  LogFormat ( 此行最后 一段白色字母 是命名 )

新加一行LogFormat   最后 将命名更改掉

打开虚拟主机配置文件  清除注释  CustomLog "/tmp/1.log" suiyiname    将引号内修改为自己想指定的日志目录

写在     虚拟主机 配置文件   CustomLog "/tmp/1.log" suiyiname 的上面

用来节约磁盘空间,日志内不记录图片类文件

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

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

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

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

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

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

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

CustomLog "|/usr/local/apache2/bin/rotatelogs -l /tmp/access_%Y%m%d.log 86400" suiyiname env=!image-request

按照天来切割                                                     按每天算

4.配置静态缓存(伪静态)

httpd.vhost 中加入

<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 text/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>

注释:

Expires 语法如下:

ExpiresByType type/encoding "<base> [plus] <num> <type>}*"

其中<base>是下列之一:

access

now (等价于‘access‘)

modification

plus关键字是可选的。

<num>必须是整数,

<type>是下列之一:

years

months

weeks

days

hours

minutes

seconds

5.防盗链

位置一般情况下在 /usr/local/apache/conf/httpd.conf

或者apache 2.2 的 /usr/local/apache2/conf/extra/httpd-vhost.conf

添加

SetEnvIfNoCase Referer "^http://www.ccvita.com" local_ref

SetEnvIfNoCase Referer "^http://ccvita.com" local_ref

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

Order Allow,Deny

Allow from env=local_ref

Deny from !env=local_ref

</filesmatch>

还一种写法,是用正则的,这种写法在各个版本的apache比较通用。

写法是

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

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

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

Order Allow,Deny

Allow from env=local_ref

Deny from all

</filesmatch>

配置完防盗链后  访问网站会出现无法显示 图片的情况。

6.访问控制

个东西确实挺容易让我们迷糊。其实也不难,只要你掌握这样一条规律即可:
首先举个例子:

Order deny,allow

deny  from all

allow from 127.0.0.1

我们判断的依据是这样的:
1. 看Order后面的,后面的优先级大于前面的
2. 如果deny在前,那么就需要看deny from 这句,然后看allow from 这一句
3.  规则是一条一条的匹配的,不管是deny在前还是allow在前,都是会生效的。比如例子中,先deny 了所有,然后又allow了127.0.0.1,所以127.0.0.1是通过的。

不妨再多举几个例子:

Order allow,deny

deny  from all

allow from 127.0.0.1
这个就会deny所有了,127.0.0.1也会被deny。因为顺序是先allow然后deny,虽然一开始allow了127.0.0.1,但是后面又拒绝了它。

Order allow,deny

deny from all
全部都不能通行

Order deny,allow

deny from all

全部都不能通行

Order deny,allow

全部都可以通行(默认的),记住即

Order allow,deny
全部都不能通行(默认的),记住即可

时间: 2024-10-22 14:22:54

LAMP-----APACHE 配置:的相关文章

centos LAMP第二部分apache配置 第二十节课

centos   LAMP第二部分apache配置  第二十节课 上半节课 下半节课 f

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口

LAMP环境配置三步曲之(一) CentOS 编译安装 Apache

LAMP环境的配置现今虽然已比之前大大的简化了,但对于一些不熟悉Linux系统的朋友来说,还是有一定难度的,这里将本人的配置过程记录下来,希望能对大家有一些帮助. 本期介绍CentOS下编译安装Apache的方法: 1. 下载Apache服务器 httpd-2.2.26 wget http://apache.fayea.com/apache-mirror//httpd/httpd-2.2.26.tar.gz 2. 安装gcc等必须的编译器 yum install autoconf automak

LAMP之配置apache

 在实际的生产环境中我们对网站的安全机制要求较高,这就需要我们对apache 进行一些设置,用来限制客户端对服务端的不必要的请求. 1.设置apache用户认证  apache用户认证可通过为apache下的某些目录设置密码的方式,限制用户访问 这些目录 配置如下: # vim /usr/local/apache2/conf/extra/http-vhosts.conf 在对应的虚拟主机配置中加入如下配置: <Directory /data/bbs/admin.php>   # 指定要验证的目

2015-04-29/2015-05-04 LAMP第二部分apache配置 discuz

课程大纲: 1. 下载discuz! mkdir /data/www cd /data/www wget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip unzip Discuz_X3.2_SC_GBK.zip mv upload/*  . 2. 配置第一个虚拟主机 vi  /usr/local/apache2/conf/httpd.conf 删除httpd.conf中的这行前面的警号 #Include conf/e

lamp(二) apache 配置

1. 下载discuz! mkdir /data/wwwcd /data/wwwwget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zipunzip Discuz_X3.2_SC_GBK.zipmv upload/*  . 2. 配置第一个虚拟主机删除httpd.conf中的这行前面的警号#Include conf/extra/httpd-vhosts.confvim /usr/local/apache2/conf/e

【centos6.5】CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境(linux公社)

准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败, 正

LAMP环境配置安装注意安装步骤及说明事项

LAMP环境配置安装注意安装步骤及说明事项. (一)           安装gcc gcc glibc-devel glibc-headers kernel-headers libgomp gcc-c++ libstdc++-devel (二)           安装zlib压缩库 zlib-1.2.5.tar.gz shell> cd /home/shuhua/tar shell> tar –zxvf zlib-1.2.5.tar.gz shell> cd zlib-1.2.5 s

Ubuntu 12.04下LAMP安装配置

我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行的套装工具软件.”通过安装尝试,我获得了一些成功的安装配置经验,通过本文提供给Linux网站服务器系统的入门者学习.本次安装的网站软件环境中将使用Apache2网页服务软件.MySQL5网站后台数据库软件.以及PHP5角本解释语言软件,配置成的系统也可提供FTP服务.

linux运维之LAMP(apache+mariadb+php)搭建

linux运维之LAMP(apache+mariadb+php)搭建         LAMP 是Linux Apache MySQL(mariadb) PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言,其中mariadb为mysql的一个分支. 搭建环境: 系统: CentOS6.6-x86_64          httpd: httpd-2.4.9          mariadb: mariadb-5.5.43