HowTo für Apache2 und Tomcat5 gewünscht?

Apache, Lighttpd, nginx, Cherokee
Post Reply
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

Hallo zusammen,

habe auf meinem Development-Rootie folgende Umgebung installiert:

Apache 2.0.49 mit Tomcat 5.0.19 verbunden durch mod_jk2.

Nach ein paar kleinen Schwierigkeiten bin ich der Meinung, dass das Ganze jetzt stabil läuft und der Ã?ffentlichkeit zugänglich gemacht werden kann :-D

Ach ja, was mache ich überhaupt damit? Bei der Erstellung von Webseiten verwende ich für die dynamischen Seiten JSP (deshalb auch Tomcat). Da ich aber nicht wirklich ein JSP-Profi bin, verwende ich noch zusätzlich Taglibs (die ebenfalls vom Jakarta Projekt stammen). So lassen sich Datenbankzugriffe und noch ein paar andere kleine Schmankerl realisieren, ohne großen Aufwand zu haben. Das Ganze klappt natürlich auch mit virtuellen Host.

Da ich immer eine recht gute Dokumentation mache (man muss ja hinterher noch wissen, was man getan hat :) ) könnte ich daraus ein kleines Tutorial basteln und hier im Rootforum veröffentlichen.

Gebt mir doch bitte Feedback, ob Ihr da Interesse habt.

Bis denne - sCHL
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München
Contact:
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by floschi »

Sofern unter Debian, was spricht gegen Debianhowto.de *g*

Ansonsten wäre das durchaus etwas für die FAQ, also why not?

Gerne ;)
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

hm, habe das ganze natürlich nicht unter debian gemacht :oops: sondern unter suse 8.1

meinst Du es gibt da sehr gravierende unterschiede?
dea
Posts: 532
Joined: 2002-08-13 12:05
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by dea »

Jo - das fängt schon bei Java an.

Alternativ - wenn Du ein echtes HOWTO schreiben würdest, könntest Du es auch über tldp.org veröffentlichen. Die biten (gegenüber debianhowto.de) sogar noch den Service, dass Du das Dokument als Plain-Text einschicken kannst und es redigiert als XML zurückbekommst ;) Außerdem ist tldp.org nun wirklich distributionsunabhängig. Wir würden dann auf Dein HOWTO von hier aus oder aus der FAQ einen Link setzen, so dass es auch für die User hier unkomplziert zu erreichen ist.
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by majortermi »

Das klingt interessant.

Ich habe letztens relativ lange gebraucht, um mod_jk2 in meinen Apache so einzubinden, das es auch richtig mit dem Tomcat läuft. Inzwischen geht es zwar einigermaßen, aber ich habe immernoch keine echten Durchblick...
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

juhu, ein mitstreiter :-D

also wie gesagt, bei mir laufen die jsp's ganz gut. habe da noch keine probleme entdeckt. was mir allerdings aufgefallen ist. seit ich das mod_jk2 mit loadmodule in der httpd.conf lade, werden ab und an mal die php dateien vom confixx zum download angeboten. das tritt sehr selten und ganz sporadisch auf. hast Du was ähnliches beobachtet?
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

na hey, wieso macht Ihr denn jetzt aus meinem apache tomcat thread einfach einen faq-automatisierungs-thread? :wink:
Anonymous
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by Anonymous »

Die Frage stelle ich mir auch... davon abgesehen hätte ich starkes Interesse an Deinem Tutorial. Egal in welchem Format.
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by majortermi »

sCHL wrote:was mir allerdings aufgefallen ist. seit ich das mod_jk2 mit loadmodule in der httpd.conf lade, werden ab und an mal die php dateien vom confixx zum download angeboten. das tritt sehr selten und ganz sporadisch auf. hast Du was ähnliches beobachtet?
Das kann ich nicht wirklich sagen, da ich
a) kein Confixx benutze,
b) kein mod_php sondern suPHP benutze und
c) mod_jk2 momentan nur auf einem Testsystem installiert ist, auf dem ich momentan kein PHP parallel benutze.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

Ok, hier also mein HowTo (vorerst)...

Was ich vorher gemacht habe:

1. Installation des aktuellen OpenSSL 0.9.7d
2. Installation des aktuellen OpenSSH 3.8p1
3. Sicheres Login mit Putty
4. Installation des aktuellen Apache 2.0.49


5. Installation des aktuellen J2SDK1.4.2-04
a) Download und Entpacken

Code: Select all

localhost:~> cd /usr/local/src
localhost:/usr/local/src~> w3m http://java.sun.com/j2se/1.4.2/download.html (hier das self-extracting file für 32bit linux downloaden)
localhost:/usr/local/src:~> chmod 755 j2sdk-1_4_2_04-linux-i586.bin
localhost:/usr/local/src~> ./j2sdk-1_4_2_04-linux-i586.bin
localhost:/usr/local/src~> cp j2sdk1.4.2_04 /usr/lib 
localhost:/usr/local/src/~> cd /usr/lib
localhost:/usr/lib/~> ln -sf j2sdk1.4.2_04 java (so ein link vereinfacht einfach die tip-arbeit) 
--------------------------------------------------------------------------------

6. Installation von Tomcat
a) Download und Entpacken

Code: Select all

localhost:~> cd /usr/local/src
localhost:/usr/local/src~> wget ftp://ftp.uni-erlangen.de/pub/mirrors/apache/jakarta/tomcat-5/v5.0.19/bin/jakarta-tomcat-5.0.19.tar.gz
localhost:/usr/local/src:~> tar xfvz jakarta-tomcat-5.0.19.tar.gz
localhost:/usr/local/src~> cp jakarta-tomcat-5.0.19.tar.gz /usr/local 
localhost:/usr/local/src/~> cd /usr/local
localhost:/usr/local/~> ln -sf jakarta-tomcat-5.0.19 tomcat (so ein link vereinfacht einfach die tip-arbeit)
localhost:/usr/local/~> cd tomcat/conf 
b) Konfiguration
Die server.xml ist die zentrale Konfigurationsdatei für die Tomcat Engine. In der folgenden Konfiguration wird Tomcat nur auf Port 8009 lauschen und an die Adresse 127.0.0.1 gebunden sein.

Code: Select all

localhost:/usr/local/tomcat/conf/~> vi server.xml 

Code: Select all

<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/> 
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>

<Service name="Catalina">
<Connector port="8009" enableLookups="false" address="127.0.0.1" redirectPort="8443" debug="0" protocol="AJP/1.3"/>
<Engine name="Catalina" defaultHost="localhost" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" debug="0" resourceName="UserDatabase"/>

<!-- Beginn Virtuelle Hosts -->

<Host name="www.chlvirtualwork.de" debug="0" appBase="/srv/www/htdocs/web1/html" unpackWARs="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="chlvirtualwork_access_log." suffix=".txt" pattern="common"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="chlvirtualwork_log." suffix=".txt" timestamp="true"/>
<Context path="" docBase="" debug="0" reloadable="true">
</Context>
</Host>

<!-- Ende Virtuelle Hosts -->

</Engine>
</Service>

</Server>

Jetzt muss noch in der Startdatei von Tomcat der Pfad zum Java eingefügt werden.

Code: Select all

localhost:/usr/local/tomcat/conf/~> cd ../bin
localhost:/usr/local/tomcat/bin/~> vi catalina.sh 

Code: Select all

# $Id: catalina.sh,v 1.11 2003/10/22 00:28:44 jfarcand Exp $
# ----------------------------------------------------------------------------- 
JAVA_HOME=/usr/lib/java

# OS specific support. $var _must_ be set to either true or false.
cygwin=false

Code: Select all

localhost:/usr/local/tomcat/bin/~> ./catalina.sh start 
7 Wir bauen uns ein mod_jk2
a) Download und Entpacken

Code: Select all

localhost:~> cd /usr/local/src
localhost:/usr/local/src~> wget ftp://ftp.uni-erlangen.de/pub/mirrors/apache/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
localhost:/usr/local/src:~> tar xfvz jakarta-tomcat-connectors-jk2-src-current.tar.gz
localhost:/usr/local/src~> cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2~>

b) Kompilieren
Für das Kompilieren von mod_jk2 müssen libtool-1.4.2, autoconf-2.53, automake-1.6.3 installiert sein.

Code: Select all

localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2~> chmod 755 buildconf.sh
localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2~> ./buildconf.sh
localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2~> ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-EAPI
localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2~> make

Nach dem make folgt jetzt ausnahmsweise kein make install. Man muss die eben erzeugten Module von Hand in den Modulordner des Apache kopieren.

Code: Select all

localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2~> ../build/jk2/apache2/  
  localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2~> cp mod_jk2.so /usr/local/apache2/modules
localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2~> cp jkjni.so /usr/local/apache2/modules
localhost:/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2~> cd /usr/local/apache2/conf
localhost:/usr/local/apache2/conf~>

8. Integration von Tomcat 5 in Apache 2
a) Erstellen der workers2.properties

Code: Select all

localhost:/usr/local/apache2/conf~> touch workers2.properties
localhost:/usr/local/apache2/conf~> vi workers2.properties

Code: Select all

[logger.apache2]
level=DEBUG 
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576

[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

# Worker definieren
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

# Domains definieren und dem Worker zuweisen
[uri:www.chlvirtualwork.de/*.jsp]
worker=ajp13:localhost:8009

In der httpd.conf muss natürlich das mod_jk2 Modul geladen werden.

Code: Select all

localhost:/usr/local/apache2/conf~> vi httpd.conf

Code: Select all

LoadModule jk2_module modules/mod_jk2.so
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

ach ja, könnte das jetzt hier jemand in das webserverforum verschieben? danke
zerobyte
Posts: 10
Joined: 2003-01-07 16:31
Location: Karlsruhe
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by zerobyte »

olfi wrote:Sofern unter Debian, was spricht gegen Debianhowto.de *g*

Ansonsten wäre das durchaus etwas für die FAQ, also why not?

Gerne ;)
Ich könnte evtl. etwas ähnliches schreiben für die Kombination Apache 1.3.x und Tomcat 4.1.x mit mod_jk, alles unter debian woody, allerdings mit Java von Sun und dem aktuellen 4.1.x-er Tomcat von Apache. Allerdings bin ich noch am testen, da ich diese Kombination zusammen mit mysql als Grundlage für eine opencms-Installation brauche.

Wenn also Interesse da ist...
Anonymous
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by Anonymous »

ZEROByte wrote: Wenn also Interesse da ist...
Ja bitte, brauche die Installation für den gleichen Zweck.
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

hier das ganz für apache 1.3.27 und tomcat 4 auf SuSE Linux 8.1

12.1.Download des aktuellen Javaâ??s

Code: Select all

cd /usr/lib 
w3m java.sun.com 
SDK Self Extracting File für Linux downloaden 
chmod 755 j2sdk-1_4_2_01-linux-i586.bin 
./ j2sdk-1_4_2_01-linux-i586.bin 
rm j2sdk-1_4_2_01-linux-i586.bin 
12.2.Download des aktuellen Tomcat

Code: Select all

cd /tmp 
wget http://apache.serveftp.org/apache-site/dist/jakarta/tomcat-4/tomcat-4.1.27.tar.gz 
tar xfvz tomcat-4.1.27.tar.gz 
cp tomcat-4.1.27.tar.gz /opt/jakarta-tomcat-4.1.27 
12.3.Download des mod_jk

Code: Select all

wget http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.2/bin/linux/i386/mod_jk-1.3.eapi.so 
cp mod_jk-1.3.eapi.so /usr/lib/apache 
12.4.Konfiguration von Tomcat
12.4.1.Erstellen der workers.properties

Code: Select all

vi /etc/httpd/workers.properties 
 

ps=/
worker.list=tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
12.4.2.Erstellen der Datein apache-tomcat.conf

Code: Select all

vi /etc/httpd/apache-tomcat.conf 
 

LoadModule jk_module /usr/lib/apache/mod_jk.so
JkWorkersFile /etc/httpd/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel warn
 
JkMount /servlet/* tomcat1
JkMount /*.jsp tomcat1
12.4.3.Einbinden der apache-tomcat.conf in Apache

Code: Select all

vi /etc/httpd/httpd.conf 
Include /etc/httpd/apache-tomcat.conf (ziemlich ans Ende schreiben) 
12.4.4.server.xml konfigurieren

Code: Select all

vi /opt/jakarta-tomcat-4.1.27/conf/server.xml 
Ajp 13 Connector aktivieren

Code: Select all

<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
               port="8009" minProcessors="5" maxProcessors="75"
               acceptCount="10" debug="0"/>


Context hinzfügen

Code: Select all

     <Host name="www.chl-virtualwork.com" debug="0" appBase="/home/www/web1/html" unpackWARs="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="chl-virtualwork_access_log." suffix=".txt"
                 pattern="common"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="chl-virtualwork_log." suffix=".txt"
                timestamp="true"/>
        <Context path="" docBase="" debug="0" reloadable="true">
        </Context>
      </Host>
zerobyte
Posts: 10
Joined: 2003-01-07 16:31
Location: Karlsruhe
 

apache 1.3.x - mod-jk - tomcat 4.1.x unter Debian woody

Post by zerobyte »

Erste version eines Howto für ein opencms-System auf Debian woody welches auf apache + tomcat aufsetzt:
(Als Grundlagen dafür wird eine Kombination aus apache1.3.x und tomcat4.1.x mit mod_jk verwendet)

Also hier mal die erste Rohfassung (noch kein echtes Howto), bis jetzt läuft die Kombination nur auf meinem lokalen Testsystem zu Hause - auf den Server geht es erst, wenn es ausreichend sicher ist.

Der erste Teil des Howtos enthält keine opencms-spezifischen Teile.

Bevor ich eine Konfigdatei ändere, wird erst einmal eine Sicherheitskopie angelegt.

1. Schritt: apache nach der Anleitung auf debianhowto ( http://www.debianhowto.de/de/howtos.html ) installieren und einrichten. (dort Punkt 6, die Abschnitte "Vorbemerkungen", "Apache" und "mod_ssl")

2. Schritt: mit

Code: Select all

apt-get install libapache-mod-jk
mod_jk installieren

3. Schritt: download des JDK 1.4.2_04 von Sun (zu finden unter http://java.sun.com/ ). Dort den Installer (nicht das rpm) auswählen und an der gewünschten Position im Verzeichnisbaum ablegen. Ich hab bei mir zur Zeit alle Programme welche nicht als .deb vorliegen unter /usr/local/ installiert um eine bessere Ã?bersicht zu haben.

4. Schritt: Installation des JDK
Als root in das Verzeichnis mit dem gespeicherten Installer wechseln und

Code: Select all

sh ./j2sdk-1_4_2_04-linux-i586.bin
aufrufen.
Nun müssen die Lizenzbestimmungen von Sun akzeptiert werden, danach entpackt sich der Installer ins lokale Verzeichnis

5. Schritt: Download des Tomcat 4.1.x von http://jakarta.apache.org

Ich habe die Version 4.1.30 als tar.gz zur Installation benutzt.

6. Schritt: tomcat auspacken mit

Code: Select all

tar -xvzf jakarta-tomcat-4.1.30.tar.gz
7. Schritt: anpassen der Datei

Code: Select all

catalina.sh
in

Code: Select all

$TOMCAT/bin/
Dort muss über

Code: Select all

JAVA_HOME=<Pfad zum JDK>
dem Tomcat mitgeteilt werden, wo sich die Java-Installation befindet

8. Schritt: Anpassen der Datei

Code: Select all

workers.properties
( Diese wurde im zweiten Schritt in

Code: Select all

/etc/tomcat/jk/
erstellt). Für den tomcat 4.1.x wird nur der ajp13-connector gebraucht.

9.Schritt: Anpassen der Datei

Code: Select all

/var/lib/tomcat/conf/mod_jk.conf
hier müssen die speziellen Anweisungen für mod_jk wie z.B.:

Code: Select all

JkMount   <blablubb> <workername>
eingefügt werden.

10. Schritt: Anpassen der server.xml von Tomcat: hier muss der http-Connector auskommentiert werden, sowie für den ajp13-connector der Zugriff auf den Host 127.0.0.1 beschränkt werden, falls nicht etwas anderes gewünscht wird.

11. Schritt: Tomcat soll unter dem User www-data laufen, also diesem User den Tomcat "übereignen":

Code: Select all

chown -R www-data:www-data $TOMCAT
12. Schritt: Tomcat über die

Code: Select all

startup.sh
im

Code: Select all

$TOMCAT/bin/
verzeichnis starten. Apache neu starten


Ergänzungen für den Einsatz von opencms:

opencms setzt xerces-1.4.4 voraus, tomcat bringt in Versionen > 4.1.28 einen neueren xerces mit. Damit opencms funktioniert müssen die xerces-jars aus dem endorsed-Verzeichnis des Tomcat entfernt werden und durch die xerces-Datei ersetzt werden, welche sich im opencms.war befindet.

Ausserdem ist es laut opencms-Doku nötig das file.encoding auf ISO-8859-1 zu setzen (in der catalina.sh)

Für die Installation von opencms fehlt jetzt noch ein eingerichteter mysql-server.
(to be continued)

Nun sollte theoretisch alles funktionieren.


:twisted:ACHTUNG:twisted:


Nach Abschluss der bisherigen Schritte ist das System noch nicht unbedingt in einem sicheren Zustand.
Diese Kurzanleitung ist nur für jemanden gedacht, der sich mit den einzelnen Teilaspekten schon gut auskennt und ist mehr eine Gedächtnisstütze als eine detaillierte Anleitung.
Wer eine solche Kombination im Netz betreiben will sollte mit dieser Anleitung keine größeren Probleme haben.

TODO:
-Installation und Einrichtung von mysql-server
-Installation von opencms
-Sammlung von Linklisten für die einzelnen Teilaspekte


Korrekturen, Anregungen, Tipps und Ergänzungen sind natürlich jederzeit willkommen.
Last edited by zerobyte on 2004-03-31 10:13, edited 1 time in total.
schl
Posts: 343
Joined: 2003-02-05 11:26
Location: München/Unterschleißheim
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by schl »

wie schaut es denn mit meinem howto aus? habe es angemeldet bei Euch, aber bis jetzt noch keine antwort erhalten. haben die faq-redakteure alle urlaub :wink:

gebt mir doch bitte mal bescheid... danke

grüße sCHL
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: HowTo für Apache2 und Tomcat5 gewünscht?

Post by Joe User »

Urlaub nicht, nur zu viel Arbeit ;) Schicke dea oder arty eine freundliche PM, dann geht es eventuell etwas schneller.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Post Reply