Apache服务器的小技巧

A1.1 Apache模块

    在搭积木的游戏中,每块积木有不同的形状和尺寸,孩子们根据自己的想象挑选出合适的积木,搭出完整的房子。Apache的模块与此类似。每个模块提供不同的功能,用户可以根据自己的需要往Apache可执行程序中添加模块,或者从中去掉没用的模块。Apache的核心模块http_core提供了最基本的功能,没有了它,Apache什么都干不了。除了这个模块,绝大部分的模块都是可以自由取舍的。
    在众多Apache模块中,有一个引人注目的模块:mod_so。它提供了一种动态加载Apache模块的方法。有了mod_so,您不必为了添加或删除一个模块而重新编译Apache,所要做的只是修改httpd.conf的内容,然后重新启动httpd。XteamServer的Apache中只编译了http_core和mod_so两个模块,其余模块均在httpd.conf中动态加载。

A1.2 Proxy服务设置

    Apache带有一个proxy模块。编辑配置文件httpd.conf,在关于Proxy的地方设置如下--去掉关于Proxy行前的原有的注释并做相应的修改:
    LoadModule proxy_module modules/libproxy.so
    AddModule mod_proxy.c
    <IfModule mod_proxy.c>
        ProxyRequests On
        <Directory proxy:*>
            Order deny,allow
            Deny from all
            Allow from .your_domain.com
            </Directory>
        ProxyVia On
    CacheRoot "/var/cache/httpd"
    CacheSize 102400
    CacheGcInterval 4
    CacheMaxExpire 48
    CacheLastModifiedFactor 0.1
    CacheDefaultExpire 1
    NoCache some_domain.com
    </IfModule>
    其中:
    CacheSize 102400指缓存区大小为100MB;
    CacheGcInterval 4设置Apache每4小时强制删除过时的cache文件;
    CacheMaxExpire 48设置所有缓存文件的终止时间为48小时;
    CacheLastModifiedFactor 0.1当原服务器不提供某文件过期时间时,自动推算其过期时间;
    CacheDefaultExpire 1设置所有缓存文件的缺省终止时间为1小时;
    NoCache some_domain.com指出不进行缓存的主机、域名和IP地址,之间用空格分隔;
    改变配置后,在服务器上建立Proxy所使用的Cache目录(本例中为/var/cache/httpd),并将其属性设置为可写状态(所有者为nobody,权限为755),然后重起Apache是改变的配置生效。这样在客户端的浏览器上便可以将Proxy设置为该服务器了。

A1.3 建立基于域名的虚拟主机服务

    所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,可以将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上,而访问者只需输入公司的域名就可以访问到它想得到的主页内容。
    假设Apache服务器所在的主机的IP地址为202.202.202.202,只要在其配置文件httpd.conf中加入以下内容:
    NameVirtualHost 202.202.202.202

    <VirtualHost 202.202.202.202>
        ServerAdmin [email protected]
        DocumentRoot /home/httpd/www.company1.com
        ServerName www.company1.com
        ErrorLog /var/log/httpd/www.company1.com/error.log
    </VirtualHost>
    <VirtualHost 202.202.202.202>
        ServerAdmin [email protected]
        DocumentRoot /home/httpd/www.company2.com
        ServerName www.company2.com
        ErrorLog /var/log/httpd/www.company2.com/error.log
    </VirtualHost>
,并在服务器上创建相应的目录,然后重起Apache是改变的配置生效,就可以使用基于域名的虚拟主机服务了。

A2 Wu-ftp服务器的小技巧

A2.1 ftpaccess

    关于Wu-ftp所提供的功能,大部分的设定都放在/etc/ftpaccess里面。下面是一些关于该文件设置的小技巧。

    连接拒绝

    deny这个设定可以有两个作用:
    1 设定来自特定网络地址的机器不允许连接。
    2 当来自该特定网络地址的机器尝试连接时,指定显示哪个消息文件。
    这样,该使用者会知道为什么被拒绝连接。
    用法:
    deny *.somewhere.com /etc/ftpmsgs/msg.denied
    当来自*.somewhere.com的使用者连接ftp服务器时,系统将在其客户端显示文件/etc/ftpmsgs/msg.denied中的内容。可以根据需要改变该文件中的内容。

    设定同时最多允许多少人连接

    limit可以设定哪些类别的使用,在哪些时段,最多允许几个人同时连接。
    用法:
    limit all 20 Any /etc/ftpmsgs/msg.toomany
    使用者类别all,在任何时段同时最多可以有20个使用者;如果超过,后来的使用者将会被拒绝,并且系统会在其客户端显示文件/etc/ftpmsgs/msg.toomany中的内容。

    其他讯息显示的设定

    Wu-ftp可以让使用者在连线时、登录时、改变目录时分别显示不同的讯息。而这些显示讯息的来源则分别透过banner、message来指定。

    banner

    用法:
    banner /etc/ftp.banner 
    设定当使用者刚开始连上服务器时显示的讯息,通常是本主机的介绍。在文件中,可以包含一些变量,这些变量将会在显示时适当的字符串取代。列举常用的变量如下:
    %E:管理员的E-Mail地址;
    %L:主机名称;
    %M:最多允许多少使用者同时连接;
    %N:目前有多少个使用者在线;
    %T:当前时间;

    message

    用法:
    message /etc/welcome.msg login
    当使用者成功登录服务器后,Wu-ftp显示文件/etc/welcome.msg的内容作为欢迎讯息。
    用法:
    messages .message cwd=* 
    当使用者改变目录后,Wu-ftp显示该目录下的.message文件内容作为辅助说明。

A2.2 anonymous密码的检查原则

    当Wu-ftp允许匿名登录时,密码的部份一般是输入来访者的E-Mail地址,但是我们根本无法确定来访者所输入的E-Mail地址是否有效。在这种情况下,Wu-ftp提供一个选项,由Wu-ftp检查来访者所输入的密码是否真的像是个E-Mail地址的格式(user@hostname),然后对于不太像的给予一个警告讯息,或是强制他输入正确格式的密码。
用法:
    passwd-check rfc822 warn 
    如果密码不是E-Mail格式时,显示警告讯息,仍可登录。
    passwd-check rfc822 enforce 
    如果密码不是E-Mail格式时,请来访者重新输入。
    2Wu-ftp附带的工具
    Wu-ftp除了提供FTP服务器程序之外,同时也附带了几个小工具来让系统管理者检查目前FTP服务器的运行情况。
    ftpcount:显示目前FTP服务器的使用者数目。
    ftpwho:显示目前FTP服务器的使用者连线情况,类似ftpcount,但信息更加详细一些。

你可能感兴趣的:(apache)