PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 服务器 >> Apache服务器 >> 

Apache配置技巧

Apache配置技巧

来源:  作者:网络转载  发布时间:2008-03-18
Apache Apache软件包的组成 Apache服务器的启动 Apac

 Apache
Apache软件包的组成
Apache服务器的启动
Apache服务器的配置
Apache服务器的用户认证
用户web目录
虚拟主机
1.Apache简介
        WWW(World Wide Web)
        HTTP(HyperText Transfer Protocol)
        交互式访问
        模块化
2.Apache软件包的组成
        /etc/httpd/conf/*
                主配置文件位置
        /etc/rc.d/init.d/httpd
                启动脚本
        /home/httpd/html
                html文档的主目录
        /home/httpd/html/manual/*
                html格式的帮助文档
        /home/httpd/icons/*
                用在html网页中的图标文件
        /usr/sbin/*
                -/usr/sbin/htpasswd
                        建立和更新apache用户的程序
                -/usr/sbin/httpd
                        http服务器程序
        /var/log/httpd/*
                日志文件


3.Apache服务器的启动       
        /etc/rc.d/init.d/httpd start(reload/restart/stop)
         使其自动运行
        ntsysv
4.Apache服务器的配置
        1.配置文件
                httpd.conf srm.conf access.conf
        2.httpd.conf
                ServerType standlone/inetd
                服务器的运行方式
                Port 80
                在standlone方式下监听的端口号
                User nobody
                进程运行的属主
                Group nobody
                进程运行的属组
                ServerAdmin admin@localhost
                管理员信箱
                ServerRoot "/home/httpd/"
                服务器文件位置
                ServerName httpserver


                服务器名称
                Timeout 300
                设置服务器和客户端的连接超时时间
                MaxClient 300
                允许同时连接的客户数
                ProxyRequests on
                允许充当proxy
                DocumentRoot "/home/httpd/html"
                提供服务器文档服务的根目录
                UserDir public_html
                服务器上用户自己主页所在目录
                DirectoryIndex index.html
                目录索引文件
                AccessFileName .htaccess
                在每个目录中包含访问控制信息的文件名
                Alias /icons/ "/home/user/icons/"
                为不在DocumentRoot之下的文档建立别名
                <VirtualHost></VirtualHost>
                <Directory></Directory>
        3.目录访问权限控制
                ----
                通过修改httpd.conf文件中的Directory项来设置
                Ex:
                <Directory "/home/httpd/html/aa">
                        Options Indexes
                        AllowOverride None
                        order allow,deny
                        allow from all
                </Directory>
                Options指令
                        --控制一个目录的访问特性
                        -None:
                        -All:
                        -ExecCGI:可以执行cgi脚本

                          -Indexes:访问一个无索引文件的目录时,返回一个文件  列表
                AllowOverride指令
                        --".htaccess"文件中哪些设置允许覆盖先前的设置
                        -None:不读取.htaccess
                        -Limit:覆盖控制主机访问的指令(allow,deny)
                        -AuthConfig:允许覆盖跟认证有关指令                        (AuthType,AuthName)


                order指令
                        控制处理allow和deny指令的顺序
                        Ex:
                        order allow,deny
                        deny from all
                        allow from host11
                allow指令
                        对于一个目录来说,allow指令设置允许哪些主机访问


                        -all:所有主机
                        -域名:eloo.com
                        -一个完整IP:192.168.0.1
                        -网络号码/子网掩码:192.168.0.0/255.255.255.0
                        -网络号码/nnn:192.168.0.0/24
                deny指令
                        对于一个目录来说,allow指令设置禁止哪些主机访问
                        -all:所有主机
                        -域名:eloo.com
                        -一个完整IP:192.168.0.1
                        -网络号码/子网掩码:192.168.0.0/255.255.255.0
                        -网络号码/nnn:192.168.0.0/24
                        
5.Apache服务器的用户认证
                功能:只有合法的帐号名和密码才能访问到指定目录的内容
                1.建立用户数据库
                  格式:lpeng:BQ5DFS3%#$%
                        一般放在DocumentRoot以外的地方
                        #htpasswd -bc /etc/httpd/users user1 1234
                2.使用用户数据库
                        在要保护的目录中建立".htaccess"文件

                        Ex:
                        AuthName "会员区"
                        AuthType Basic
                        AuthUserFile /etc/httpd/users
                        require valid-user(requrie user <username1&gt
                  注意:也可以建立一个用户组文件,然后在这里指定用户组
                        vi /etc/httpd/groups

                        teacher:jacky lpeng
                        Ex:
                        AuthName "会员区"
                        AuthType Basic
                        AuthGroupFile /etc/httpd/users
                        require group <group1>
                另一种情况:
                        Ex:
                        AuthName "会员区"
                        AuthType Basic
                        AuthGroupFile /etc/httpd/users
                        require group <group1>
                        Allow from
                        Deny from
                        satisfy all //同时使用两种,都满足才可
                        satisfy any        //符合一种即可

        使用php+mysql数据库来实现用户认证
       
6.用户Web目录
        Apache允许主机上的用户使用特定的目录存放用户自己的主页
        http://hostname/~username/
        一种方法
        UserDir public_html
        注意:此目录必须位于用户主目录下
        另种方法
        UserDir /home/httpd/*/httpd
7.虚拟主机
基于名字的虚拟主机
        <VirtualHost 192.168.103.11>
           ServerAdmin webmaster@host.some_domain.com
           DocumentRoot /home/eloo/a
           ServerName a.eloo.com


           ErrorLog /home/eloo/logs/host.some_domain.com-error_log
           CustomLog /home/eloo/logs/host.some_domain.com-access_log common
       </VirtualHost>

       
实验:
        1.建立/home/httpd/htmlapachetest目录,并对其进行权限限制,使用户aa可以访问
        2.设置自己服务器上的个人主页空间
        3.设置本机域名mydomain.com
                主目录为/home/httpd/html
        再添加一别名为username.mydomain.com
                使其访问/home/username/html目录下的内容
 

Tags: 技巧   配置   目录   服务器   文件   Apache   C   Apache配置  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号