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 ...
随机推荐
- GIS中地图投影的定义
我国的基本比例尺地形图[1:5千.1:1万.1:2.5万.1:5万.1:10万.1:25万.1:50万.1:100万]中,大于等于50万的均采用高斯-克吕格投影[Gauss-Kruger]:小于50万 ...
- swagger2 接口文档
1,maven: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...
- Python——NumPy库入门
1.数据的纬度 维度:一组数据的组织形式 1.1 一维数据 一维数据由对等关系的有序或无序数据构成,采用线性方式组织 ,对应列表.数组和集合等概念 列表:数据类型可以不同 ,如 3.1413, 'pi ...
- 【WPF学习】第六十五章 创建无外观控件
用户控件的目标是提供增补控件模板的设计表面,提供一种定义控件的快速方法,代价是失去了将来的灵活性.如果喜欢用户控件的功能,但需要修改使其可视化外观,使用这种方法就有问题了.例如,设想希望使用相同的颜色 ...
- H - 遥远的糖果 HihoCoder - 1478
给定一个N x M的01矩阵,其中1表示人,0表示糖.对于每一个位置,求出每个位置离糖的最短距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. Input 第一行包含两个整数,N和M. 以下 ...
- 我是如何从通信转到Java软件开发工程师的?
我的读者里面有绝大部分都是在校学生,有本科的,也有专科的,我在微信里收到很多读者的提问,大部分问题都跟如何学习编程有关,有换专业自学的.有迷茫不知道如何学习的.有报培训班没啥效果的等等,我能感受到他们 ...
- uCOS-II简介及移植uCOS-II到STM32F103平台详细步骤
1.参考博客:https://blog.csdn.net/wang328452854/article/details/78486458 2.uCOS(也有人叫uC/OS)由美国人 Jean Labro ...
- vue中的js引入图片,使用require相关问题
vue中的js引入图片,必须require进来 或者引用网络地址 <template> <div class="home"> <img alt=&qu ...
- 数据挖掘 决策树 Decision tree
数据挖掘-决策树 Decision tree 目录 数据挖掘-决策树 Decision tree 1. 决策树概述 1.1 决策树介绍 1.1.1 决策树定义 1.1.2 本质 1.1.3 决策树的组 ...
- 发现了合自己胃口的公众号,但文章太多翻来翻去真麻烦,还好我学了 Python
现在我们大多数人都会或多或少的关注几个公众号,如果发现一个比较合自己胃口的号 对公众号中的文章一定是每篇必读的. 有时候我们关注到宝藏型公众号时发现其历史文章已经好几百甚至上千篇了,而作者又只对其中自 ...