说明:
  1)定义目录特性选项Options
  可选参数:
  Indexes:该特性表明目录允许“目录浏览”;
  MultiViews:该特性表明目录允许内容协商的多重试图;
  All:包含了除MultiViews外的所有特性;
  ExecCGI:该特性表明允许在该目录下执行CGI脚本;
  FollowSymLinks:该特性表明允许在该目录下使用符号连接。
  2).htaccess文件
  可以通过.htaccess文件(访问控制文件)设置目录的权限。
  AccessFileName  .htaccess
  配置参数AllowOverride指定目录的.htaccess文件中指令的类型,包括All、None与Options、FileInfo、AuthConfig、Limit的任意组合。一般将AllowOverride设置为“None”,禁止使用.htaccess文件,当AllowOverride参数为All时,.htaccess文件可以覆盖任何以前的配置。
  3)设置访问控制
  使用Order选项来定义访问权限。
  比如以下语句表明允许所有客户机的访问:
  Order  allow,deny
  Allow  from  all
  以下语句表明只允许网段192.168.99.0/24的客户机访问,但IP地址为192.168.99.254这个客户机除外:
  Order  allow,deny
  Allow from  192.168.99.0/24
  Deny from  192.168.99.254
  用户可以根据需要,按上述方法配置自己的目录权限。
  3. 创建虚拟目录
  使用Alias选项创建虚拟目录,比如,建立“/icons/”这个虚拟目录,其对应的物理路径为“/var/www/icons/”:
  Alias  /icons/  “/var/www/icons/”
  4. 用户认证
  比如,有一个名为myweb的虚拟目录,其对应的物理路径是“/usr/local/myweb”,现对其启用用户认证功能,只允许用户Tonyguo和Wayne访问。
  1)建立虚拟目录并设置用户认证:
  Alias /myweb/ “/usr/local/myweb/”
  <Directory  “/usr/local/myweb/”>
  Options  none
  AllowOverride  None
  Order  allow,deny
  Allow  from  all
  AuthType Basic
  AuthName “Please Login: ”
  AuthUserFile/usr/local/apache/bin/mywebpwd
  Require User Tongguo wayne
  </Directory>
  2) 建立口令文件并为用户设置口令
  /usr/local/apache/bin/htpasswd –c /usr/local/apache/bin/mywebpwd Tonyguo
  -c选项表示无论口令文件是否已经存在,都会重新写入文件并删除原内容。所以第二个用户wayne不需要使用-c选项
  3)测试
  在浏览器中输入:http://192.168.99.9/myweb,可以看到如下对话框:
  输入用户名和密码后可以访问网站了:
  三、配置虚拟主机
  1. 配置基于IP的虚拟主机
  1)IP地址相同,但端口号不同的虚拟主机配置
  比如使用192.168.99.9的两个不同端口80和8080发布两个不同站点, 虚拟主机分别对应的目录为/usr/local/apache/htdocs/web1和/usr/local/apache/htdocs/web2:
Listen 80
Listen 8080
<VirtualHost  192.168.99.9:80>
ServerSignature  email
DocumentRoot  /usr/local/apache/htdocs/web1
DirectoryIndex  index.html  index.htm
LogLevel  warm
HostNameLookups  off
</VirtualHost>
<VirtualHost  192.168.99.9:8080>
ServerSignature  email
DocumentRoot  /usr/local/apache/htdocs/web2
DirectoryIndex  index.html  index.htm
LogLevel  warm
HostNameLookups  off
</VirtualHost>