ºìÁªLinuxÃÅ»§
Linux°ïÖú

Ïêϸ½éÉÜ£ºApache °²×°¡¢ÅäÖá¢ÓÅ»¯

·¢²¼Ê±¼ä:2006-09-02 07:50:08À´Ô´:ºìÁª×÷Õß:pkncoin
¡¡¡¡°²×° Apache 2.0.48 (²é¿´InstallÊÖ²á) ¿¼Âǵ½ÒÔºóÒª rewite_url À´Ê¹ google ¸ü¼ÓÈÝÒ×ÊÕ¼ÍøÕ¾£¬ÌصØÌí¼ÓÁË mod_rewrite

¡¡¡¡Í¬Ê±ÎªÁËÏÞÖÆÁ÷Á¿£¬Ìرð¼ÓÁË mod_limitpcnn.c ²¹¶¡ , ËùÒÔ¶àÁËÒ»¸ö --enable-forward Ñ¡Ïî¡£

¡¡¡¡½¨Òé°²×°Íê±ÏÒÔºó²»ÒªÉ¾³ý°²×°Ä¿Â¼£¬ÒÔ±ãÒÔºóÉý¼¶Ê±Ê¹Óá£

¡¡¡¡¼ÇµÃÉý¼¶Ç°¹Ø±Õ apache2.0

¡¡¡¡±àÒë¹ý³Ì£º

¡¡¡¡´úÂë:

[code]¡¡¡¡#./configure --enable-so --enable-speling --enable-rewrite --with-ssl=/usr/local/ssl¡¡--enable-forward
¡¡¡¡# make
¡¡¡¡# make install[/code]¡¡

¡¡¡¡Õâ¸öÀý×ÓÀïÃæÊDZàÒëÁË mod_so£¬mod_speling ºÍ openssl Ö§³Ö¡£

¡¡¡¡Í¬ÑùÓÐÁíÍ⼸ÖÖд·¨

¡¡¡¡´úÂë:

[code]#./configure --enable-modules=so --enable-modules=speling --enable-modules=rewrite[/code]

¡¡¡¡»òÕß

¡¡¡¡´úÂë:

[code]#./configure --enable-modules=¡±so speling¡±[/code]

¡¡¡¡--enable-MODULE[=shared] ±àÒë²¢°üº¬Ä£¿é MODULE. MODULE ÊÇÎĵµÖÐÈ¥µô¡± _module ¡±µÄÄ£¿éÃû¡£Òª½«Ò»¸öÄ£¿é±àÒë³ÉΪ DSO, ÐèÒª¼Ó -shared Ñ¡Ïî , ¼´ --enable-mods-shared ¡£ (²é¿´ MODULE ÊÖ²á)

¡¡¡¡×¢Òâ £º"Èç¹ûÏ£ÍûºËÐÄÄܹ»×°ÔØ DSO£¬¶ø²»Êµ¼Ê±àÒëÈκζ¯Ì¬Ä£¿é£¬ÔòÒªÃ÷È·Ö¸¶¨ --enable-modules=so »òÕß --enable-so" (²é¿´ DSO ÊÖ²á)£¬ËùÒÔÇ°ÃæµÄ˳Ðò²»Äܽ»»»Ë³Ðò¡£ ²é¿´ËùÓÐapache µÄ configure ²ÎÊý

¡¡¡¡°²×°Íê±Ïºó¿ÉÒÔÓÃÒÔÏÂÃüÁîÀ´²é¿´Æô¶¯ÁËÄÇЩģ¿é

¡¡¡¡´úÂë:

[code]¡¡¡¡# apachectl -l
¡¡¡¡Compiled in modules:
¡¡¡¡core.c¡¡
¡¡¡¡mod_access.c
¡¡¡¡mod_auth.c
¡¡¡¡mod_include.c
¡¡¡¡mod_log_config.c
¡¡¡¡mod_env.c
¡¡¡¡mod_setenvif.c
¡¡¡¡prefork.c
¡¡¡¡http_core.c
¡¡¡¡mod_mime.c
¡¡¡¡mod_status.c
¡¡¡¡mod_autoindex.c
¡¡¡¡mod_asis.c
¡¡¡¡mod_cgi.c
¡¡¡¡mod_negotiation.c
¡¡¡¡mod_dir.c mod_imap.c
¡¡¡¡mod_actions.c
¡¡¡¡mod_speling.c
¡¡¡¡mod_userdir.c
¡¡¡¡mod_alias.c
¡¡¡¡mod_rewrite.c
¡¡¡¡mod_so.c[/code]¡¡

¡¡¡¡½Ó×Å£¬½«Æô¶¯³ÌÐò·ÅÈ뿪»ú³ÌÐòÖÐÈ¥¡£ Èç¹ûÒªÆô¶¯ ssl ¼ÓÃÜÍøÒ³£¬Ôò±ØÐëͨ¹ýÊÖ¶¯Æô¶¯ apache2.0 (²Î¼û ssl ²¿·Ö )

¡¡¡¡´úÂë:

[code]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local[/code]¡¡

¡¡¡¡²Î¿¼£º

¡¡¡¡´úÂë:

[code]¡¡¡¡If you want your server to continue running after a system reboot ,
¡¡¡¡you should add a call to apachectl to your system startup files (typically rc.local¡¡or
¡¡¡¡a file in an rc.N¡¡directory). This will start Apache as root. Before doing this ensure
¡¡¡¡that your server is properly configured for¡¡security and access restrictions.[/code]¡¡

¡¡¡¡ÔÚ profile ÀïÃæÌí¼ÓÒÔÉϵÄÓï¾äÀ´ÉèÖ÷¾¶£¬Ê¹µÃÔÚ bash ϸüÈÝÒ׿ØÖÆ apachectl, Ê¡È¥ÁËÊäÈë·¾¶µÄÂé·³¡£

¡¡¡¡´úÂë:

[code]¡¡¡¡# vi /etc/profile

¡¡¡¡PATH=" $PATH:usr/local/apache2/bin:¡±[/code]¡¡

¡¡¡¡ÅäÖÃ apache2.0

¡¡¡¡´úÂë:

[code]# vi /usr/local/apache2/conf/httpd.conf[/code]¡¡

¡¡¡¡ÅäÖÃÎļþÇë¿´Îļþ httpd.conf (ÉèÖÃÎĵµÄ¿Â¼Îª/home/dalouis/public_html)

¡¡¡¡´úÂë:

[code]#chmod 755 - R /home/dalouis/[/code]¡¡

¡¡¡¡ÉèÖÃĿ¼µÄ¿É¶ÁÐÔΪ drwxr-xr-x(755), ·ñÔò»á³öÏÖ "Forbidden You don't have permission to access / on this server."

¡¡¡¡Ò»Ð©¹ØÓÚ°²È«ÐÔµÄÅäÖãº

¡¡¡¡¿¼Âǵ½ cgi-bin µÄ°²È«ÐÔÎÊÌ⣬ÎÒÃÇÔÝʱ½« cgi-bin È¥µô¡£½«ËùÓÐ httpd.conf ÖеÄËùÓйØÓÚ cgi-bin µÄÐмÓÉÏ #.

¡¡¡¡Xiyang µÄÅäÖÃ

[code]ÎÒÓõģº mod_limitipconn, mod_expires, mod_gzip, mod_php4, mod_so, mod_access, mod_alias, mod_userdir, mod_dir, mod_autoindex, mod_status, mod_mime, mod_log_config, http_core[/code]

¡¡¡¡¹ØÓÚ³¬Ê±µÄÎÊÌâ ÔÚÎÒ±àдºÃËùÓеIJúÆ·²é¿´Ò³ÃæµÄʱºò£¬¾­³£»á³öÏÖÒòΪ³¬Ê±£¬»òÕßÁ÷Á¿¹ý´ó ,apache Í£Ö¹¹¤×÷µÄÎÊÌ⣬ԭÒòÓжþ£¬Ò»ÊÇ´úÂëµÄ²»¿ÆѧÐÔ£¬¶þÊÇ apache µÄÉèÖÃÎÊÌâ¡£

¡¡¡¡ÒÔÏÂÊǶÔÉèÖõÄÒ»µã¸Ä¶¯£º

¡¡¡¡´úÂë:

[code]¡¡¡¡# KeepAlive: Whether or not to allow persistent connections(more than
¡¡¡¡# one request per connection). Set to "Off" to deactivate.
¡¡¡¡# KeepAlive Off ¡¡¡¡
¡¡¡¡# MaxKeepAliveRequests: The maximum number of requests to allow
¡¡¡¡# during a persistent connection. Set to 0 to allow an unlimited amount.
¡¡¡¡# We recommend you leave this number high, for maximum performance. ¡¡¡¡
¡¡¡¡# MaxKeepAliveRequests 0 ¡¡¡¡
¡¡¡¡# KeepAliveTimeout: Number of seconds to wait for the next request
¡¡¡¡# from the same client on the same connection. ¡¡¡¡
¡¡¡¡# KeepAliveTimeout 0[/code]

¡¡¡¡• ¼Ç¼·ÃÎÊÕßµÄ HTTP-REFERER ºÍ AGENT, ÓÐÖúÓÚͳ¼ÆÀ´ÕßÊÇͨ¹ýʲôËÑË÷ÒýÇæÕÒµ½ÎÒÃǵÄÍøÕ¾µÄ¡£ »òÕßÔÚÔ­ÓеÄCustomLogÐУ¬½«²ÎÊýÓÉ common ¸Ä³É combined

¡¡¡¡´úÂë:

[code]¡¡¡¡# If you would like to have agent and referer logfiles,
¡¡¡¡# uncomment the following directives.
¡¡¡¡CustomLog logs/referer_log referer¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡CustomLog logs/agent_log agent¡¡
¡¡¡¡CustomLog logs/www.domain.com-access_log combined[/code]¡¡¡¡¡¡¡¡

¡¡¡¡Ê¹Óà mod_limitipconn.c À´ÏÞÖÆ apache µÄ²¢·¢Êý

¡¡¡¡Package: http://dominia.org/djao/limit/ÕâÀïµÄ°²×°½¨ÒéʹÓö¯Ì¬ DSO ²¢ patch apache2.0, ÒÔʹµÃ apache2.0 ¿ÉÒÔÈÏʶÔÚ´úÀíºó·½µÄ IP ¡£µ«ÊÇÒª ÖØбàÒë apache2.0, ÒÔÏÂÊǽéÉÜ¡£

¡¡¡¡´úÂë:

[code]¡¡¡¡##Instructions for building DSO with proxy tracking:
¡¡¡¡# tar xzvf httpd-2.0.39.tar.gz
¡¡¡¡# tar xzvf mod_limitipconn-0.22.tar.gz
¡¡¡¡# cd httpd-2.0.39
¡¡¡¡# patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff
¡¡¡¡# ./buildconf
¡¡¡¡# ./configure --enable-so --enable-speling --enable-rewrite --with-ssl=/usr/local/ssl --enable-forward
¡¡¡¡# make
¡¡¡¡# make install
¡¡¡¡# cd ../mod_limitipconn-0.22
¡¡¡¡# PATH=/usr/local/apache2/bin:$PATH
¡¡¡¡# make install[/code]

¡¡¡¡°²×°¹ý³Ì
¡¡¡¡
[code]¡¡¡¡# lynx http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
¡¡¡¡# tar -zxvf mod_limitipconn-0.22.tar.gz
¡¡¡¡# cd httpd-2.0.48
¡¡¡¡# patch -p1 < ../mod_limitipconn-0.22/apachesrc.diff
¡¡¡¡patching file configure.in
¡¡¡¡Hunk #1 succeeded at 373 (offset 55 lines).
¡¡¡¡patching file include/scoreboard.h
¡¡¡¡patching file modules/generators/mod_status.c
¡¡¡¡Hunk #1 succeeded at 746 (offset -1 lines).
¡¡¡¡patching file server/scoreboard.c
¡¡¡¡# ./configure --enable-so --enable-speling --enable-rewrite --with-ssl=/usr/local/ssl --enable-forward
¡¡¡¡# make
¡¡¡¡# make install
¡¡¡¡# cd ../mod_limitipconn-0.22
¡¡¡¡# PATH=/usr/local/apache2/bin:$PATH
¡¡¡¡# make install
¡¡¡¡----------------------------------------------------------------------
¡¡¡¡Libraries have been installed in:
¡¡¡¡/usr/local/apache2/modules
¡¡¡¡If you ever happen to want to link against installed libraries
¡¡¡¡in a given directory, LIBDIR, you must either use libtool, and
¡¡¡¡specify the full pathname of the library, or use the `-LLIBDIR'
¡¡¡¡flag during linking and do at least one of the following:
¡¡¡¡- add LIBDIR to the `LD_LIBRARY_PATH' environment¡¡variable
¡¡¡¡during execution
¡¡¡¡- add LIBDIR to the `LD_RUN_PATH' environment variable
¡¡¡¡during linking
¡¡¡¡- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
¡¡¡¡- have your system administrator add LIBDIR to `/etc/ld.so.conf'
¡¡¡¡See any operating system documentation about shared libraries for
¡¡¡¡more information, such as the ld(1) and ld.so(8) manual pages.
¡¡¡¡----------------------------------------------------------------------
¡¡¡¡chmod 755 /usr/local/apache2/modules/mod_limitipconn.so
¡¡¡¡[activating module `limitipconn' in /usr/local/apache2/conf/httpd.conf][/code]¡¡

¡¡¡¡¼ì²é httpd.conf Îļþ£¬·¢ÏÖÔö¼ÓÁËÒ»ÏÂÒ»ÐÐ

¡¡¡¡´úÂë:

[code]LoadModule limitipconn_module modules/mod_limitipconn.so[/code]¡¡

¡¡¡¡Í¬Ê±ÐèÒªÉèÖÃÒÔϲÎÊýÔÚ httpd.conf ÖÐ , Ò²¿ÉÒÔÔÚµ¥¸öÐéÄâ·þÎñÆ÷ÖС£

¡¡¡¡´úÂë:

[code]¡¡¡¡ExtendedStatus On
¡¡¡¡# Only needed if the module is compiled as a DSO
¡¡¡¡LoadModule limitipconn_module lib/apache/mod_limitipconn.so
¡¡¡¡
¡¡¡¡
¡¡¡¡MaxConnPerIP 3
¡¡¡¡# exempting images from the connection limit is often¡¡a good[/code]
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 6 ÌõÆÀÂÛ

  1. wangjun1230 ÓÚ 2006-10-23 20:48:20·¢±í:

    ллÁË£¡

  2. machonghao ÓÚ 2006-10-23 17:20:18·¢±í:

    ºÃ¶«Î÷£¬Ð»Ð»¡£

  3. ËÞ·É ÓÚ 2006-09-09 18:01:33·¢±í:

    ºÜºÃ,ÎÒÃÇÕýѧϰÕâЩÄØ,

    Çë½ÌÒ»ÏÂ:

    Ö§³ÖASPÂð?ÎÒÌý˵֧³Ö,¿É²»ÖªµÀÔõô×ö

  4. aijqx ÓÚ 2006-09-05 19:32:45·¢±í:

  5. shyboy8688 ÓÚ 2006-09-05 15:20:19·¢±í:

    ¶÷~ºÃ¶«¶«~

  6. smallwl ÓÚ 2006-09-03 13:15:18·¢±í:

    ²»´í£¬ÊܽÌÁË