Linux-LAMP虚拟主机配置
1、配置用户认证
<Directory /data/discuz/passwd>
AllowOverride AuthConfig
AuthName "自定义的"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
1) AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。
2) AuthType命令:指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。
3) AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。
4) AuthGroupFile命令:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:
     managers:user1 user2
5) require命令:指定哪些用户或组才能被授权访问。如:
     require user user1 user2(只有用户user1和user2可以访问)
     requires groups managers (只有组managers中成员可以访问)
     require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)
cd /data/discuz/passwd
htpasswd -c /data/.htpasswd user1
htpasswd /data/.htpasswd user2
apachectl graceful
2、默认虚拟主机
如果在现有的web服务器上增加虚拟主机,必须也为现存的主机建造一个<VirtualHost>定义块。其中ServerName和DocumentRoot所包含的内容应该与全局的保持一致,且要放在配置文件的最前面,扮演默认主机的角色。
<VirtualHost *:80>
DocumentRoot "/data/default"
ServerName www.default.com
</VirtualHost>
3.域名301跳转
Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基 于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.nyan.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain2.com$
RewriteRule ^(/.*)$ http://www.test.com/$1 [R=301,L]
</IfModule>
4.日志切割
at /usr/local/apache/conf/httpd.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
==>
ErrorLog "logs/test.com-error_log"
    CustomLog "| /usr/local/apache/bin/rotatelogs /usr/local/apache/logs/test.com-access_log_%Y_%m_%d 86400" combined
5.不记录指定文件
ErrorLog "logs/test.com-error_log"
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 /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined env=!image-request
6.配置静态缓存
默认缓存时间是10天,css缓存时间是14天
<IfModule mod_expires.c>
# mod_expires
ExpiresActive on
ExpiresDefault A864000
ExpiresBytype text/css “access plus 14 days
ExpiresByType text/javascript “access plus 14 days ”
ExpiresByType application/x-javascript “access plus 14 days ”
ExpiresByType application/x-shockwave-flash “access plus 14 days ”
ExpiresByType image/* “access plus 14 days ”
ExpiresByType text/html “access plus 14 days ”
<FilesMatch “.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|jpg|gif)$”>
ExpiresDefault A864000
</FilesMatch>
</IfModule>
7.配置防盗链
SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref
SetEnvIfNoCase Referer ".*\.nyan\.com" local_ref
<filesmatch "\.(txt|doc|png|jpeg|js|css|zip|gif|rar|mp3)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref
SetEnvIfNoCase Referer ".*\.nyan\.com" local_ref
<filesmatch "\.(txt|doc|png|jpeg|js|css|zip|gif|rar|mp3)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
8.访问控制
curl -x192.168.1.106:80 -I http://www.test.com/forum.php
curl -x192.168.178.128:80 -I http://www.test.com/forum.php
curl -x127.0.0.1:80 -I http://www.test.com/forum.php
AllowOverride None //禁止读取.htaccess配置文件的内容
<Directory "/data/discuz">
AllowOverride None
Options None
Order Allow,Deny
Allow from all
Deny from 127.0.0.1 192.168.178.128
</Directory>
9.禁止解析PHP
<Directory "/data/discuz/data">
php_admin_flag engine off
<filesmatch "(.*)php">
Order Deny,Allow
Deny from all
ALlow from 127.0.0.1
</filesmatch>
</Directory>
10.禁止指定user_agent
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.nyan.com$
RewriteRule ^(/.*)$ http://www.test.com/$1 [R=301,L]
RewriteCond %{HTTP_USER_AGENT} ".*curl.*" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ".*chrom*" [NC]
RewriteRule .* - [F]
</IfModule>
[NC,OR]不区分大小写
Linux-LAMP虚拟主机配置的更多相关文章
- LAMP虚拟主机配置以及控制目录访问
		3.基于域名的虚拟主机配置 NameVirtualHost192.168.3.32:80#apache2.2.xx版本需要开启此选项,而且要和下面的保持一致:2.4.x版本就不需要此项设置了 < ... 
- linux apache虚拟主机配置(基于ip,端口,域名)
		配置环境: linux版本:Centos6.4 httpd版本: [root@centos64Study init.d]# pwd/etc/init.d[root@centos64Study init ... 
- Linux Apache虚拟主机配置方法
		apache 虚拟主机配置 注意: 虚拟主机可以开很多个 虚拟主机配置之后,原来的默认/etc/httpd/httpd.conf中的默认网站就不会生效了 练习: 主机server0 ip:172.25 ... 
- CentOS7 yum lamp 虚拟主机配置 lamp各组件简单影响性能的参数调整--for 一定的环境需求
		LAMP Server on CentOS 7 Updated Tuesday, January 13, 2015 by Joel Kruger This guide provides step-by ... 
- linux下虚拟主机配置
		<VirtualHost *:80>ServerAdmin admin@localhostServerName www.baidu.org DocumentRoot "/d ... 
- lamp centos虚拟主机配置
		1.基于不同端口的虚拟主机配置 [root@lamp~]# vi /etc/httpd/conf/httpd.conf Listen 80 #设置监听不同的虚拟主机需要使用的端口 Liste ... 
- Linux下Apache虚拟主机配置
		Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ... 
- linux下apache2的虚拟主机配置
		1,起因 在一星期前吧,大波说既然咱们有了自己的服务器,二级域名了.可以考虑怎样每人一个域名,分别指向我们各自的空间.想法挺好,避免我们个人的东西放在同一主页上.那就做吧 2,第一次尝试 (1)在域名 ... 
- 【nginx运维基础(2)】Nginx的配置文件说明及虚拟主机配置示例
		配置文件说明 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为当前主机的CPU总核心数. worker_processes 8; #全局错误日志定义类型, ... 
- ubuntu apache2配置详解(含虚拟主机配置方法)
		ubuntu apache2配置详解(含虚拟主机配置方法) 在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get inst ... 
随机推荐
- .NET(C#)实现桌面背景切换(控制台应用程序,windows服务版的未实现成功)
			AdvancedBackgroundJimmy.Program.cs using AdvancedBackground; using Microsoft.Win32; using System; us ... 
- 系统警告,Bronya请求支援(两遍最短路)
			系统警告,Bronya请求支援 Description 休伯利安号的一行人来到了由逆熵镇守的前文明遗迹[海渊城],他们准备用巨大的传送装置[海渊之眼]进入量子之海,寻找丢失的渴望宝石.然而在行动前夜爱 ... 
- Codeforces Round #628 (Div. 2)
			1325A - EhAb AnD gCd 题意:随意找两个数是他们的最大公约数 GCD 与最小公倍数 LCM 之和为所给定的值. 思路:找一下规律 ,假设所给的 数位n, 那么我们将n分成 1 ,n- ... 
- 手把手教你分析Mysql死锁问题
			前言 前几天跟一位朋友分析了一个死锁问题,所以有了这篇图文详细的博文,哈哈~ 发生死锁了,如何排查和解决呢?本文将跟你一起探讨这个问题 准备好数据环境 模拟死锁案发 分析死锁日志 分析死锁结果 环境准 ... 
- Golang入门(1):安装与配置环境变量的意义
			摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ... 
- php--php设计模式留存
			装饰者模式 <?php interface Decorator { public function display(); } class XiaoFang implements Decorato ... 
- python--装饰器、生成器、迭代器、元类
			一.装饰器 def w1(func): def inner(): func() return inner @w1 def f1(): ') 1.只要python解释器执行到装饰器,就会自动进行装饰,而 ... 
- Hadoop(十):本地IDEA链接远程Hadoop
			本文使用的Hadoop为2.7.7,版本如果不同要下载相应版本的文件 配置本地的Hadoop库(不需完整安装,但是要有环境支持) 下载文件 https://github.com/speedAngel/ ... 
- python  redis  实现简单的消息订阅
			python + redis 实现简单的消息订阅 订阅端 import redis from functools import wraps class Subscribe: def __init__( ... 
- 汇编刷题:求1000H单元开始的10个无符号字节数的最大值(本题放入了BL寄存器)
			DATA SEGMENT ORG 1000H INFO DB 1,2,3,4,5,70H,71H,72H,80H,92H MAX DB 00H DATA ENDS CODE SEGMENT ASSUM ... 
