INSTALL
上传用户:ladybrid91
上传日期:2007-01-04
资源大小:287k
文件大小:5k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1. INSTALLATION INSTRUCTIONS FOR PHTTPD 1.10.*
  2. --------------------------------------------------------
  3.  Copyright (c) 1994-1995 Peter Eriksson <pen@signum.se>
  4.          1998-1999 Roland Kaltefleiter <rk@netuse.de>
  5. REQUIREMENTS
  6. --------------------------------------------------------------------------
  7. Operating system:
  8. Solaris 2.5.1 or higher:
  9. You should install the latest kernel and thread patches.
  10. You will get them in the recommeded pathes from
  11. ftp://sunsolve.sun.com/pub/patches/*_Recommended.tar.Z
  12. Please read the section "KERNEL MODIFICATIONS" below about
  13. how to up the kernel backlog limit. The default limit
  14. of 5 is *much* too low for busy servers! It will cause
  15. long accept() syscall delays, and possibly denied
  16. connection requests occasionally!
  17. Solaris 2.7:
  18. From this release LDAP support works.
  19. UnixWare 2:
  20. You must add "-DUNIXWARE" to the "COMCFLAGS" line.
  21. Machines/hardware:
  22. PC's Make sure you specify a large enough "stack-size" in the
  23. /etc/phttpd.conf file or Phttpd will crash in mysterious
  24. ways. 'stack-size = 128k' seems to be OK. Only seen on
  25. Solaris.
  26. Compilers:
  27. GCC (Gnu C Compiler) (tested with version 2.8.1)
  28. SunSoft's SPARCompiler (tested with version 4.0.1)
  29. EGCS (tested with version 1.1b)
  30.  
  31.         Make sure you are *NOT* linking with Gnu 'ld' - it won't
  32.         build working shared libraries! You'll notice this error
  33.         (or something similar) when starting Phttpd if you do:
  34.  
  35.            ld.so.1: /public/www/sbin/phttpd: fatal: relocation error:
  36.            symbol not found: debug: referenced in /public/www/modules/dir.so
  37.  
  38. COMPILATION
  39. --------------------------------------------------------------------------
  40. First, make sure you have the latest version of Phttpd. (See
  41. the README file for sites distributing Phttpd).
  42. Second, modify the top level Makefile so it fits your compilation
  43. environment (there are sample settings for GCC, Sun's CC and Apogee).
  44. You may also want to change the installation root directory
  45. (default = /opt/phttpd/) to something else.
  46. Then type "make".
  47. INSTALLATION
  48. --------------------------------------------------------------------------
  49. Here you can choose between "install" and "install.all". The
  50. difference is that "install.all" should _only_ be used when
  51. doing a first-time installation since it overwrites the daemons
  52. configuration file (/opt/phttpd/etc/phttpd.conf) and the system startup
  53. script (/etc/init.d/phttpd) so any changes you've made to them
  54. will be lost. So:
  55. o Use "make install.all" the first time you compile and install
  56.   the daemon.
  57. o Use "make install" all other times.
  58. If you wish to install in a non-standard location other than
  59. the default (/opt/phttpd) add "INSTROOT=/your/own/dest/dir" to the
  60. "make install"/"make install.all" command. For example:
  61. make INSTROOT=/usr/local/www install
  62. You'll then need to modify the configuration file
  63. (/opt/phttpd/etc/phttpd.conf) to point the daemon to the new directory.
  64. If you want the daemon to automatically start at system boot time,
  65. add a symbolic link from /etc/rc3.d/S99phttpd to /etc/init.d/phttpd
  66. like this:
  67. ln -s /etc/init.d/phttp /etc/rc3.d/S99phttpd
  68. Check the configuration file (/opt/phttpd/etc/phttpd.conf) for any
  69. other parameters you may want to change/enable.
  70. Then you can manually start the daemon by issuing (as "root") the
  71. command:
  72. sh /etc/init.d/phttpd start
  73. If you want to be extra sure that the daemon is always running,
  74. and automatically restarted in case it crasches for some reason,
  75. then you can use the "ackpfd" controlling daemon for this purpose.
  76. Modify the /etc/init.d/phttpd script to start Phttpd like this:
  77.     /opt/phttpd/sbin/ackpfd /opt/phttpd/sbin/phttpd -w <other options>
  78. KERNEL PATCHES:
  79. I recommend that you apply atleast the following patches:
  80. SPARC/Solaris 2.4:
  81. 102752-01 (thread.h Patch)
  82. 102741-01 (libm SEGV patch)
  83. 101945-45 (Kernel Jumbo Patch)
  84. 101973-24 (Libnsl and ypbind Jumbo Patch)
  85. x86/Solaris 2.4:
  86. 101946-39 (Kernel Jumbo Patch)
  87. 101974-24 (Libnsl and ypbind Jumbo Patch)
  88. SPARC/Solaris 2.5:
  89. 103093-08 (Kernel Jumbo Patch)
  90. 103164-06 (Libthread Patch)
  91. 103187-11 (Libnsl and ypbind Jumbo Patch)
  92. SPARC/Solaris 2.5.1:
  93. 103640-05 (Kernel Patch)
  94. 103612-07 (Libnsl and ypbind Jumbo Patch)
  95. In gerneral I recommend that you use Solaris 2.5.1, since
  96. that version is *much* faster than the older versions.
  97. KERNEL MODIFICATIONS:
  98. The default Solaris 2.4 kernel has a listen() backlog limit
  99. of just 5 connections. This is much too low for a normally
  100. busy WWW server, and it is WAY to low for a busy server....
  101. I recommend that you use a limit of 32 on a normal server
  102. (up to 1 request/second)
  103. On a very busy server (more than 1 request/second) use
  104. something like 512 or so...
  105. However, note that upping the limit to 512 will increase the
  106. kernel memory usage!
  107. You can up this limit to a maximum of 32 by doing (as root):
  108. ndd -set /dev/tcp tcp_conn_req_max 32
  109. If you need to set it even higher then you must use script
  110. 'etc/backlog-bumper.sh'. With that script you can up the
  111. limit up to 1024 (which is the default limit in Solaris 2.5).
  112. (You must also run this at reboot time of course. This script
  113. is not normally installed automatically).
  114. - Peter Eriksson <pen@signum.se>, 28 Feb 1997