虚拟主机配置 |
基于IP的虚拟主机: <VirtualHost 192.168.181.1:80> DocumentRoot /var/www/192.168.181.1 ServerName 192.168.181.1:80 #ServerAdmin xxxx@xxxx #ErrorLog logs/192.168.181.1.error.log #CustomLog logs/192.168.181.1.custom.log common </VirtualHost> <VirtualHost 192.168.181.2:80> DocumentRoot /var/www/192.168.181.2 ServerName 192.168.181.2:80 #ServerAdmin xxxx@xxxx #ErrorLog logs/192.168.181.2.error.log #CustomLog logs/192.168.181.2.custom.log common </VirtualHost> |
基于端口的虚拟主机: Listen 8080 <VirtualHost 192.168.181.1:8080> DocumentRoot /var/www/192.168.181.1:8080 ServerName 192.168.181.1:8080 # ServerAdmin xxxx@xxxx # ErrorLog logs/192.168.181.1:8080.error.log # CustomLog logs/192.168.181.1:8080.custom.log </VirtualHost> |
基于域名的虚拟主机: NameVirtualHost 192.168.181.1:80 <VirtualHost 192.168.181.1:80> DocumentRoot /var/www/bbs.example.com ServerName bbs.example.com # ServerAdmin xxxx@xxxx # ErrorLog logs/bbs.example.com.error.log # CustomLog logs/bbs.example.com.custom.log </VirtualHost> <VirtualHost 192.168.181.1:80> DocumentRoot /var/www/bbs.example.com ServerName blog.example.com # ServerAdmin xxxx@xxxx # ErrorLog logs/blog.example.com.error.log # CustomLog logs/blog.example.com.custom.log </VirtualHost> |
三种虚拟主机比较: 1、都需要在virtualHost容器中声明ip+port 2、Log文件目录自动建立 3、ServerName字段区别: 基于IP 写入IP+port 基于端口 写入IP+port VirtualHost容器外添加额外的Listen port 基于域名 写入域名 容器外添加NameVirtualHost IP+port |
Apache的认证方式 |
1、基于htpasswd工具生成的MD5密码验证, 修改配置文件: NameVirtualHost 192.168.181.1:80 <VirtualHost 192.168.181.1:80> DocumentRoot /var/site/bbs.example.com ServerName bbs.example.com <Directory /var/site/bbs.example.com> AuthName test AuthType Basic AuthUserFile /etc/httpd/.webuser Require valid-user #Require User user1 user2 user3..... ##group##AuthGroupFile /etc/httpd/.webgroup ##group##Require Group group1 group2 group3..... </Directory> </VirtualHost> htpasswd密码生成:(创建的用户不是必须为系统用户) #htpasswd -cm /etc/httpd/.webuser zhang3 //创建新的密码文件,创建时必须添加一个用户,-m为MD5密码 #htpasswd -m /etc/httpd/.webuser zhang3 //修改zhang3的密码文件 #htpasswd -m /etc/httpd/.webuser li4 //添加用户li4 #htpasswd -D /etc/httpd/.webuser zhang3 //删除用户zhang3的账号 #cat /etc/httpd/.groupuser group1:zhang3 li4 |
2、基于htpasswd工具生成的MD5密码验证, 使用.htaccess分布式配置文件: NameVirtualHost 192.168.181.1:80 <VirtualHost 192.168.181.1:80> <Directory /var/site/bbs.example.com> AllowOverride AuthConfig #AllowOveride All </Directory> #vim /var/bbs/bbs.example.com/.htaccess AuthName test AuthType Basic AuthUserFile /etc/httpd/.webuser Require valid-user #Require User user1 user2 ..... ##group##AuthGroupFile /etc/httpd/.webgroup ##group##Require Group group1 group2 ..... |
Apache的访问控制列表 通常有两种定义形式 1、order allow,deny 2、order deny,allow 1、order allow,deny(缺省禁止所有机器访问) 如果某条件即匹配allow语句,又匹配定义的deny语句,则deny语句会生效。 2、order deny,allow(缺省允许所有机器访问) 如果某条件既匹配deny语句,又匹配定义的allow语句,则allow语句会生效。 |