【以下内容供有兴趣的同学自学】 ② 基于 IP 地址的虚拟主机
基于 IP 地址的虚拟主机是在服务器上绑定多个 IP 地址,然后配置 Apache,把多个网站绑定在不同的 IP 地址上,访问服务器上不同的 IP 地址,用户可以访问不同的网站。具体实现步骤如下:
1)为网卡设置多个 IP 地址
ifconfig eth0:0 192.168.1.10 netmask 255.255.255.0 2)使用 Vi 编辑器修改配置文件 httpd.conf vim /etc/httpd/conf/httpd.conf 添加:
echo “Welcome to bbs”>/var/www/bbs.rjxy.com/ echo “Welcome to main”>/var/www/html 4)修改访问权限
chmod -R 755 /var/www/bbs.rjxy.com 5)重启服务
service httpd restart 6)测试
首先配置好DNS,在windows的C:\\WINDOWS\\system32\\drivers\\etc\\hosts中添加两行: 192.168.1.100 www.rjxy.com 192.168.1.10 bbs.rjxy.com
在浏览器的地址栏中分别输入http://www.rjxy.com http://bbs.rjxy.com
③ 基于端口号的虚拟主机
服务器只需有一个 IP 地址即可,所有的虚拟主机共享同一个IP ,各虚拟主机之间通过不同的端口号进行区分。实现步骤如下: 1)使用 Vi 编辑器修改配置文件 httpd.conf vim /etc/httpd/conf/httpd.conf
注释NameVirtualHost 添加:
listen 192.168.1.100:80 listen 192.168.1.100:8080
2)创建目录及首页文件、 修改访问权限
此步骤工作在基于 IP 地址的虚拟主机的例子中已完成,可直接继续 3)服务重启
service httpd restart 4)测试
http://192.168.1.100:80 http://192.168.1.100:8080
3. 虚拟目录
通常情况下,网站资源需要放置在Apache 的文档目录(DocumentRoot)中才可以发布在网页当中,默认的路径是“/var/www/html ”目录。如果想要发布文档目录以外的其他目录就需要用到虚拟目录功能。虚拟目录是一个位于 Apache服务器主目录之外的目录,它不包含在 Apache服务器的主目录中,但在访问 Web 站点的用户看来,它与位于主目录中的子目录是一样的。每一个虚拟目录都有一个别名,客户端可以通过此别名来访问虚拟目录。在Apache服务器的主配置文件httpd.conf中,通过 Alias指令设置虚拟目录。
如果要在该服务器上创建名为/test/ 的虚拟目录,它对应的物理路径是“/home/test/ ”,需要以下步骤的设置。 ① 创建物理目录 mkdir /home/test ② 创建默认首页文件 cd /home/test
echo “test directory!”>> index.html ③ 修改目录权限 chmod 705 /home/test ④ 修改配置文件
vim /etc/httpd/conf/httpd.conf 添加Alias /test/ \ ⑤ 重启服务
【注意】test后面的斜杠/不能少!!
service httpd restart
⑥ 测试 在windows的浏览器中输入地址http://192.168.1.100/test/ 提醒:结尾的/不能省
4. 访问控制
在Apache服务器的主配置文件 httpd.conf中有很多目录容器,可以通过设置服务器上某个目录的权限,对用户的访问进行控制。
如果我们想要对/test 虚拟目录进行保护,只有输入合法的用户名和密码才能访问该目录,需要做以下设置。
①修改主配置文件 httpd.conf,添加
AuthName “This is protects for test Directory!!” AuthType Basic AuthUserFile /var/www/htpasswdfile Require valid-user
②利用 htpasswd 命令生成用户密码文件,并为rjxy用户设置登录密码。 htpasswd –c /var/www/htpasswdfile rjxy ③重启服务
service httpd restart