#
Options Indexes FollowSymLinks #Options(目录参数)
#此设置值表示在这个目录内能够让Apache进行的操作,也就是针对Apache的程序的权限设置。 #主要的参数值有: # # # # # # # # # # # # # # # #
# AllowOverride controls what directives may be placed in .htaccess files. # It can be \# Options FileInfo AuthConfig Limit #
AllowOverride None #允许覆盖参数功能
#表示是否允许额外配置文件.htaccess的某些参数覆盖。我们可以在httpd.conf内设置好所有的权限 #不过这样一来,若用户自己的个人网页想要修改权限时将会对管理员造成困扰。因此,Apache默认
Indexes:如果在此目录下找不到首页文件(默认为index.html)时,
就显示整个目录下的文件名,至于首页文件名则与DirectoryIndex设置的值有关 建议注释掉Indexes
FollowSymLinks:这是Fllow Symolic Links的缩写,字面意义是让连接文件可以生效。 我们知道首页的目录是在/var/www/html,既然是WWW的根目录,理论上就像被chroot 一般。一般说来说被chroot的程序无法离开其目录,也就是说,默认的情况下,你在
/var/www/html下面的连接文件只要链接到非此目录的其他地方,则该连接文件默认是失效的。 但是使用这个设置可以让链接有效的离开本目录
ExecCGI:让此目录具有执行CGI的权限,非常重要。举例来说,OpenWebMail使用了 很多Perl程序,你要让OpenWebMail可以执行,就需要在该程序所在目录拥有ExecCGI 的权限才行。但是要注意:不要让所有的目录均可以使用ExecCGI Includes:让一些Server-Side Include程序可以运行。建议可以加上去
MultiViews:这个有点像是多国语言的支持,与语言数据有关。在错误信息的回报内容中 最常见,在同一台主机中,可以依据客户端的语言而给予不同的语言显示。默认在回报 信息中存在,你可以检查一下/var/www/error/目录下的数据。
#可以让用户以目录下的.htaccess文件内覆盖
ALL:全部的权限均可以覆盖
AuthConfig:仅有网页认证(帐号与密码)可以覆盖 Indexes:仅允许Indexes方面的覆盖
Limits:允许用户利用Allow、Deny与Order管理可浏览的权限 None:不可覆盖,也就是让.htaccess文件失效
#使用.htaccess会严重影响到Apache的性能,如果不是特殊需要,建议关闭 #
# Controls who can get stuff from this server. #
Order allow,deny Allow fromall
#能否登陆浏览的权限
#决定此目录是否可被Apache的PID所浏览的权限设置。 #能否被浏览主要有两种判断的方式: # #
deny,allow 以deny优先处理,但没有写入规则的默认为allow allow,deny 以allow为优先处理,但是没有写入规则的默认为deny
#所以在默认的情况下,因为是allow,deny 所以默认为deny(不可浏览) #不过在下一行有个allow from all,allow优先处理,因此全部客户端均可浏览
#权限操作之Order
#在权限配置一块让人一头雾水,下面我整理了一下相关的文档,希望能拨开云雾 #Apache内部的Order可以处理相关权限的限制,其中有两个值,Allow和Deny #Order deny,allow 可以理解为拒绝所有,开放特定 #Order allow,deny 可以理解为开放所有,拒绝特定
#当allow与deny中有重复的规则出现,则最后一条的配置起到了决定性的作用 #举个例子来说,我们要允许所有人访问除了192.168.61.61 #Order allow,deny
#allow from all #deny 192.168.61.61
#以上这个例子很明显是允许所有拒绝特定的配置 #第二行定义了允许的规则,开放所有
#第三行定义了拒绝的规则,拒绝了一个IP,这个IP包含在第二行的all当中,
#所以它的权限就默认由最后一行配置决定,最后一行是deny,所以61.61被成功被拒之门外 #接下来举一个只允许61.1访问的例子 #Order deny,all #deny from all #allow 192.168.61.1
#这个例子的第一行声明了它是拒绝所有而允许特定 #第二行拒绝了所有访问
#第三行配置了一个允许的IP,这个IP当然也是包含在第二行的all之中,出现了重复定义 #所以它的规则默认按照最后一条执行,最后一条是放行,所以61.1成功被释放
#
# UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. #
# The path to the end user account 'public_html' directory must be # accessible to the webserver userid. This usually means that ~userid # must have permissions of 711, ~userid/public_html must have permissions # of 755, and documents contained therein must be world-readable. # Otherwise, the client will only receive a \#
# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden #
#
# UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). #
UserDir disabled
#默认用户个人网站的功能被禁用了
#若需要开启用户个人网站,只需注释掉这一行 #
# To enable requests to /~user/ to serve the user's public_html # directory, remove the \ # the following line instead: #
#UserDir public_html
#开启用户个人网站后(注释掉上面一行)需要把该行的注释拿掉 #Apache默认的个人首页是放置在用户家目录下的~/public_html/目录下
#假如现在有个larry用户,那么默认属于larry的个人首页就会放置在/home/larry/public_html下 #如何可以让未来新添加的用户主目录下默认都存在这个public_html目录? #创建用户家目录的模版主要是拷贝了/etc/skel这个目录的内容,所以 #可以直接在/etc/skel/目录下mkdir /etc/skel/public_html即可 #家目录中的首页要想正常被浏览还需要设置一下权限 #把用户家目录的权限设置为711(默认为700)
#把家目录内的public_html文件夹权限设置为755(默认为711)
#此时在没有SELinux干扰的情况下,在浏览器中输入http://hostname/~larry/即可看到首页 #去掉~有两种方式
#第一种:因为前面配置中的Options中有FllowSymLinks这个参数的原因,直接使用链接即可 #cd /var/www/html/ #ln -s /home/larry/public larry
#第二种:使用Apache的Alias别名功能,在不与别人干扰的位置加入如下配置
#Alias /larry/ “/home/larry/public_html/” #
Options FollowSymLinks AllowOverride None Order allow,deny Allow from all
#
#使用这个方法要特别注意,在httpd.conf内的Alias后面接的目录,需要加上 #目录符号“/”在结尾处,同时,网址输入时必须输入http://IP/larry/ #也就是结尾也必须加入斜线才行,否则会显示找不到该URL
#
# Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. #
#
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec #以下的配置意为仅允许GET POST和OPTIONS的操作 #
#以下的配置意为除了这三个操作之外,其他操作全部不允许 #