root@ubuntu:/# htpasswd -c /etc/apache2/password zhangsan (-c表示要创建一个password密码文件,文件存放目录是/etc/apache2/password,用户名是张三)
New password:
Re-type new password:
Adding password for user zhangsan
root@ubuntu:/# htpasswd /etc/apache2/password lisi (文件已经存在了就不用-c了)
New password:
Re-type new password:
Adding password for user lisi
root@ubuntu:/etc/apache2# vim password
zhangsan:$apr1$BMY5WmDG$fORd5nSXO3ul3iiwpMFRZ/
lisi:$apr1$chu01hdi$ZQbPKO/XIK5qgsmHTV0S2/
"password" 2L, 90C
(创建一个私有的需要密码访问的站点页面)
root@ubuntu:/yw/apache3/passwd# echo "require passwd html" > index.html
root@ubuntu:/yw/apache3/passwd# ls
index.html
(增加验证方式,验证文件)
root@ubuntu:/etc/apache2/mods-available# vim alias.conf
Alias /passwd "/yw/apache3/passwd" (需要权限访问的目录)
<Directory "/yw/apache3/passwd"> (说明)
AuthType Basic (验证类型:基本的)
Authname “随便写:this IS a private site”
AuthUserFile /etc/apache2/password (验证文件路径)
Require valid-user (需要校验的用户)
</Directory>
root@ubuntu:/etc/apache2/mods-available# service apache2 restart
创建虚礼主机:
基于IP和域名的虚礼主机,基于域名的虚礼主机是用的最多的。访问网站都是通过输入域名来访问的,很少很少用ip来访问。
如果apache不支持虚礼主机,那么就意味着一个apache服务器只能搭建一个网站,那么就意味着一个网站要一个物理服务器。
基于IP的虚礼主机:
实际物理服务器上一台物理服务器通常有2-4块网卡,配上不同的ip地址。一个网卡对应一个web站点。
增加网卡:
重启系统。下面基于2块网卡来进行基于IP的虚礼主机。
ens33 Link encap:Ethernet HWaddr 00:0c:29:b9:3d:b0
inet addr:192.168.115.129 Bcast:192.168.115.255 Mask:255.255.255.0
ens38 Link encap:Ethernet HWaddr 00:0c:29:b9:3d:ba
inet addr:192.168.115.130 Bcast:192.168.115.255 Mask:255.255.255.0
配置文件:
<VirtualHost *:80>
ServerAdmin 13538219687@163.com #(邮件地址,主机出现什么问题发送邮件)
DocumentRoot /var/www/html130 #(虚礼主机对应的时机目录)
ServerName 192.168.115.130
Errorlog logs/130.error
CustomLog logs/130.access common #(正常日志)
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 13538219687@163.com #(邮件地址,主机出现什么问题发送邮件)
DocumentRoot /var/www/html129 #(虚礼主机对应的时机目录)
ServerName 192.168.115.129
Errorlog logs/129.error
CustomLog logs/129.access common #(正常日志)
</VirtualHost>
root@ubuntu:/etc/apache2# service apache2 restart
需要关闭防火墙,添加80端口对ip地址的监听(Listen 192.168.115.130:80,Listen 192.168.115.130:80)。基于域名只用一块网卡一个ip地址。
基于域名的虚礼主机:只要一个网卡一个IP地址,一个ip地址可以对应多个域名,
<VirtualHost *:80>
ServerAdmin 13538219687@163.com #(邮件地址,主机出现什么问题发送邮件)
DocumentRoot “/var/www/html129” #(虚礼主机对应的时机目录)
ServerName abc.def.com (就这里不一样)
Errorlog logs/129.error
DirectoryIndex abc.html (加不加都可以)
CustomLog logs/129.access common #(正常日志)
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 13538219687@163.com #(邮件地址,主机出现什么问题发送邮件)
DocumentRoot “/var/www/html129” #(虚礼主机对应的时机目录)
ServerName ggg.fff.com (就这里不一样)
Errorlog logs/129.error
DirectoryIndex abc.html (加不加都可以)
CustomLog logs/129.access common #(正常日志)
</VirtualHost>
root@ubuntu:/etc/apache2# ifconfig ens38 down (关闭网卡)
root@ubuntu:/etc/apache2/sites-available# netstat -apn | grep 80 (查看80端口绑定的IP,现在是所有IP)
tcp6 0 0 :::80 :::* LISTEN 8384/apache2
root@ubuntu:/etc/apache2# service apache2 restart
这里还是不能登陆,因为域名不能解析成ip地址,有2种方法:1.自己搭建dns服务器。2.电脑把域名和ip地址绑定。
配置dns和域名的绑定:
root@ubuntu:/etc# vim resolv.conf
Windows上配置: