apache tomcat mod_jk

Apache, Lighttpd, nginx, Cherokee
Post Reply
francula
Posts: 6
Joined: 2006-08-02 00:41
 

apache tomcat mod_jk

Post by francula »

Hallo ich habe Suse, Apache, Tomcat und mod_jk installiert. Allerdings funktioniert die weiterleitung von apache an tomcat nicht. Ich bekomme leider auch keinen Log-Eintrag. Wie kann ich denn jetzt rausfinden woran es liegt?
Danke francula
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: apache tomcat mod_jk

Post by sledge0303 »

mod_jk aus Paketinstallation oder selbst durch den Compiler gejagt?
Bei letzterem muss das Modul natürlich auch vorher geladen werden durch den Apachen...ist es geladen, eingebunden und konfiguriert, dann werden auch Logeinträge vorgenommen!

Das könnte so aussehen in der httpd.conf

Code: Select all

LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>
JkWorkersFile /path/to/your/worker.file
JkLogFile /path/to/logfiles/mod_jk.log
JkLogLevel warn
JkMount /*.jsp localhost
JkMount /servlet/* localhost
JkMount /umin/* localhost
JkMount /examples/* localhost
JkMount /servlet/webdav.contacts* localhost
</IfModule>
worker.file.example:

Code: Select all

worker.list=localhost
worker.localhost.port=8009
worker.localhost.host=localhost
worker.localhost.type=ajp13
worker.localhost.lbfactor=1
workers.tomcat_home=/path/to/tomcat
workers.java_home=/path/to/java

HTH
francula
Posts: 6
Joined: 2006-08-02 00:41
 

Re: apache tomcat mod_jk

Post by francula »

Hi,
schonmal Danke für die Antwort!
- Selber compiliert.

In meiner httpd.conf fehlt die erste Zeile (LoadModule jk_module modules/mod_jk.so) und das erste Tag <IfModule mod_jk.c> sieht so aus <IfModule !mod_jk.c>. Was macht denn das Ausrufezeichen da???.

Irgendewie sieht die ganze Datei komisch aus. Ist auf jeden Fall kein vernünftiges XML ???

Gruß Christian
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: apache tomcat mod_jk

Post by sledge0303 »

Apache 1.3.X oder 2.x.x?
Der Eintrag sieht wirklich absurd aus, steht das Modul mit "!" vor dem Namen auch im Verzeichnis so drin?
francula
Posts: 6
Joined: 2006-08-02 00:41
 

Re: apache tomcat mod_jk

Post by francula »

Hi,
Apache2
Nein im Verzeichnis ist kein Ausrufezeichen :-(
Alles ein bisschen komisch.
Auch die beinden Attribute JkLogFile, JkLogLevel sind bei mir nicht zwischen dem öffnenden und dem schließenden Tag, sondern danach "Taglos".

Kann ich die Datei einfach ändern? Die wurde ja generiert. Kann ich da was kaputt machen? Wie sollte ich die Datei gestallten? Ist das Beispiel von dir "allgem." Verwendbar (unabhängig von den Pfaden, ..)

Gruß Christian
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: apache tomcat mod_jk

Post by sledge0303 »

Du hast eine Vorlage, passe diese mit deinen Pfaden an und dann dürfte es passen! Aber alles innerhalb der Tags, sonst jibbet Probleme!
Bei deiner Installation scheint evtl. was schiefgegangen zu sein !?
francula
Posts: 6
Joined: 2006-08-02 00:41
 

hab es jetzt noch mal mit einer neu generierung versucht, mit dem folgenden ergebnis

Post by francula »

vielleicht kann mir jemand mit den folgenden Dateiinhalten weiterhelfen. Wäre echt super, hab schon keine Ahnung mehr.


log: var/log/apache2/rc.out
----------------------------------------
[Wed Aug 02 22:01:53 2006] [warn] module perl_module is already loaded, skipping
Syntax error on line 4 of /usr/lib/apache-tomcat/conf/auto/mod_jk.conf:
Cannot load /usr/include/apache2/modules/mod_jk.so into server: /usr/include/apache2/modules/mod_jk.so: undefined symbol: ap_null_cleanup

mod_jk.conf
---------------------------------------------------
########## Auto generated on Wed Aug 02 21:48:32 CEST 2006##########

<IfModule !mod_jk.c>
LoadModule jk_module "/usr/include/apache2/modules/mod_jk.so"
</IfModule>


<VirtualHost http://www.christian-lahmer.info>
ServerName http://www.christian-lahmer.info

JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
</VirtualHost>

<VirtualHost localhost>
ServerName localhost

JkMount /webdav ajp13
JkMount /webdav/* ajp13

JkMount /servlets-examples ajp13

....

Server.xml
-------------------------------------------------------
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Each Connector passes requests on to the associated "Container" (normally an Engine) for processing. -->
<!-- Define a non-SSL HTTP/1.1 Connector on port 2117 (default 8080) -->
<Connector port="2117" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="5" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> <!-- See proxy documentation for more information about using this. --> <!-- <Connector port="8082" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" acceptCount="100" connectionTimeout="20000" proxyPort="80" disableUploadTimeout="true" /> -->
<!-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). -->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/> <!-- Define the default virtual host -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
</Host>
<!-- http://www.domain1.com -->
<Host name="www.christian-lahmer.info" appBase="/var/www/vhosts/christian-lahmer.info/web"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="jsp-examples" debug="0" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="web1_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
</Host>

<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/include/apache2/modules/mod_jk.so" />

<!--
<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/include/apache2/modules/mod_jk.so" workersConfig="/etc/apache2/workers.properties" />
-->
</Engine>
</Service>
</Server>
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: apache tomcat mod_jk

Post by sledge0303 »

Booahhh, sieht nach einem heillosen durcheinander aus...ordne das erstmal!

Code: Select all

[Wed Aug 02 22:01:53 2006] [warn] module perl_module is already loaded, skipping 
Einmal müßte wohl reichen...

Code: Select all

Syntax error on line 4 of /usr/lib/apache-tomcat/conf/auto/mod_jk.conf:
Cannot load /usr/include/apache2/modules/mod_jk.so into server: /usr/include/apache2/modules/mod_jk.so: undefined symbol: ap_null_cleanup 

<IfModule !mod_jk.c> 
<IfModule mod_jk.c> sollte es schon heissen!

Code: Select all

 LoadModule jk_module "/usr/include/apache2/modules/mod_jk.so" 
LoadModule jk_module /usr/include/apache2/modules/mod_jk.so
So schaut ein richtiger Syntax zum laden eines Moduls aus, nimm mal die beiden Gänsefüßchen raus.

Probier mal aus ob es so klappt. Hab mir das ganze nicht durchgelesen, sollten weitere Fehler im Log zu finden sein, stöber mal durch das XML und sortiere ein wenig!
Bin aber kein Suse Freak, weiss nicht ob das was ausmacht ob mit oder ohne "" zum Pfad

Poste bitte conf´s usw immer in Tags, macht sich besser beim lesen!
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: apache tomcat mod_jk

Post by sledge0303 »

Die httpd muss in etwa so aussehen:

Code: Select all

# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule jk_module modules/mod_jk.so

#############
# ganz am Ende gehts erst los mit mod_jk
#
<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache2/conf/workers.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel warn
JkMount /*.jsp localhost
JkMount /servlet/* localhost
JkMount /umin/* localhost
JkMount /examples/* localhost
JkMount /servlet/webdav.contacts* localhost
</IfModule>

apache2/conf/workers.properties

Code: Select all


worker.list=localhost
worker.localhost.port=8009
worker.localhost.host=localhost
worker.localhost.type=ajp13
worker.localhost.lbfactor=1
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
Alles was du mit worker/workers findest in diese Datei rein!


XML Zeugs...

/apache2/conf/xml ...

Code: Select all

<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Each Connector passes requests on to the associated "Container" (normally an Engine) for processing. -->
<!-- Define a non-SSL HTTP/1.1 Connector on port 2117 (default 8080) -->
<Connector port="2117" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="5" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> <!-- See proxy documentation for more information about using this. --> <!-- <Connector port="8082" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" acceptCount="100" connectionTimeout="20000" proxyPort="80" disableUploadTimeout="true" /> -->
<!-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). -->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/> <!-- Define the default virtual host -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
<!-- www.domain1.com -->
<Host name="www.christian-lahmer.info" appBase="/var/www/vhosts/christian-lahmer.info/web"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="jsp-examples" debug="0" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="web1_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>

<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/include/apache2/modules/mod_jk.so" />

<!--
<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/include/apache2/modules/mod_jk.so" workersConfig="/apache2/workers.properties" /> 
So sollte es in etwa klappen, nur die Pfade anpassen, sorry aber mehr konnte ich in der kurzen Zeit nicht filtern in dem durcheinander!!!

Mal eine Frage nebenbei, welche Parameter hast du dem ./configure übergeben? Versionsnummern wären auch nicht schlecht!
francula
Posts: 6
Joined: 2006-08-02 00:41
 

nächstes problem

Post by francula »

Syntax error on line 16 of /usr/lib/apache-tomcat/conf/auto/mod_jk.conf:
Invalid command 'JkMount', perhaps mis-spelled or defined by a module not included in the server configuration

Warum ist JkMount falsch?? unten die mod_jk.conf datei.

########## Auto generated on Tue Aug 01 00:16:54 CEST 2006##########
<IfModule mod_jk.c>
LoadModule jk_module "/usr/local/tomcat-connectors-1.2.18-src/native/apache-1.3/mod_jk.so"
JkWorkersFile "/etc/apache2/workers.properties"
JkLogFile "/usr/local/tomcat/logs/mod_jk.log"
JkLogLevel info
</IfModule>

<VirtualHost http://www.christian-lahmer.info>
ServerName http://www.christian-lahmer.info
</VirtualHost>

<VirtualHost localhost>
ServerName localhost

JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13

JkMount /balancer ajp13
JkMount /balancer/* ajp13

JkMount /host-manager ajp13
JkMount /host-manager/* ajp13

JkMount /hp ajp13
JkMount /hp/* ajp13

</VirtualHost>
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: apache tomcat mod_jk

Post by Roger Wilco »

Dein mod_jk wurde einfach nicht geladen. Aber wie auch? Du überprüfst ja zuerst, ob mod_jk schon geladen wurde und falls ja, lädst du es nochmal. :roll:
francula
Posts: 6
Joined: 2006-08-02 00:41
 

ich brings nicht auf die reihe

Post by francula »

ich habe jetzt das LoadModule noch oben gezogen, dann bekomme ich den Syntaxfehler gleich in Zeile 2. :-( Woran liegt denn das jetzt

[Sat Aug 05 22:14:08 2006] [warn] module perl_module is already loaded, skipping
Syntax error on line 2 of /usr/lib/apache-tomcat/conf/auto/mod_jk.conf:
Cannot load /usr/local/tomcat-connectors-1.2.18-src/native/apache-1.3/mod_jk.so into server: /usr/local/tomcat-connectors-1.2.18-src/native/apache-1.3/mod_jk.so: undefined symbol: ap_null_cleanup

########## Auto generated on Tue Aug 01 00:16:54 CEST 2006##########
LoadModule jk_module "/usr/local/tomcat-connectors-1.2.18-src/native/apache-1.3/mod_jk.so"
<IfModule mod_jk.c>
JkWorkersFile "/etc/apache2/workers.properties"
JkLogFile "/usr/local/tomcat/logs/mod_jk.log"
JkLogLevel info
</IfModule>

<VirtualHost http://www.christian-lahmer.info>
ServerName http://www.christian-lahmer.info
</VirtualHost>

<VirtualHost localhost>
ServerName localhost

JkMount /jsp-examples ajp13
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: apache tomcat mod_jk

Post by sledge0303 »

Oben schreibst du mir, daß einen Apache2 am laufen hast...
Cannot load /usr/local/tomcat-connectors-1.2.18-src/native/apache-1.3/mod_jk.so into server: /usr/local/tomcat-connectors-1.2.18-src/native/apache-1.3/mod_jk.so: undefined symbol: ap_null_cleanup
Fällt dir was auf?

Du kannst kein Modul für den Apachen 1.3 kompilieren und versuchen in den Apache2 zu laden... :roll:
Post Reply