📄 0120.htm
字号:
<P>在参考java区netsoldier的"jsp已经稳定运行起来" <BR>和laomie的gnijsp的安装,配置两篇文章 <BR>经过2天的不懈奋斗,终于可以正常工作了。:) </P><P>感谢两位前辈! </P><P>现把安装过程简略描述如下,和大家共享喜悦。 </P><P><BR>PS1:OS环境:RedHat 6.2 kernal:2.2.14-5 <BR> MEM:256MB </P><P>PS2:我的PHP4,JServ都是编译进Apache的 <BR> 没有采用mod方式. </P><P>前期准备: </P><P>软件: <BR>Apache 部分: <BR>Apache 1.3.12 http://www.apache.org <BR>Apache JSSI 1.1.2 http://java.apache.org <BR>Apache JServ 1.1.2 http://java.apache.org </P><P>SSL 部分: <BR>mod_ssl-2.6.0-1.3.12 http://www.modssl.org/source/mod_ssl-2.6.0-1.3.12 <BR>.tar.gz <BR>mm-1.0.9 http://www.engelschall.com/sw/mm/mm-1.0.9.tar.gz </P><P>rsaref2.0 ftp://ftp.replay.com/pub/crypto/crypto/LIBS/rsare <BR>f20.tar.Z <BR>openssl 0.9.4 http://www.openssl.org/source/openssl-0.9.4.tar.g <BR>z </P><P>PHP 部分: <BR>PHP 4.0.1pl2 http://www.php.net/do_download.php?download_file= <BR>php-4.0.1pl2.tar.gz&source_site=www.php.net <BR>libwmf 0.1.7 http://www.csn.ul.ie/~caolan/publink/libwmf/libwm <BR>f-0.1.17.tar.gz <BR>freetype 1.3.1 ftp://ftp.freetype.org/pub/freetype1/freetype-1.3 <BR>.1.tar.gz <BR>zlib 1.1.3 http://www.cdrom.com/pub/infozip/zlib/zlib.tar.gz </P><P>pdflib 3.0 http://www.pdflib.com/pdflib/download/pdflib-3.0. <BR>tar.gz <BR>openldap 1.2.8 ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-rele <BR>ase/openldap-1.2.8.tgz <BR>imap 4.5 http://hkstar.Linuxberg.com/files/console/imap-4. <BR>5.tar.Z </P><P>JAVA <BR>jdk 1.2.2 http://java.online.sh.cn/JDK/Sun/Linux/jdk1_2_2-l <BR>inux-i386.tar.gz <BR>jsdk 2.0 http://java.sun.com 选择 solaris and other unix <BR>jswdk 1.0.1 http://java,sun.com 选择 solaris and other unix <BR>ojsp http://technet.oracle.com 搜寻 ojsp_10061.otn.zip </P><P><BR>安装: <BR>Apache+JServ+PHP: <BR>由于这些东西的参数较多 <BR>我采用每个建立一个cfg脚本配置,不用每次重新配置都要敲入所有配置参数:) </P><P><BR>步骤: </P><P>拷贝所有的包到/tmp下面,然后按步骤解开压缩包,最方便的是用mc来拷贝:) <BR>注意:以下路径均为我本机的路径,以mc操作,后面的配置文件也以此为参考 <BR> mc可以直接进入tar以及gz包,然后就可以直接F5(Copy)了。 </P><P># mc (change left win to /tmp,right to /opt/install) <BR>01. mm-1.0.9.tar.gz to /opt/install/lib/mm/mm-1.0. <BR>9 <BR>02. rsaref20.tar.Z to /opt/install/lib/rsa/rsaref <BR>20 <BR>03. openssl-0.9.4.tar.gz to /opt/install/lib/openssl-0. <BR>9.4 <BR>04. mod_ssl-2.6.0-1.3.12.tar.gz to /opt/install/apache/mod/mod <BR>_ssl-2.6.0-1.3.12 </P><P>05. openldap-1.2.8.tgz to /opt/install/ldap/openldap- <BR>1.2.8 <BR>06. imap-4.5.tar.Z to /opt/install/mail/imap-4.5 </P><P>07. pdflib-3.0.tar.gz to /opt/install/pdf/pdflib-3.0 </P><P>08. zlib.tar.gz to /opt/install/pdf/zlib-1.1.3 </P><P>09. libwmf-0.1.17.tar.gz to /opt/install/lib/wmf/libwmf </P><P>10. freetype-1.3.1.tar.gz to /opt/install/lib/freetype.t <BR>tf/freetype-1.3.1 </P><P>11. jdk1_2_2-linux-i386.tar.gz to /usr/local/jdk1.2.2 <BR>12. jsdk20-solaris2-sparc.tar.Z to /usr/local/JSDK20 <BR>13. jswdk1_0_1-solsparc.tar.Z to /usr/local/jswdk-1.0.1 <BR>14. ojsp_10061_otn_zip to /usr/local/ojsp </P><P>15. apache_1.3.12.tar.gz to /opt/install/apache/apache_ <BR>1.3.12 <BR>16. ApacheJSSI-1.1.2 to /opt/install/apache/ApacheJ <BR>SSI-1.1.2 <BR>17. ApacheJServ to /opt/install/apache/ApacheJ <BR>Serv-1.1.2 <BR>18. php-4.0.1pl2 to /opt/install/php/php-4.0.1p <BR>l2 </P><P>配置文件 <BR>注意:没有特别说明的就是用的缺省的configure没有任何参数。 <BR> 所有cfg文件都需要由执行属性。 </P><P>[root@info install]# cat /opt/install/php/php-4.0.1pl2/cfg <BR>./configure \ <BR> --enable-force-cgi-redirect \ <BR> --with-apache=../../apache/apache_1.3.12 \ <BR> --with-pdflib=/usr/local \ <BR> --with-zlib-dir=/usr \ <BR> --with-jpeg-dir=/usr/local \ <BR> --with-tiff-dir=/usr/local \ <BR> --with-mysql=/usr/local/mysql \ <BR> --without-gd \ <BR> --enable-magic-quotes \ <BR> --disable-debug \ <BR> --enable-ftp \ <BR> --with-dbase \ <BR> --with-zlib=/usr \ <BR> --with-imap=/usr/local/imap \ <BR> --with-ldap \ <BR> --with-java=/usr/local/jdk <BR># --with-servlet=/usr/local/jsdk \ <BR>(上面一行千万不要加,我开始加的,PHP可以编译通过不过无法河apache整合) </P><P>[root@info install]# cat lib/mm/mm-1.0.9/cfg <BR>./configure --disable-shared </P><P>[root@info install]# cat lib/openssl/openssl-0.9.4/cfg <BR>./config \ <BR> --prefix=/usr/local/openssl \ <BR> --openssldir=/usr/local/openssl \ <BR> -L`pwd`/../../rsa/rsaref2.0/local rsaref \ <BR> -fPIC </P><P>[root@info install]# cat apache/ApacheJServ-1.1.2/cfg <BR>#!/bin/sh <BR>./configure \ <BR> --prefix=/usr/local/apache/jserv \ <BR> --with-apache-src=../apache_1.3.12 \ <BR> --with-logdir=/usr/local/apache/log \ <BR> --enable-EAPI \ <BR> --with-jdk-home=/usr/local/jdk \ <BR> --with-JSDK=/usr/local/jsdk/lib/jsdk.jar \ <BR> --disable-debugging </P><P>[root@info install]# cat apache/mod/mod_ssl-2.6.0-1.3.12/cfg4 <BR>#!/bin/sh <BR>./configure \ <BR> --with-apache=../../apache_1.3.12 \ <BR> --with-ssl=/usr/local/openssl \ <BR> --with-rsa=../../../lib/rsa/rsaref2.0/local \ <BR> --with-mm=../../../lib/mm/mm-1.0.9 \ <BR> --prefix=/usr/local/apache \ <BR> --disable-rule=SSL_COMPAT \ <BR> --enable-rule=SSL_SDBM \ <BR> --enable-rule=SSL_EXPERIMENTAL \ <BR> --enable-rule=SSL_VENDOR \ <BR> --activate-module=src/modules/php4/libphp4.a \ <BR> --activate-module=src/modules/jserv/libjserv.a </P><P>编译安装: </P><P>步骤: </P><P># ln -s /usr/local/jdk1.2.2 /usr/local/jdk <BR># ln -s /usr/local/JSDK20 /usr/local/jsdk <BR># ln -s /usr/local/jswdk-1.0.1 /usr/local/jswdk <BR># ln -s /usr/local/jdk1.2.2/jre /usr/local/jre <BR># vi ~/.profile <BR> 添加 classpath 环境变量 </P><P>JDK_LIB=/usr/local/jdk/lib <BR>JSDK_LIB=/usr/local/jsdk/lib <BR>JSWDK_LIB=/usr/local/jswdk/lib </P><P>classpath=$JDK_LIB/rt.jar:$JDK_LIB/tools.jar:$JSDK_LIB/jsdk.jar:$JSWDK <BR>/lib/servlet.jar:$JSWDK/lib/jspengine.jar:$JSWDK_LIB/xml.jar <BR>CLASSPATH=$classpath </P><P>export classpath <BR>export CLASSPATH </P><P>PATH /usr/local/jdk/bin:$PATH </P><P>export PATH </P><P># . ~/.profile </P><P>注意:最好不要用系统安装的kafee,移除/usr/bin/java* /usr/bin/jar </P><P>附加应用: <BR>(在刚才展开的几个源码目录下面运行./cfg,或者./configure,然后编译安装) </P><P>01. openldap-1.2.8 <BR>02. imap-4.5 <BR>03. zlib-1.1.3 <BR>04. libwmf-0.1.17 <BR>05. freetype-1.3.1 <BR>06. pdflib-3.0 </P><P>SSL相关应用: <BR>(在刚才展开的几个源码目录下面运行./cfg,或者./configure,然后编译安装) </P><P>07. mm-1.0.9 <BR>08. rsaref20 <BR>09. openssl-0.9.4 </P><P>Apache+JServ+JSSI+PHP4: <BR>(所有动作均在各自源码目录下面) </P><P>10. 先在apache_1.3.12的源码目录下面以./configure --prefix=/usr/local/a <BR>pache 配置一下 <BR>11. 然后配置ApacheJServ-1.1.2 Make;Make Install; </P><P>12. php-4.0.1pl2 <BR> ./cfg;make;make install </P><P>13. mod_ssl-2.6.0-1.3.12.tar.gz <BR> ./cfg; </P><P>14. apache_1.3.12 <BR> make;make install; </P><P>15. 按照ApacheJSSI的说明修改/usr/local/apache/jserv/etc/jserv.conf,以及 <BR>拷贝ApacheJSSI.jar <BR> 到/usr/local/apache/jerv/libexec下面 </P><P>16. 按照ojsp的说明(在/usr/local/ojsp/index.htm)修改 <BR> /usr/local/apache/jserv/etc/jserv.conf <BR> 和 <BR> /usr/local/apache/jserv/etc/jserv.properties </P><P>17. 在 /usr/local/apache/conf/httpf.conf 中添加 <BR> Include /usr/local/apache/jserv/etc/jserv.conf </P><P>以下为我的jserv.conf 以及 jserv.properties,zone.properties <BR># cat jserv.conf <BR>###################################################################### <BR>######### <BR># Apache JServ Configuration File <BR> # <BR>###################################################################### <BR>######### </P><P># Note: this file should be appended or included into your httpd.conf </P><P><BR># Tell Apache on win32 to load the Apache JServ communication module <BR>#LoadModule jserv_module modules/ApacheModuleJServ.dll </P><P># Tell Apache on Unix to load the Apache JServ communication module <BR># For shared object builds only!!! <BR>#LoadModule jserv_module /usr/local/apache/jserv/libexec/mod_jserv.so </P><P><BR> </P><P># Whether Apache must start Apache JServ or not (On=Manual Off=Autosta <BR>rt) <BR># Syntax: ApJServManual [on/off] <BR># Default: "Off" <BR>ApJServManual off </P><P># Properties filename for Apache JServ in Automatic Mode. <BR># In manual mode this directive is ignored <BR># Syntax: ApJServProperties [filename] <BR># Default: "./conf/jserv.properties" <BR>ApJServProperties /usr/local/apache/jserv/etc/jserv.properties </P><P># Log file for this module operation relative to Apache root directory <BR>. <BR># Set the name of the trace/log file. To avoid possible confusion abo <BR>ut <BR># the location of this file, an absolute pathname is recommended. <BR># <BR># This log file is different than the log file that is in the <BR># jserv.properties file. This is the log file for the C portion of Apa <BR>che <BR># JServ. <BR># <BR># On Unix, this file must have write permissions by the owner of the J <BR>VM <BR># process. In other words, if you are running Apache JServ in manual m <BR>ode <BR># and Apache is running as user nobody, then the file must have its <BR># permissions set so that that user can write to it. <BR># Syntax: ApJServLogFile [filename] <BR># Default: "./logs/mod_jserv.log" <BR># Note: when set to "DISABLED", the log will be redirected to Apache e <BR>rror log <BR>ApJServLogFile /usr/local/apache/logs/mod_jserv.log </P><P># Log Level for this module <BR># Syntax: ApJServLogLevel [debug/info/notice/warn/error/crit/alert/eme <BR>rg] <BR># Default: info (unless compiled w/ JSERV_DEBUG, in which case it's <BR> debug) <BR>ApJServLogLevel notice </P><P># Protocol used by this host to connect to Apache JServ <BR># (see documentation for more details on available protocols) <BR># Syntax: ApJServDefaultProtocol [name] <BR># Default: "ajpv12" <BR>ApJServDefaultProtocol ajpv12 </P><P># Default host on which Apache JServ is running <BR># Syntax: ApJServDefaultHost [hostname] <BR># Default: "localhost" <BR>#ApJServDefaultHost java.apache.org <BR>#ApJServDefaultHost www.snc.siemens.com.cn </P><P># Default port that Apache JServ is listening to <BR># Syntax: ApJServDefaultPort [number] <BR># Default: protocol-dependant (for ajpv12 protocol this is "8007") <BR>ApJServDefaultPort 8007 </P><P># The amount of time to give to the JVM to start up as well <BR># as the amount of time to wait to ping the JVM to see if it <BR># is alive. Slow or heavily loaded machines might want to <BR># increase this value. <BR># Default: 10 seconds <BR># ApJServVMTimeout 10 </P><P># Passes parameter and value to specified protocol. <BR># Syntax: ApJServProtocolParameter [name] [parameter] [value] <BR># Default: NONE <BR># Note: Currently no protocols handle this. Introduced for future prot <BR>ocols. </P><P># Apache JServ secret key file relative to Apache root directory. <BR># Syntax: ApJServSecretKey [filename] <BR># Default: "./conf/jserv.secret.key" <BR># Warning: if authentication is DISABLED, everyone on this machine (no <BR>t just <BR># this module) may connect to your servlet engine and execute servlet </P><P># bypassing web server restrictions. See the documentation for more in <BR>formation <BR>#ApJServSecretKey /usr/local/apache/jserv/etc/jserv.secret.key <BR>ApJServSecretKey DISABLED </P><P># Mount point for Servlet zones <BR># (see documentation for more information on servlet zones) <BR># Syntax: ApJServMount [name] [jserv-url] <BR># Default: NONE <BR># Note: [name] is the name of the Apache URI path to mount jserv-url o <BR>n <BR># [jserv-url] is something like "protocol://host:port/zone" <BR># If protocol, host or port are not specified, the values from <BR># "ApJServDefaultProtocol", "ApJServDefaultHost" or "ApJServDefaultPo <BR>rt" <BR># will be used. <BR># If zone is not specified, the zone name will be the first subdirect <BR>ory of <BR># the called servlet. <BR># Example: "ApJServMount /servlets /myServlets" <BR># if user requests "http://host/servlets/TestServlet" <BR># the servlet "TestServlet" in zone "myServlets" on default host <BR># thru default protocol on defaul port will be requested <BR># Example: "ApJServMount /servlets ajpv12://localhost:8007" <BR># if user requests "http://host/servlets/myServlets/TestServlet" <BR># the servlet "TestServlet" in zone "myServlets" will be requested <BR># Example: "ApJServMount /servlets ajpv12://jserv.mydomain.com:15643/m <BR>yServlets" <BR># if user requests "http://host/servlets/TestServlet" the servlet <BR># "TestServlet" in zone "myServlets" on host "jserv.mydomain.com" usi <BR>ng <BR># "ajpv12" protocol on port "15643" will be executed <BR>ApJServMount /servlets /root <BR>ApJServMount /servlet /root </P><P># Whether inherits base host mount points or not <BR># Syntax: ApJServMountCopy [on/off] <BR># Default: "On" <BR># Note: This directive is meaninful only when virtual hosts are being <BR>used <BR>ApJServMountCopy on </P><P># Executes a servlet passing filename with proper extension in PATH_TR <BR>ANSLATED <BR># property of servlet request. <BR># Syntax: ApJServAction [extension] [servlet-uri] <BR># Defaults: NONE <BR># Notes: This is used for external tools. <BR>#ApJServAction .jsp /servlets/org.gjt.jsp.JSPServlet <BR>#ApJServAction .gsp /servlets/com.bitmechanic.gsp.GspServlet <BR>#ApJServAction .jhtml /servlets/org.apache.servlet.ssi.SSI <BR>#ApJServAction .xml /servlets/org.apache.cocoon.Cocoon <BR>#ApJServAction .jsp /alph/gnujsp <BR>ApJServAction .jsp /servlets/oracle.jsp.JspServlet <BR>ApJServAction .jhtml /servlets/org.apache.servlet.ssi.SSI </P><P># Enable the Apache JServ status handler with the URL of <BR># "http://servername/jserv/" (note the trailing slash!) <BR># Change the "deny" directive to restrict access to this status page. </P><P> <BR> SetHandler jserv-status </P><P> order deny,allow <BR> deny from all <BR> allow from 127.0.0.1 <BR> </P><P>############################## W A R N I N G ######################### <BR>######### <BR># Remember to disable or otherwise protect the execution of the Apache <BR> JServ # <BR># Status Handler (see right above) on a production environment since t <BR>his may # <BR># give untrusted users the ability to obtain restricted information on <BR> your # <BR># servlets and their initialization arguments such as JDBC passwords a <BR>nd # <BR># other important information. The Apache JServ Status Handler should <BR>be # <BR># accessible only by system administrators. <BR> # <BR>###################################################################### <BR>######### </P><P> </P><P># cat jserv.properties <BR>###################################################################### <BR>######### <BR># Apache JServ Configuration File <BR> # <BR>###################################################################### <BR>######### </P><P>################################ W A R N I N G ####################### <BR>######### <BR># Unlike normal Java properties, JServ configurations have some import <BR>ant <BR># extentions: <BR># <BR># 1) commas are used as token separators <BR># 2) multiple definitions of the same key are concatenated in a <BR># comma-separated list. <BR>###################################################################### <BR>######### </P><P># <BR># Execution parameters <BR>####################### </P><P># The Java Virtual Machine interpreter. <BR># Syntax: wrapper.bin=[filename] (String) <BR># Note: specify a full path if the interpreter is not visible in your <BR>path. <BR>wrapper.bin=/usr/local/jdk/bin/java </P><P># Arguments passed to Java interpreter (optional) <BR># Syntax: wrapper.bin.parameters=[parameters] (String) <BR># Default: NONE </P><P># Apache JServ entry point class (should not be changed) <BR># Syntax: wrapper.class=[classname] (String) <BR># Default: "org.apache.jserv.JServ" </P><P># Arguments passed to main class after the properties filename (not us <BR>ed) <BR># Syntax: wrapper.class.parameters=[parameters] (String) <BR># Default: NONE <BR># Note: currently not used </P><P># PATH environment value passed to the JVM <BR># Syntax: wrapper.path=[path] (String) <BR># Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems <BR># "c:\(windows-dir);c:\(windows-system-dir)" for Win32 system <BR>s <BR># Notes: if more than one line is supplied these will be concatenated <BR>using <BR># ":" or ";" (depending wether Unix or Win32) characters <BR># Under Win32 (windows-dir) and (windows-system-dir) will be <BR># automatically evaluated to match your system requirements <BR>wrapper.path=/usr/bin:/usr/local/bin:/usr/local/jdk/bin:/usr/local/jsd <BR>k/bin:/usr/local/jswdk/bin:/usr/local/jre/bin </P><P><BR># CLASSPATH environment value passed to the JVM <BR># Syntax: wrapper.classpath=[path] (String) <BR># Default: NONE (Sun's JDK/JRE already have a default classpath) <BR># Note: if more than one line is supplied these will be concatenated u <BR>sing <BR># ":" or ";" (depending wether Unix or Win32) characters. JVM mu <BR>st be <BR># able to find JSDK and JServ classes and any utility classes us <BR>ed by <BR># your servlets. <BR># Note: the classes you want to be automatically reloaded upon modific <BR>ation <BR># MUST NOT be in this classpath or the classpath of the shell <BR># you start the Apache from. <BR># <BR>wrapper.classpath=/usr/local/apache/jserv/libexec/ApacheJServ.jar <BR>wrapper.classpath=/usr/local/jsdk/lib/jsdk.jar </P><P>wrapper.classpath=/usr/local/jre/lib/rt.jar <BR>wrapper.classpath=/usr/local/jdk/lib/tools.jar <BR>wrapper.classpath=/usr/local/ojsp/lib/ojsp.jar <BR>wrapper.classpath=/usr/local/jswdk/lib/servlet.jar <BR>wrapper.classpath=/usr/local/ojsp/lib/xmlparsev2.jar <BR>wrapper.classpath=/usr/local/ojsp/lib/translator.zip </P><P># An environment name with value passed to the JVM <BR># Syntax: wrapper.env=[name]=[value] (String) <BR># Default: NONE on Unix Systems <BR># SystemDrive and SystemRoot with appropriate values on Win32 <BR> systems </P><P># An environment name with value copied from caller to Java Virtual Ma <BR>chine <BR># Syntax: wrapper.env.copy=[name] (String) <BR># Default: NONE </P><P># Copies all environment from caller to Java Virtual Machine <BR># Syntax: wrapper.env.copyall=[true/false] (boolean) <BR># Default: false </P><P># Protocol used for signal handling <BR># Syntax: wrapper.protocol=[name] (String) <BR># Default: ajpv12 </P><P># <BR># General parameters <BR>###################### </P><P># Set the default IP address or hostname Apache JServ binds (or listen <BR>s) to. <BR># <BR># If you have a machine with multiple IP addresses, this address <BR># will be the one used. If you set the value to localhost, it <BR># will be resolved to the IP address configured for the locahost <BR># on your system (generally this is 127.0.0.1). This feature is so <BR># that one can have multiple instances of Apache JServ listening on <BR># the same port number, but different IP addresses on the same machine <BR>. <BR># Use bindaddress=* only if you know exactly what you are doing here, </P><P># as it could let JServ wide open to the internet. <BR># You must understand that JServ has to answer only to Apache, and sho <BR>uld not <BR># be reachable by nobody but mod_jserv. So localhost is usually a <BR># good option. The second best choice would be an internal network add <BR>ress <BR># (protected by a firewall) if JServ is running on another machine tha <BR>n Apache. <BR># Ask your network admin. <BR># "*" _may_ be used on boxes where some of the clients get connected u <BR>sing <BR># "localhost"and others using another IP addr. <BR># <BR># Syntax: bindaddress=[ipaddress] or [localhost] or [*] <BR># Default: localhost <BR># bindaddress=i140.231.59.250 </P><P># Set the port Apache JServ listens to. <BR># Syntax: port=[1024,65535] (int) <BR># Default: 8007 <BR>port=8007 </P><P># <BR># Servlet Zones parameters <BR>########################### </P><P># List of servlet zones Apache JServ manages <BR># Syntax: zones=[servlet zone],[servlet zone]... (Comma separated list <BR> of String) <BR># Default: NONE <BR>zones=root </P><P># Configuration file for each servlet zone (one per servlet zone) <BR># Syntax: [servlet zone name as on the zones list].properties=[full pa <BR>th to configFile] (String) <BR># Default: NONE <BR># Note: if the file could not be opened, try using absolute paths. <BR>root.properties=/usr/local/apache/jserv/etc/zone.properties </P><P># <BR># Thread Pool parameters <BR>######################### </P><P># Enables or disables the use of the thread pool. <BR># Syntax: pool=[true/false] (boolean) <BR># Default: false <BR># WARNING: the pool has not been extensively tested and may generate d <BR>eadlocks. <BR># For this reason, we advise against using this code in production env <BR>ironments. <BR>pool=false </P><P># Indicates the number of idle threads that the pool may contain. <BR># Syntax: pool.capacity=(int)>0 <BR># Default: 10 <BR># NOTE: depending on your system load, this number should be low for c <BR>ontantly <BR># loaded servers and should be increased depending on load bursts. <BR>pool.capacity=10 </P><P># Indicates the pool controller that should be used to control the <BR># level of the recycled threads. <BR># Syntax: pool.controller=[full class of controller] (String) <BR># Default: org.apache.java.recycle.DefaultController <BR># NOTE: it is safe to leave this unchanged unless special recycle beha <BR>vior <BR># is needed. Look at the "org.apache.java.recycle" package javadocs fo <BR>r more <BR># info on other pool controllers and their behavior. <BR>pool.controller=org.apache.java.recycle.DefaultController </P><P># <BR># Security parameters <BR>##################### </P><P># Enable/disable the execution of org.apache.jserv.JServ as a servlet. </P><P># Syntax: security.selfservlet=[true/false] (boolean) <BR># Default: false <BR>security.selfservlet=true </P><P># Set the maximum number of socket connections Apache JServ may handle </P><P># simultaneously. Make sure your operating environment has enough file </P><P># descriptors to allow this number. <BR># Syntax: security.maxConnections=(int)>1 <BR># Default: 50 <BR>security.maxConnections=50 </P><P># Backlog setting for very fine performance tunning of JServ. <BR># Unless you are familiar to sockets leave this value commented out. <BR># security.backlog=5 </P><P># List of IP addresses allowed to connect to Apache JServ. This is a f <BR>irst <BR># security filtering to reject possibly unsecure connections and avoid <BR> the <BR># overhead of connection authentication. <BR># <BR># (please don't use the following one unless you know what you are doi <BR>ng : <BR># security.allowedAddresses=DISABLED <BR># allows connections on JServ'port from entire internet.) <BR># You do need only to allow YOUR Apache to talk to JServ. <BR># <BR># <BR># Default: 127.0.0.1 <BR># Syntax: security.allowedAddresses=[IP address],[IP Address]... (Comm <BR>a separated list of IP addresses) <BR>#security.allowedAddresses=127.0.0.1 </P><P># Enable/disable connection authentication. <BR># NOTE: unauthenticated connections are a little faster since authenti <BR>cation <BR># handshake is not performed at connection creation. <BR># Syntax: security.authentication=[true,false] (boolean) <BR># Default: true <BR>security.authentication=false </P><P># Authentication secret key. <BR># The secret key is passed as a file that must be kept secure and must </P><P># be exactly the same of those used by clients to authenticate themsel <BR>ves. <BR># Syntax: security.secretKey=[secret key path and filename] (String) <BR># Default: NONE <BR># Note: if the file could not be opened, try using absolute paths. <BR>#security.secretKey=/usr/local/apache/jserv/etc/jserv.secret.key </P><P># Length of the randomly generated challenge string (in bytes) used to </P><P># authenticate connections. 5 is the lowest possible choice to force a <BR> safe <BR># level of security and reduce connection creation overhead. <BR># Syntax: security.challengeSize=(int)>5 <BR># Default: 5 <BR>#security.challengeSize=5 </P><P># <BR># Logging parameters <BR>#################### </P><P># Enable/disable Apache JServ logging. <BR># Syntax: log=[true,false] (boolean) <BR># Default: true <BR>log=true </P><P># Set the name of the trace/log file. To avoid possible confusion abo <BR>ut <BR># the location of this file, an absolute pathname is recommended. <BR># <BR># On Unix, this file must have write permissions by the owner of the J <BR>VM <BR># process. In other words, if you are running Apache JServ in manual m <BR>ode <BR># and Apache is running as user nobody, then the file must have its <BR># permissions set so that that user can write to it. <BR># Syntax: log.file=[log path and filename] (String) <BR># Default: NONE <BR># Note: if the file could not be opened, try using absolute paths. <BR>log.file=/usr/local/apache/log/jserv.log </P><P># Enable the timestamp before the log message <BR># Syntax: log.timestamp=[true,false] (boolean) <BR># Default: true <BR>log.timestamp=true </P><P># Use the given string as a data format <BR># (see java.text.SimpleDateFormat for the list of options) <BR># Syntax: log.dateFormat=(String) <BR># Default: [dd/MM/yyyy HH:mm:ss:SSS zz] <BR>log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz] </P><P><BR># WARNING: Default values are lousy, you probably want to tweak them a <BR>nd <BR># report the results back to the development team. </P><P># Syntax: log.queue.maxage = [milliseconds] <BR># Default: 5000 <BR>log.queue.maxage = 5000 </P><P># Syntax: log.queue.maxsize = [integer] <BR># Default: 1000 <BR>log.queue.maxsize = 1000 <BR># Enable the timestamp before the log message <BR># Syntax: log.timestamp=[true,false] (boolean) <BR># Default: true <BR>log.timestamp=true </P><P># Use the given string as a data format <BR># (see java.text.SimpleDateFormat for the list of options) <BR># Syntax: log.dateFormat=(String) <BR># Default: [dd/MM/yyyy HH:mm:ss:SSS zz] <BR>log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz] </P><P><BR># Syntax: log.queue.maxage = [milliseconds] <BR># Default: 5000 <BR>log.queue.maxage = 5000 </P><P># Syntax: log.queue.maxsize = [integer] <BR># Default: 1000 <BR>log.queue.maxsize = 1000 </P><P><BR># Enable/disable logging the channel name <BR># Default: false <BR># log.channel=false </P><P># Enable/disable channels, each logging different actions. <BR># Syntax: log.channel.[channel name]=[true,false] (boolean) <BR># Default: false </P><P># Info channel - quite a lot of informational messages <BR># hopefully you don't need them under normal circumstances <BR># log.channel.info=true </P><P># Servlets exception, i.e. exception caught during <BR># servlet.service() processing are monitored here <BR># you probably want to have this one switched on <BR>log.channel.servletException=true </P><P># JServ exception, caught internally in jserv <BR># we suggest to leave it on <BR>log.channel.jservException=true </P><P># Warning channel, it catches all the important <BR># messages that don't cause JServ to stop, leave it on <BR>log.channel.warning=true </P><P># Servlet log <BR># All messages logged by servlets. Probably you want <BR># this one to be switched on. <BR>log.channel.servletLog=true </P><P># Critical errors <BR># Messages produced by critical events causing jserv to stop <BR>log.channel.critical=true </P><P># Debug channel <BR># Only for internal debugging purposes <BR># log.channel.debug=true </P><P># cat zone.properties <BR>###################################################################### <BR>######### <BR># Servlet Zone Configuration File <BR> # <BR>###################################################################### <BR>######### </P><P><BR># List of Repositories <BR>####################### </P><P># The list of servlet repositories controlled by this servlet zone <BR># Syntax: repositories=[repository],[repository]... <BR># Default: NONE <BR># Note: The classes you want to be reloaded upon modification should b <BR>e put <BR># here. </P><P>repositories=/usr/local/apache/jserv/servlets </P><P>repositories=/usr/local/apache/jserv/libexec/ApacheJServ.jar <BR>repositories=/usr/local/apache/jserv/libexec/ApacheJSSI.jar </P><P># Classloader parameters <BR>######################### </P><P># Enable servlet class autoreloading. <BR># Syntax: autoreload.classes=[true,false] (boolean) <BR># Default: true <BR>autoreload.classes=true </P><P># Enable servlet resourced autoreloading (properties and other loaded <BR>resources) <BR># Syntax: autoreload.file=[true,false] (boolean) <BR># Default: true <BR>autoreload.file=true </P><P># Set the number of millisecond to wait before giving up on initializi <BR>ng a servlet. <BR># (a timeout of zero means no timeout) <BR># Syntax: init.timeout=(long)>0 <BR># Default: 10000 (10 secs) <BR>init.timeout=10000 </P><P># Set the number of millisecond to wait before giving up on destroying <BR> a servlet. <BR># (a timeout of zero means no timeout) <BR># Syntax: destroy.timeout=(long)>0 <BR># Default: 10000 (10 secs) <BR>destroy.timeout=10000 </P><P># Session Cookie Parameters <BR>############################ </P><P># Syntax: session.useCookies=[true,false] (boolean) <BR># Default: true <BR>session.useCookies=true </P><P><BR># Set the number of millisecond to wait before invalidating an unused <BR>session. <BR># Syntax: session.timeout=(long)>0 <BR># Default: 1800000 (30 mins) <BR>session.timeout=1800000 </P><P># Set how frequently (milliseconds) to check for timed-out sessions. <BR># Syntax: session.checkFrequency=(long)>0 <BR># Default: 30000 (30 secs) <BR>session.checkFrequency=30000 </P><P># Set the domain= header that gets sent with the cookie. This is <BR># entirely optional <BR># Default: null <BR>#session.topleveldomain=.foo.com </P><P># SingleThreadModel Servlets parameters <BR>######################################## </P><P># Set the initial capacity of the STM servlets pool. <BR># Syntax: singleThreadModelServlet.initialCapacity=(int)>1 <BR># Default: 5 <BR>singleThreadModelServlet.initialCapacity=5 </P><P># Set the number of servlet instances should be added to the pool if f <BR>ound empty. <BR># Syntax: singleThreadModelServlet.incrementCapacity=(int)>1 <BR># Default: 5 <BR>singleThreadModelServlet.incrementCapacity=5 </P><P># Set the maximum capacity of the STM pool <BR># Syntax: singleThreadModelServlet.maximumCapacity=(int)>1 <BR># Default: 10 <BR>singleThreadModelServlet.maximumCapacity=10 </P><P>################### S E R V L E T P A R A M E T E R S ############# <BR>######### </P><P># Oracle jsr Servlet initArgs <BR>################################# <BR>servlet.oracle.jsp.JspServlet.initArgs=developer_mode=false <BR>servlet.oracle.jsp.JspServlet.initArgs=translate_params=true <BR>servlet.oracle.jsp.JspServlet.initArgs=page_repository_root=/var/apach <BR>e/jsp <BR>servlet.oracle.jsp.JspServlet.initArgs=classpath=/usr/local/jdk/lib/dt <BR>.jar:/usr/local/jdk/lib/tools.jar:/usr/local/jsdk/lib/jsdk.jar:/usr/lo <BR>cal/jswdk/lib/servlet.jar <BR>servlet.oracle.jsp.JspServlet.initArgs=scratchdir=/var/apache/jsp <BR>servlet.oracle.jsp.JspServlet.initArgs=compiler=builtin-javac -classpa <BR>th %classpath%:%scratchdir%:/usr <BR>servlet.oracle.jsp.JspServlet.initArgs=jserv=true </P><P>scratchdir 的模式我是 777.没有试验其他的值 </P><P>至此应该全部安装完毕,/usr/local/apache/bin/apachectl startssl 应该可以 <BR>正常运行 <BR>接着可以测试servlet和jsp应用 </P><P>另外:注意在url里面最好不要有"~"符号,否则可能有java编译问题 </P><P>如果有什么问题可以互相探讨。 </P>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -