apache高级配置

名称空间配置

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 /目录名/目录名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地址

ethXn    这种方式重启网络服务后就没有了,要想让它永久有效得在/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 两行

 

 

 

 

 

 

 

 


你可能感兴趣的:(apache,高级配置)