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

Web服务器

开发平台:

Unix_Linux

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