2:基于名称的虚拟主机 需要两个域名解析到你的服务器,对应关系是 /var/www/server server.example.com /var/www/client client.example.com 当访问这两个域名时,可以分别显示出不同文件里面主页的内容 #echo "server page" >> /var/www/server/index.html #echo "client page" >> /var/www/client/index.html 然后我们编辑一个配置文件 #vi /etc/httpd/conf.d/virtual.conf //记住conf.d里面的内容也是apache的配置文件 添加如下内容: NameVirtualHost 192.168.76.133:80
ServerName service.example.com DocumentRoot /var/www/server
ServerName client.example.com DocumentRoot /var/www/client
#service httpd restart 这样基于名称的虚拟主机就配置好了 如果你没有DNS你可以再你的机器上hosts文件里加记录 linux在/etc/hosts这个文件 windows在C:\windows\system32\drivers\etc\hosts文件 加上这两行 192.168.76.133 server.example.com 192.168.76.133 client.example.com 这样你在去测试,就会发现访问不同的域名显示不同的内容了 这样基于名称的虚拟主机就配置好了!
3:基于IP地址的虚拟主机 先添加一个临时网卡 #ifconfig eth0:0 192.168.76.132 //临时使用,重启后就会消失 然后便捷virtual.conf文件 #vi /etc/httpd/conf.d/virtual.conf 把内容修改为 #NameVirtualHost 192.168.76.133:80
ServerName service.example.com DocumentRoot /var/www/server
ServerName client.example.com DocumentRoot /var/www/client
让后你在用ip访问,发现也能显示不同的内容,或者你编辑hosts文件,用域名访问也没问题 这样基于IP地址的虚拟主机也成功了!
4:别名 在/etc/httpd/conf/httpd.conf里加入 Alias /test "/root/website/" // 别名 这样你用192.168.76.133/test访问 也会显示192.168.76.133的页面 这个地方需要注意的就是/test 还是/test/ 这个是用区别的 你用/test 那么你访问的时候只能用192.168.76.133/test访问 如果你用/test/ 那么192.168.76.133/test/访问,而/test将不会放你访问 忘了这里你的先把/etc/httpd/conf.d目录里面刚刚设置的虚拟目录注释掉 不然没法访问,是因为做了虚拟目录,而httpd.conf里面的设置就无法访问 当然可以用localhost来访问,其他的访问都不行
5:实现网页的资源下载 首先添加别名 #vi /etc/httpd/conf/httpd.conf 在Alias /test "/root/website/" 后面加入 Alias /down "/var/ftp/pub" 让后对/var/ftp/pub区域设置参数
Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all
在Options 加入 MultiViews //没有index时自动列出目录文档 然后重启服务,这样http://192.168.76.133/down/里面就可以列出/var/ftp/pub里面的文件了,试着点一个另存为,是否可以下载? 呵呵 成功!
6:.htpasswd的实现 #vi /etc/httpd/conf/httpd.conf 我们针对刚刚做的/var/ftp/pub来做 加入如下信息 Alias /down "/var/ftp/pub/"
Options Indexes MultiViews AllowOverride AuthConfig Order allow,deny Allow from all
AuthType Basic AuthName "this is test" AuthUserFile /etc/httpd/htpasswd Require User test
然后重启httpd服务, 让后生成.htpasswd用户密码 htpasswd -c /etc/httpd/htpasswd test 让后去访问192.168.76.133/down会需要密码 这样就成功了
(责任编辑:admin) |