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 ...
随机推荐
- 使用Keras进行深度学习:(五)RNN和双向RNN讲解及实践
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 笔者:Ray 介绍 通过对前面文章的学习,对深度神经网络(DNN) ...
- TensorFlow系列专题(三):深度学习简介
一.深度学习的发展历程 深度学习的起源阶段 深度学习的发展阶段 深度学习的爆发阶段 二.深度学习的应用 自然语言处理 语音识别与合成 图像领域 三.参考文献 一.深度学习的发展历程 作为机器学习最 ...
- Codeforces 631 (Div. 2) C. Dreamoon Likes Coloring 思维or构造
https://codeforces.com/contest/1330/problem/C 给n个格子染色,有m种颜色,要求最后的所以格子被染色,并且有m种颜色. 染色要求:每种颜色有一个值li,选择 ...
- html前端之基础篇
HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen ...
- NKOJ3775 数列操作
问题描述 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0.请找到最长的一段连续区间,使得该区间内所有数字之和不超过p. 输入格式 第一行包含三个整数n ...
- [一、Jmeter5安装及环境配置]
前言:Jmeter基于Jave底层开发,需要配置Java运行时环境 第一步:首先从Jmeter的官网下载Jmeter,Oracle官网下载Jave; Apache JMeter 5.2.1(需要Jav ...
- J. Justifying the Conjecture(规律——整数拆分)
题目链接 五校友谊赛终于开始了,话不多说A题吧. 从前从前有一个正整数n,你需要找到一个素数x和一个合数y使x+y=n成立,这样就可以双剑合并了. 素数是一个大于1的自然数,它的因数只有1与它自己本身 ...
- ThinkPHP6.0学习笔记-模型操作
ThinkPHP模型 模型定义 在app目录下创建Model目录,即可创建模型文件 定义一个和数据库表相匹配的模型 use think\Model; class User extends Model ...
- HDU-5963 朋友 思维
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5963 吐槽 这道题我第一眼看,嗯??博弈论?还是树上的?我好像不会啊...但是一想某人的话,感觉这个应该 ...
- mpvue微信小程序http请求终极解决方案-fly.js
fly.js是什么? 一个支持所有JavaScript运行环境的基于Promise的.支持请求转发.强大的http请求库.可以让您在多个端上尽可能大限度的实现代码复用(官网解释) fly.js有什么特 ...