Hello, Take a look at a little How-To I wrote about this time last year at:- http://users.aber.ac.uk/aff9/tomcat
I also have binary links listed on that page. Hope that helps, Adam. On Mon, 2002-03-18 at 12:13, Rosario Turco wrote: > > Telesoft, Naples. > > Hi. > > Mod_jk.so is a necessary library that allows the interation beetween > Apache and Tomcat to use Servlets and JSPs technology, but i have seen > that in the URLs' Open Source there aren't Binary Distribution of > mod_jk.so for different platforms as SUN Solaris, Tru64 Unix and so. > > Moreover, the building of mod_jk.so is very difficultous: if you don't > use a right process (directive, position, options) you always obtain an > error in linking or in start of Apache or in test of Apache with the > command: apachectl configtest. > > Ricoursive error are: > > a. compilation error or linking error > > Syntax error on line 202 of /usr/local/apache/conf/httpd.conf: > Cannot load /usr/local/apache/libexec/mod_jk.so into server: ld.so.1: /usr/local > /apache/bin/httpd: fatal: relocation error: file >/usr/local/apache/libexec/mod_jk.so: > symbol fdatasync: referenced symbol not found > /usr/local/apache/bin/apachectl start: httpd could not be started > > gcc: -lposix4: linker input file unused since linking not done > > This error has obtained if you haven't include the right gcc include path. > Remember that you must include also JDK include path! > > b. errors on start of Apache > > example: > > Syntax error on line 275 of /usr/local/apache/conf/httpd.conf: > Can't find the workers file specified > /usr/local/apache/bin/apachectl start: httpd could not be started > > This error has obtained if you haven't configuarete workers.properties > in $APACHE_HOME/conf > > The errore of type a. are dependent by position of directive. > I have also seen that the position of directive of compilation > is critical, especially -DSOLARIS and -l posix4. > > Now I show you how do it, because i have done it in Telesoft (Naples, Italy) > on Sun Solaris 2.6 platform. > > I suppose that you just have installed Apache, Tomcat, and JDK. > My configuration is: Apache 1.3.14, Tomcat 4.0, JDK 1.4 > > > 1. You must verify that your Apache has got DOE's support > with command: httpd -l. You must see mod_xxx is present. > > 2. You must install a Perl distribution 5.0 or higher > I have installed nsperl (dynamic perl) > > 3. You must install gcc compiler > > 4. You must set corretly PATH, CLASSPATH, > CATALINA_HOME, TOMCAT_HOME, JAVA_HOME > > In PATH there are: > path of JDK bin > path of gcc e cpp installed > path of perl bin installed > > In CLASSPATH > path of library di JDK (.JAR) > > In JAVA_HOME > path of base JDK directory > > In CATALINA_HOME (so TOMCAT_HOME) > path of base tomcat directory > > 5. You must change script apxs in $APACHE_HOME/bin > > > You must insert nsperl before call apxs > > From: > #!opt/local/bin/perl > To: > #!/usr/local/perl/nsPerl5.005_03/bin/nsperl > > because i have installed nsperl in /usr/local > > > You must change the directive of apxs: > > From: > require xxxx > > To: > require 5.005_03 (it's obtained with: nsperl -v) > > From: > my $CFG_LD_SHLIB = ld; > my $CFG_LDFLAGS_SHLIB = -G; > > To: > my $CFG_LD_SHLIB = q(ld); > my $CFG_LDFLAGS_SHLIB = q(-G); > my $CFG_PREFIX = '/usr/local/apache'; > my $CFG_SBINDIR = '/usr/local/apache/bin'; > my $CFG_CFLAGS = ''; > my $CFG_LIBS_SHLIB = ''; > my $CFG_LIBEXECDIR = '/usr/local/apache/libexec'; > my $CFG_SYSCONFDIR = '/usr/local/apache/conf'; > > 5. You must install a source distribution of tomcat. > > In $CATALINA_HOME/src/native/apache1.3 there ar > mod_jk.c and Makefile.x > > In $CATALINA_HOME/src/native/jk there are many > c sources and file header (.h) > > I have prefered to create a my simple script build.sh, > for a direct control, in $CATALINA_HOME/src/native/apache1.3 > with this instruction: > > nsperl $APACHE_HOME/bin/apxs -o mod_jk.so -c -I /usr/java/include \ > -I /usr/java/include/solaris -I ../jk \ > -I /opt/GCC281/lib/gcc-lib/sparc-sun-solaris2.6/2.8.1/include \ > -DSOLARIS -l posix4 *.c ../jk/*.c > > Note that i also have introduct -I <path of gcc include > > > For simplicity i have copied *.o in ../jk/ and ricompiled, > because obj must stay in ../jk for linking. > > I have obtained mod_jk.so without warnings, errors and i > have copied in $APACHE_HOME/libexec. > > 6. Now you must create in $APACHE_HOME/conf > workers.proprieties with this instructions > > # > # workers.propertiers > # > > # In Unix, we use forward slashes: > ps=/ > > # list the workers by name > worker.list=tomcat > > # -------------------------- > # First tomcat server > # -------------------------- > worker.tomcat.port=8009 > worker.tomcat.host=localhost > worker.tomcat.type=ajp13 > > # > #worker.tomcat.cachesize=ajp13 > # > # > worker.tomcat.lbfactor=100 > > # > # Load Balancer worker > # > # worker.loadbalancer.type=lb > # worker.loadbalancer.balanced_workers=tomcat1,tomcat2 > # END > > Then you must change httpd.conf with this instructions: > > LoadModule jk_module libexec/mod_jk.so > > AddModule mod_jk.c > > > # > # Configure mod_jk > # > JkWorkersFile /usr/local/apache/conf/workers.properties > JkLogFile /usr/local/apache/logs/mod_jk.log > JkLogLevel info > > Now you must do apachectl stop and apachectl start. > If you apache is up, mod_jk is right! > > With Apache and two-three tomcat-istances is possible to do > 'load balancing'. We also must install Cocoon for its XML > support. > > > To thank "Open Source" for its work and research, my company offers > mod_jk.so in a tar distribution (mod_jk_solaris26.tar.gz) if will > receive a simple e-mail to: > > [EMAIL PROTECTED] or > [EMAIL PROTECTED] > > Best Regards. > > > > > -- ------------------------------------------------------------------------ | Adam Fowler | | Third year undergraduate | TomcatBook Project | | Computer Science | Author and Administrator | | University of Wales, Aberystwyth | http://tomcatbook.sourceforge.net| | Web: http://users.aber.ac.uk/aff9 | [EMAIL PROTECTED] | ------------------------------------------------------------------------ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>