RHEL的Apache配置(基于ip&端口&域名的虚拟主机和认证)


虚拟主机配置

基于IP的虚拟主机:

  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

   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

基于端口的虚拟主机

Listen 8080

      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 

基于域名的虚拟主机

NameVirtualHost  192.168.181.1:80

     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 

     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 

三种虚拟主机比较:

1、都需要在virtualHost容器中声明ip+port

2Log文件目录自动建立

3ServerName字段区别:

基于IP   写入IP+port

基于端口 写入IP+port   VirtualHost容器外添加额外的Listen port

基于域名 域名  容器外添加NameVirtualHost IP+port


Apache的认证方式

1、基于htpasswd工具生成的MD5密码验证修改配置文件:

NameVirtualHost  192.168.181.1:80

    DocumentRoot /var/site/bbs.example.com

    ServerName 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..... 

htpasswd密码生成:(创建的用户不是必须为系统用户)

#htpasswd  -cm  /etc/httpd/.webuser  zhang3    

//创建新的密码文件,创建时必须添加一个用户,-mMD5密码

#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

 AllowOverride  AuthConfig

#AllowOveride  All

#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的访问控制列表
order语句来定义处理allowdeny语句的先后顺序,以及缺省的权限。

通常有两种定义形式   1order allow,deny    2order deny,allow

1、order allow,deny(缺省禁止所有机器访问)
要求先要用allow语句定义允许访问的机器,缺省是拒绝所有机器访问。

如果某条件即匹配allow语句,又匹配定义的deny语句,则deny语句会生效。

2、order deny,allow(缺省允许所有机器访问)
要求先用deny语句定义拒绝访问的机器,缺省是允许所有机器访问。

如果某条件既匹配deny语句,又匹配定义的allow语句,则allow语句会生效。

感谢诺达RHCE吴振老师,感谢思科资源,成长进行中···

你可能感兴趣的:(Linux系统运维)