需求描述
1,站点www , bdqn .com的网页文档存放在服务器的/var/ www/html/bdqn1com目录下。
2,站点 www , jbit . com的网页文档存放在服务器的/var/ www/html / bdqn2com目录下。
3,构建基于域名的虚拟主机服务器,用于支撑以上两个Web站点。
4,其中 www . jbit . cam站点只对公司内部员工开放alan、agou,访问时需进行用户认证。
推荐步骤
1,为虚拟主机提供域名解析。
2,为虚拟主机准备网页文档。
3,配置并启动httpd 服务器。
4,在客户机中访问虚拟主机。
首选安装一台DNS 服务器
注意IP地址要指向 服务器
服务器的DNS 指向 DNS服务器IP
为虚拟主机准备网页文档
为每个虚拟Web主机准备网站目录及网页文档。为了测试方便.分别为每个虚拟Web主机提供包含不同内容的首页文件。例如.在/var/www /html目录下创建两个子文件夹bdan1com , bdqn2com,分别作为www , bdan1 , corm和www , bdan2 .com 的网站根目录.并分别编写测试网页文件。
[root@Linux01 ~]# mkdir -p /var/www/html/bdqn1com
[root@Linux01 ~]# mkdir -p /var/www/html/bdqn2com
[root@Linux01 ~]# echo '<h1>www.bdqn1.com</h1>'> /var/www/html/bdqn1com/index.html
[root@Linux01 ~]# echo '<h1>www.bdqn2.com</h1>'> /var/www/html/bdqn2com/index.html
添加虚拟主机配置
在 httpd 服务器的主配置文件中,若要启用基于域名的虚拟 Web主机.通常需要配置以下几个方面的内容。
[root@Linux01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@bdqn.com
DocumentRoot "/var/www/html/bdqn1com"
ServerName www.bdqn1.com
ErrorLog "logs/www.bdqn1.com-error_log"
CustomLog "logs/www.bdqn1.com-access_log" common
<Directory '/var/www/html'>
Require all granted
<Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@bdqn.com
DocumentRoot "/var/www/httml/bdqn2com"
ServerName www.bdqn2.com
ErrorLog "logs/www.bdqn2.com-error_log"
CustomLog "logs/www.bdqn2.com-access_log" common
<Directory '/var/www/html'>
Require all granted
<Directory>
</VirtualHost>
加载独立的配置文件 打开虚拟机功能
[root@Linux01 ~]# vim /usr/local/httpd/conf/httpd.conf
从启服务使新配置生效
[root@Linux01 ~]# /usr/local/httpd/bin/apachectl restart
在客户机中访问虚拟 Web主机
创建用户认证数据文件
httpd的基本认证通过校验用户名.密码组合来判断是否允许用户访问。授权访问的用户账号需要事先建立,并保存在固定的数据文件中。使用专门的 htpasswd工具程序.可以创建授权用户数据文件.并维护其中的用户账号。
使用htpasswd 工具时.必须指定用户数据文件的位置.添加“一c”选项表示新建立此文件。例如,执行以下操作可以新建数据文件/usr /local /httpd/conf / , awspwd,其中包含一个名为 webadmin的用户信息。
[root@Linux01 www]# cd /usr/local/httpd
[root@Linux01 httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd bdqn
添加用户授权配置
有了授权用户账号以后,还需要修改httpd ,conf配置文件.在特定的目录区域中添加授权配置,以启用基本认证并设置允许哪些用户访问。例如.若只允许.awspwd 数据文件中的任一用户访问网页,可以执行以下操作。
[root@Linux01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
Authname "DocumentRoot"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
现在访问就需要输入账号密码