目录权限Apache httpd.conf相关知识点--默认的开始页面、目录权限、虚拟主机

近期一直在学习目录权限之类的问题,今天正好有机会和大家分享一下.

    1、默许的开始面页:

    <IfModule dir_module>

    DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \

                   default.php default.pl default.cgi default.asp default.shtml default.html default.htm \

                   home.php home.pl home.cgi home.asp home.shtml home.html home.htm

    </IfModule>

    2、默许拜访位置,如输入127.0.0.1后:

    拜访的是htdocs件文夹下的DirectoryIndex面页

    3、为什么输入127.0.0.1,拜访的是http://127.0.0.1/xampp/

    因为在htdocs的index.php做了跳转

    4、目录关相之权限:

    [root@www ~]# vim /etc/httpd/conf/httpd.conf

    DocumentRoot "/var/www/html"  <==可以改成你放置首页的目录!

    # 这个设定值范规了 WWW 伺服器主网页所放置的‘目录’,虽然设定值容内可以变革,

    # 但是必要须特殊留心这个设定目录的权限以及 SELinux 的关相规矩与类型(type)!

    <Directory />

        Options FollowSymLinks

        AllowOverride None

    </Directory>

    # 这个设定值是针对 WWW 伺服器的‘预设环境’而来的,因为针对‘/’的设定嘛!

    # 提议留保上述的预设值 (上头资料已经是很严格的制约),关相参数容后说明。

    <Directory "/var/www/html">         <==针对特定目录的制约!底下参数很要重!

        Options Indexes FollowSymLinks  <==提议拿掉 Indexes 较比当妥!

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

    ----------------------------------------------------

     

    a、Options (目录参数):

        此设定值表现在这个目录内可以让 Apache 行进的作动,亦是即针对 apache 的程序的权限设定啦!要重的参数值有:

        Indexes:如果在此目录下找不到‘首页档案 (预设为 index.html) ’时, 就示显个整目录下的档案名称,至于‘首页档案档名’则与 DirectoryIndex 设定值有关。

        FollowSymLinks:这是 Follow Symbolic Links 的缩写, 字面意思是让结连档可以失效的意思。我们道知首页目录在 /var/www/html,既然是 WWW 的根目录,理论上就像被 chroot 一般! 一般来说被 chroot 的程式将法无分开其目录,也就是说预设的情况下,你在 /var/www/html 底下的结连档只要结连到非此目录的其他地方,则该结连档预设是失效的。 但用使此设定便可以让结连档有效的分开本目录。

        ExecCGI:让此目录有具执行 CGI 程式的权限,非常要重!举例来说,之前热点的 OpenWebMail 用使了很多的 perl 的程式,你要让 OpenWebMail 可以执行,就得要在该程式地点目录有拥 ExecCGI 的权限才行喔!但请注意,不要让全部目录可均用使 ExecCGI !

        Includes:让一些 Server-Side Include 程式可以运作。提议可以加上去!

        MultiViews:这儿意玩有点像是多国言语的援支,与语系资料 (LanguagePriority) 有关。最见常在错误讯息的报答容内,在一同部主机中,可以据依用户端的语系而赐与不同的言语示显呢! 预设在错误报答讯息当中存在,你可以检查一下 /var/www/error/ 目录下的资料喔! 

    b、AllowOverride (答应的覆写参数能功):

        表现是不是答应外额设定档 .htaccess 的某些参数覆写?我们可以在 httpd.conf 内设定好全部的权限,不过如此一来若用使者自己的个人网页想要修改权限时将会对管理员形成困扰。因此 Apache 预设可以让用使者以目录底下的 .htaccess 档案内覆写 <Directory> 内的某些能功参数。 这个目项则是在定规 .htaccess 可以覆写的权限类型有哪些。见常的有:

        ALL:部全的权限可均被覆写; 

        AuthConfig:唯一网页认证 (帐号密码) 可覆写; 

    每日一道理
成熟是一种明亮而不刺眼的光辉,一种圆润而不腻耳的音响,一种不要需对别人察颜观色的从容,一种终于停止了向周围申诉求告的大气,一种不理会哄闹的微笑,一种洗刷了偏激的淡漠,一种无须声张的厚实,一种并不陡峭的高度。

        Indexes:仅答应 Indexes 方面的覆写; 

        Limits:答应用使者用利 Allow, Deny 与 Order 管理可览浏的权限; 

        None:弗成覆写,亦即让 .htaccess 档案失效!

    c、Order Allow, Deny (否能登入览浏的权限):

        定决此目录是不是可被 apache 的 PID 所览浏的权限设定啦!否能被览浏要重有两种判断的式方:

        deny,allow:以 deny 优先理处,但没有入写规矩的则预设为 allow 喔。 

        allow,deny:以 allow 为优先理处,但没有入写规矩的则预设为 deny 喔。

        所以在预设的环境中,因为是 allow,deny 所以预设为 deny (弗成览浏),不过在下一行有个 Allow from all,allow 优先理处,因此部全 (all) 用户端皆可览浏!

    5、虚拟主机:

    [root@www ~]# vim /etc/httpd/conf.d/virtual.conf

    # 底下这一行在定规‘本机任何介面的 port 80 所指定的虚拟主机’的意思。

    NameVirtualHost *:80

    # 先针对两个多出来的可览浏目录行进权限方面的范规啊!

    <Directory "/var/www/www">

        Options FollowSymLinks

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

    <Directory "/var/ftp">

        Options FollowSymLinks Indexes

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

    # 针对三部主机的 DocumentRoot 行进定!

    <VirtualHost *:80>

        ServerName    linux.centos.vbird

        DocumentRoot  /var/www/html

    </VirtualHost>

    <VirtualHost *:80>

        ServerName    www.centos.vbird

        DocumentRoot  /var/www/www

        CustomLog     /var/log/httpd/www.access_log combined

        # 不同的主页可以指定不同的录登档资讯,这样较比好 debug 与析分啦!

    </VirtualHost>

    <VirtualHost *:80>

        ServerName    ftp.centos.vbird

        DocumentRoot  /var/ftp

    </VirtualHost>

    6、虚拟主机注意点:

    a、在虚拟主机的设定上还有很多的可用的能功,不过,最低的限制是要需有 ServerName 及 DocumentRoot 这两个便可! 

    b、用使了虚拟主机后,本来的主机名称 (linux.centos.vbird) 也要同时入写虚拟主机的对应中, 否则这个主机名称可能会不道知被丢到哪里去喔! 

    c、在 www.centos.vbird 这个主机当中多了个 CustomLog ,表现任何向 www.centos.vbird 要求资料的录记都市改入写 /var/log/httpd/www.access_log 而不是预设的 /var/log/httpd/access_log。 但这个新增的录登档必要需参加 logrotate 的管理当中才行喔!否则录登档会大到‘爆表’

    d、在windows下的路径用不\,都是用使/

    7、出产环境的虚拟主机设置:

    <VirtualHost *>

    <Directory "D:/PHPnow-1.5.6/htdocs/gausstel">

        Options Indexes FollowSymLinks

        Allow from all

        AllowOverride All

    </Directory>

    ServerAdmin [email protected]

    DocumentRoot "D:/PHPnow-1.5.6/htdocs/gausstel"

    ServerName 127.0.0.3:80

    ServerAlias *.vaasdk.com

    ErrorLog logs/127.0.0.3-error_log

    php_admin_value open_basedir "D:\PHPnow-1.5.6\htdocs\gausstel;C:\WINDOWS\Temp;"

    </VirtualHost>

文章结束给大家分享下程序员的一些笑话语录: 苹果与谷歌之争就是封闭收费与自由免费思想之争。(别急着把google来膜拜哦?那可是一家公司,以赚钱为目标的公司!当年我Party就是这样把广大劳动人民吸引过来的。今天的结果你们都看到了。)

你可能感兴趣的:(apache)