Apache配置技巧

  • 来源: 互联网 作者: rocket   2008-03-17/11:07
  • 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目录下的内容

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多