名称空间配置
UserDir 是用来定义用户访问自己家目录下的网页文件的指令
访问格式 http://192.168.1.105/~frank
启动UserDir的方法:在apache的配置文件里找到UserDir这一项,
然后把UserDir disable这一指令注释掉,在把下面的UserDir public_html 这个指令的去掉注释即可。另外还需要在自己家目录下创建一个目录叫public_html,把所有的网页文件放在这里就行了。
以上的设置都做好了但还是不能在浏览器打来知道的网页文件时,就是apache与文件或目录权限的问题。此时先看看index.html的权限,/home/frank/public_htlm目录的权限,其父目录/home/frank的权限,如果apache对其没有执行权限,就要用ACL给其加上执行权限。
#setfacl -m u:apache:--x /home/frank (只设置这一项就行)
#setfacl -m u:apache:--x /home/frank/public_html (可以不用设置)
#getfacl /home/frank/public (查看cal信息)
这样修改权限之后,就可以显示了。
路径别名
Alias
访问不再网页目录/var/www/html下的文件
配置:在配置文件/etc/httpd/conf/hpptd.conf中找到Alias指令,在这里加上 Alias /目录名1 “/目录名2”
目录名1是在访问该网页时,url后需要加的目录名;
目录名2是网页文件实际存放的位置;这两个目录名不需要一样。
基于用户认证
对网站中某个目录设置访问权限
配置:在配置文件中增加
<Directory “/要加权限的目录”>
Options 可通过+/- 号增加或去掉父目录中的选项,不用符号表示覆盖父目录中的选项
AllowOverride AuthConfig 基于简单的配置文件来说明(一般叫.htppasswd 放置用户的账号和密码,文件位置可随意放)
AuthName “....” 说明
AuthType basic 加密方式
AuthUserFile /etc/httpd/conf/.htpasswd 要存放的位置(任意)
AuthUserFile /etc/httpd/conf/.webgrps
Require User valid-user 所有账号都允许,或者指定特定的用户
</Directory>
然后在相应目录下使用htpasswd命令创建.htpasswd文件
htpasswd [option] .htpasswd的存放位置 账号
-c 第一次使用此文件是,用于自动创建此文件
-m 以md5的方式加密存储
-D 用于删除用户账号
虚拟主机
当使用虚拟主机的时候一定要取消中心主机,再到Section 3下定义虚拟主机。
1.基于端口的虚拟主机
<VirtualHost 172.16.100.1:80>
DocumentRoot “/var/www/html/web1”
ServerName www.a.org
</VirtualHoat>
<VirtualHost 172.16.100.1:8080>
DocumentRoot “/var/www/html/web2”
ServerName www.a.com
</VirtualHoat>
2.基于ip地址的虚拟主机
使用网卡别名,可以给一块网卡配置多个ip地址
ethX:n 这种方式重启网络服务后就没有了,要想让它永久有效得在/etc/sysconfig/network-scripts/ifcfg-ethN配置文件里修改配置。
然后在apach的配置文件中添加
<VirtualHost 172.16.100.1:80>
DocumentRoot “/var/www/html/web1”
ServerName www.a.org
</VirtualHoat>
<VirtualHost 172.16.100.2:80>
DocumentRoot “/var/www/html/web2”
ServerName www.a.com
</VirtualHoat>
3.基于主机名的虚拟主机
一定要把配置文件中的NameVirtualHost *:80启动起来,其中的*:80要与下面<VirtualHost>标签中的ip:80一样。
<VirtualHost 172.16.100.1:80>
DocumentRoot “/var/www/html/web1”
ServerName www.a.org
ErrorLog /var/log/httpd/a.org.err 设置错误日志存放位置
CustomLog /var/log/httpd/a.org.acc combined 设置访问日志存放位置和模式
</VirtualHoat>
<VirtualHost 172.16.100.1:80>
DocumentRoot “/var/www/html/web2”
ServerName www.a.com
ErrorLog /var/log/httpd/a.com.err 设置错误日志存放位置
CustomLog /var/log/httpd/a.com.acc combined 设置访问日志存放位置和模式
</VirtualHoat>
要想在Windows自动解析这两个域名到ip地址,需要配置c:\WINDOWS\system32\drivers\etc\hosts文件
在该文件中增加 172.16.100.1 www.a.org
172.16.100.1 www.a.com 两行