您的位置:首页 > 运维架构 > Apache

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

2015-11-24 11:13 1191 查看
虚拟主机配置
基于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+portVirtualHost容器外添加额外的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的访问控制列表用order语句来定义处理allow和deny语句的先后顺序,以及缺省的权限。

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

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

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

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

如果某条件既匹配deny语句,又匹配定义的allow语句,则allow语句会生效。
感谢诺达RHCE吴振老师,感谢思科资源,成长进行中···
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: