My Apache HTTPD and Tomcat installation cosists for following version:
1. RedHat 8.0
2. Apache HTTPD 2.0.47 (from source)
3. Tomcat 4.1.24 (binary)
4. JK2 Connector (jakarta-tomcat-connector-4.1.24-src)
I followed all the setup instructions to install JK2 connector.
I am running HTTPD and Tomcat as same user (not as root ofcourse) [point to note here
is that HTTPD is started as root but later switched to different user defined in
httpd.conf file]
A part of workers2.properties looks like:
--
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=/usr/local/apache/httpd/logs/shm.file
size=100
debug=0
disabled=0
-
I start HTTPD first, wait, and then Tomcat. Tomcat (MOD_JK2) reports errors as seen in
the following log. I could the reason, why permission denied, since HTTPD starts up
as root first and then switch to other user, in meantime shm.file gets created as
root and so is not accessible by tomcat (which is started as other user and not root).
INFO: Starting Coyote HTTP/1.1 on port 8080
[Fri Jul 18 15:16:27 2003] ( info ) [jk_config_file.c (320)] cfg.update() Updating
config /usr/local/apache/httpd/conf/workers2.properties 0 1058551783
[Fri Jul 18 15:16:27 2003] ( info ) [jk_config_file.c (331)] config.setConfig():
Reading properties /usr/local/apache/httpd/conf/workers2.properties 7
[Fri Jul 18 15:16:27 2003] ( info ) [jk_logger_file.c (184)] Initializing log file
stderr
[Fri Jul 18 15:16:27 2003] (error ) [jk_shm.c (150)] shm.create(): error opening file
/usr/local/apache/httpd/logs/shm.file 13 Permission denied
[Fri Jul 18 15:16:27 2003] (error ) [jk_shm.c (358)] shm.create(): error mmapping
/usr/local/apache/httpd/logs/shm.file
[Fri Jul 18 15:16:27 2003] ( info ) [jk_workerEnv.c (403)] workerEnv.init() ok
/usr/local/apache/httpd/conf/workers2.properties
Jul 18, 2003 3:16:27 PM org.apache.jk.apr.AprImpl init
INFO: JK2: Initialized apr
Jul 18, 2003 3:16:27 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Jul 18, 2003 3:16:27 PM org.apache.jk.common.ChannelUn init
INFO: JK: listening on unix socket: /usr/local/apache/jakarta/tomcat/work/jk2.socket
[Fri Jul 18 15:16:27 2003] ( info ) [jk_jni_aprImpl.c (472)] jkInvoke() invoke
593e1450
Jul 18, 2003 3:16:27 PM org.apache.jk.common.ChannelJni init
INFO: JK2: listening on channel.jni:jni
Jul 18, 2003 3:16:27 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=11/174
config=/usr/local/apache/jakarta/tomcat/conf/jk2.properties
Consider other senario, assuming there is no such file like shm.file (since I
started HTTPD before, so I shut it down and delete the shm.file), start Tomcat first
it runs fine and does not log any error (see the log), I assume here that this is not
a serious problem.
Comments !!!
INFO: Initializing Coyote HTTP/1.1 on port 8080
GlobalResourcesLifecycleListener: Naming exception processing jdbc:
org.apache.naming.NamingContext:[EMAIL PROTECTED] javax.naming.NamingException: Could
not create resource factory,
ClassNotFoundException:org.apache.commons.dbcp.BasicDataSourceFactory
Starting service Tomcat-Standalone
Apache Tomcat/4.1.24-LE-jdk14
Jul 18, 2003 3:31:20 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8080
[Fri Jul 18 15:31:20 2003] ( info ) [jk_config_file.c (320)] cfg.update() Updating
config /usr/local/apache/httpd/conf/workers2.properties -2130427774 1058551783
[Fri Jul 18 15:31:20 2003] ( info ) [jk_config_file.c (331)] config.setConfig():
Reading properties /usr/local/apache/httpd/conf/workers2.properties 7
[Fri Jul 18 15:31:20 2003] ( info ) [jk_logger_file.c (184)] Initializing log file
stderr
[Fri Jul 18 15:31:20 2003] ( info ) [jk_workerEnv.c (403)] workerEnv.init() ok
/usr/local/apache/httpd/conf/workers2.properties
Jul 18, 2003 3:31:20 PM org.apache.jk.apr.AprImpl init
INFO: JK2: Initialized apr
Jul 18, 2003 3:31:20 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Jul 18, 2003 3:31:20 PM org.apache.jk.common.ChannelUn init
INFO: JK: listening on unix socket: /usr/local/apache/jakarta/tomcat/work/jk2.socket
[Fri Jul 18 15:31:20 2003] ( info ) [jk_jni_aprImpl.c (472)] jkInvoke() invoke
5990f450
Jul 18, 2003 3:31:20 PM org.apache.jk.common.ChannelJni init
INFO: JK2: listening on channel.jni:jni
Jul 18, 2003 3:31:20 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=2/209
config=/usr/local/apache/jakarta/tomcat/conf/jk2.properties