活到老学到老  

记录遇到问题的点点滴滴。

apache 2.4.x 特殊性

7年前发布  · 1766 次阅读
  apache  apache2.4 

在apache2.4版本之前做客户端访问控制,是用Allow Deny Order指令做访问控制的,而在2.4的版本上是用的用法跟之前的版本大不相同,如下

################################################ 
2.2上的配置 
Order deny,allow 
Deny from all 
 
2.4上的配置 
Require all denied 
 
################################################ 
2.2上的配置 
Order allow,deny 
Allow from all 
 
2.4上的配置 
Require all granted 
 
################################################# 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面给出了几个例子在2.4版本上的配置
1. 仅允许IP为192.168.1.1的主机访问

<RequireAll> 
      require all  granted 
      require ip 192.168.1.1 
</RequireAll> 

2.仅允许192.168.0.0/24网络的主机访问

<RequireAll>  
      require all  granted  
      require ip 192.168.1.0/24 
</RequireAll>  

3.禁止192.168.1.2的主机访问,其他的都允许访问

<RequireAll> 
      require all  granted 
      require not ip 192.168.1.2 
</>RequireAll> 

4.允许所有访问

require all  granted



注,这个可以不用加容器 ......
直接,写在 .....里面就可以了

5.拒绝所有访问

require all  denied  

apache  alias  别名  

 

最近设置虚拟目录老是设置不成功,于是百度一下Apache Alias 找到如下资料终于明白了问题的根源,没有设置目录的访问权限!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

可以做一个别名访问 
例如www目录下没有 /zen目录

但是通过url连接 访问 [url]http://xxx.topsvr.com/zen[/url] 时候 
指定到 系统下的一个目录 例如
/home/zen/www/

那么我们需要这么设置
Alias /zen /home/zen/www    

<Directory /home/zen/www>    
Order allow,deny    
Allow from all    
</Directory> 

另外一个别名是在系统中使用的

做一个别名alias    
例如做别名 alias aa=ls
那么我们输入aa 也会具有ls的效果

如果我们需要永久的使用aa来代替ls命令
那么我们可以编辑.bashrc     文件 在里面加上 alias aa=ls
那么这个用户每次都可以输入aa来达到文件列表的效果

编辑文件 想要让他立即生效 使用 下面这个命令 重新加在配置文件
重新加载 source /root/.bashrc

在 xampp  中  访问出现以下情况 

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

Fatal error: Unknown: Failed opening required '/opt/lampp/htdocs/aa.php' (include_path='.:/opt/lampp/lib/php') in Unknown on line 0

 

原因就是文件访问权限的问题  设置权限 775 就OK