I've built 2.0.44 on Mac OS X with mod_jk2 and and running Tomcat 4.1.8 and 4.1.24. If the apache directory patch is set up correctly apache should look for it conf directory, based on how you defined --prefix in configure. It should look something like this:
"./configure" \ "--prefix= /Library/Apache2" \ "--with-apxs=/Library/Apache2/bin/apxs" \ "--with-java-home=/Library/Java/Home" \ "--with-java-platform=2" \ "--enable-jni" \ "--enable-so" \ "--enable-proxy" \ "--enable-imap" \ "--enable-ssl" \ "--enable-modules=most" \ "--enable-mods-shared=all" \ "--enable-java=/System/Library/Frameworks/JavaVM.framework/Versions/ 1.4.1"
agreed .... that's what's got me a bit confused. prefix, and all other template settings are invoked in my configure with "-enable-layout-=Darwin" ...
./configure \ --enable-layout=Darwin --with-port=80 --with-mpm=prefork \ --enable-mods-shared=all --enable-so \ --sysconfdir=/etc/apache2 \ --enable-dav --enable-dav-fs \ --enable-ssl --with-ssl \ --enable-suexec --with-suexec-caller=www \ --with-z \ --enable-proxy \ --enable-proxy-connect \ --enable-proxy-ftp \ --enable-proxy-http \ --enable-logio \ --enable-authn-dbm --enable-authz-dbm
which, if you look in my original pst, includes:
prefix: /usr exec_prefix: ${prefix} bindir: ${exec_prefix}/bin sbindir: ${exec_prefix}/sbin libdir: ${exec_prefix}/lib libexecdir: ${exec_prefix}/libexec+ mandir: ${prefix}/share/man datadir: /Library/WebServer sysconfdir: /etc+
Then the workers2.properties file should be found in the /Library/Apache2/conf directory and apache should find it.
So that's my point ..... its grapping the ${serverroot} from apache's prefix=/usr .... but IGNORING where the sysconf files ACTUALLY are ... i.e., in /etc/apache2
does you jk2.properties file look like? See mine below:
mine is very simple:
handler.list=apr,channelSocket,request shm.file=/usr/local/tomcat/work/jk2.shm
your comments have comfirmed i how it is behaving, but, again, it SHOULD find it in /etc/apache2, no?
thx,
blakers
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED ## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
serverRoot=/Library/Apache2 # Set the desired handler list handler.list=apr,request,container,channelJni # # Override the default port for the socketChannel # channelSocket.port=8019 # Default: # channelUnix.file=${jkHome}/work/jk2.socket # Just to check if the the config is working # shm.file=${jkHome}/work/jk2.shm
# In order to enable jni use any channelJni directive channelJni.disabled = 0 # And one of the following directives:
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself # This will enable the starting of the Tomcat from mod_jk2 apr.jniModeSo=inprocess
Regards,
Tony
On Saturday, Mar 29, 2003, at 08:18 Europe/Berlin, R Blake wrote:
hi all,
i've gotten mod_jk2/2.0.3-dev, tomcat 4.1.24 LE, and Apache/2.1.0 built and playing nicely together on MacOSX 10.2.4. html, jsp & servlets all behaving exactly as they should!
just fyi, my Apache 'server-info" reports:
Apache/2.1.0-dev (Unix) mod_perl/1.99_08 Perl/v5.8.0 DAV/2 mod_jk2/2.0.3-dev PHP/4.3.2-RC
now, to my problem .....
everything builds fine, and I've set up my config/properties files correctly, but on "apachectl start", my /var/log/apache2_error.log is showing:
[error] config.update(): Can't find config file /usr/conf/workers2.properties
in order to make this work, I have to "kludge" a bit by:
mkdir /usr/conf ln -s /etc/apache2/workers2.properties /usr/conf/workers2.properties
where /etc/apache2 is my httpd.conf directory .... and where mod_jk SHOULD be looking for workers2.properties
now, I know the REASON this is happening ..... mod_jk2's code defines:
# define JK_WORKER_FILE_DEF ("${serverRoot}/conf/workers2.properties") in several places, and an apxs build of mod_jk2 is grabbing "prefix: /usr" for the ServerRoot, because I use the Darwin/MacOS (config.layout) template when building apache2:
# Darwin/Mac OS Layout u <Layout Darwin? prefix: /usr exec_prefix: ${prefix} bindir: ${exec_prefix}/bin sbindir: ${exec_prefix}/sbin libdir: ${exec_prefix}/lib libexecdir: ${exec_prefix}/libexec+ mandir: ${prefix}/share/man datadir: /Library/WebServer sysconfdir: /etc+ installbuilddir: ${prefix}/share/httpd/build errordir: ${prefix}/share/httpd/error iconsdir: ${prefix}/share/httpd/icons htdocsdir: ${datadir}/Documents manualdir: /Library/WebServer/Documents/docs/apache2 cgidir: ${datadir}/CGI-Executables includedir: ${prefix}/include+ localstatedir: /var runtimedir: ${localstatedir}/run logfiledir: ${localstatedir}/log+ proxycachedir: ${runtimedir}/proxy </Layout>
its seems to be MISSING/IGNORING the "sysconfdir: /etc+" .....
MY QUESTION IS:
where would I set the config file location default so that mod_jk2 picks-up/finds workers2.properties in "/etc/apache2" rather than defaulting to /usr/conf"?
thanks,
blakers
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
