# Tomcat einrichten



## Guest (27. Aug 2008)

Hallo, 

wahrscheinlich eine simple Frage aber ich komm einfach nicht drauf. 

Version ist: Apache Tomcat 5.5.17
Könnte aber auch bald Tomcat 6 sein. 

Ich möchte *.war-Files deployen. Um das zu tun, kopiere ich die War-Files in das Verzeichnis webapps vom Tomcat. Dieser erkennt die Files und packt sie dann aus. Soweit funktioniert das ganze super. Ich kann die warfiles über www.***.de:8080/[WARFILE-NAME] ansteuern. 

Frage1: 
Ist es unbedingt notwendig das der Server die War-Files auspackt? kann man das umstellen? 

Für eine Sortierung nach Projekten hätte ich gerne, dass der Tomcat auch auf andere Verzeichnisse zugreift.
Also nicht mehr 
C:\Programme\Apache Software Foundation\Tomcat 5.5\webapps

Sondern (auch) 

E:\Projekt\ProjektX
E:\Projekt\ProjektY 
usw. 


Ich habe gelesen das würde über "context" gehen. Im Webapps-Folder habe ich dazu eine *.xml Datei angelegt mit folgendem Inhalt
<Context path="/projects" docBase="E:\Projekt\ProjektX"
        reloadable="true"/> 
Das scheint aber nicht zu wirken. 
 Das kopierte war lässt sich nicht über www.***.de:8080/projects/[WARFILE-NAME] ansteuern. Fehler 404. 


Frage2: 
Wie geht es richtig? 



Kann mir bitte jemand helfen?!


----------



## maki (27. Aug 2008)

http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

Die context.xml bzw. webappname.xml hat nix im webapps Ordner zu suchen, entweder im tomcat Verzeichniss TOMCAT_HOME/conf/Catalina/<hostname>/webappname.xml oder im war selbst als /META-INF/context.xml.
Im letzteren Fall muss die Webapp allerdings als war über den Tomcat manager installiert sein.

Du könntest natürlich auch die TOMCAT_HOME/conf/server.xml abändern, ist aber nicht empfohlen.


----------



## Gast (27. Aug 2008)

ja ok. Jetzt habe ich schonmal das mit dem auspacken gefunden. Die XML Datei liegt jetzt unter ...\Tomcat 5.5\conf\Catalina\localhost. Die Datei lautet: 
<Context path="/projects/sfb" docBase="E:/projects/sfb"
	        reloadable="true"/> 

sfb ist ein Projekt.. 

Neustarten des Tomcat. Leider noch kein Ergebniss. Wäre es nicht sinnvoller das appBase in der server.xml zu ändern, damit der generell auf E: zugreift?


----------



## maki (27. Aug 2008)

TOMCAT_BASE etc. sind auch einen Blick Wert.

Ist aber alles nicht nötig, die webappname.xml unter conf/localhost sollte reichen.

Heisst denn dein Context genauso wie die Datei?
Preisfrage: Was steht im Log?


----------



## Gast (27. Aug 2008)

Muss die Context Datei genauso heissen? Da wäre nicht die Lösung. Ziel wäre dass der Tomcat E:/projects/ genauso bearbeitet wie c:\..\webapps. Auf webapps könnten man auch verzichten. Es geht hier auch um Sicherheit, verschiedene Zugangsstufen und Festplattenplatz.


----------



## maki (27. Aug 2008)

> Muss die Context Datei genauso heissen? Da wäre nicht die Lösung


Natürlich muss sie genauso heissen, steht doch in der Doku.



> Ziel wäre dass der Tomcat E:/projects/ genauso bearbeitet wie c:\..\webapps. Auf webapps könnten man auch verzichten.


Sollte mit CATALINA_BASE bzw. CATALINA_HOME möglich sein, halte ich jedoch für übertrieben.

Nachtrag: Das appBase Attribut des <HOST> elements der server.xml sollte auch schon reichen.



> Es geht hier auch um Sicherheit, verschiedene Zugangsstufen und Festplattenplatz.


Sicherheit ist dieselbe, ausserdem verwendest du Windows *g*
Festplattenplatz?
Wie groß ist Tomcat 5? 6MB?
Kannst du doch dahin "installieren" (=entpacken) wohin du willst, verstehe dein Problem nicht.


----------



## Guest (27. Aug 2008)

ah jetzt habe ich mal zwei seiten gefunden.. also in meiner context datei müsste das WarFile komplett angegeben sein


http://www.onjava.com/pub/a/onjava/2003/06/25/tomcat_tips.html


> <!--
> Context fragment for deploying MyWebApp.war
> -->
> <Context path="/demo" docBase="webapps/MyWebApp.war"
> ...



richtig? 

Aber man kann auch die appBase ändern: 
http://www.akadia.com/download/soug/tomcat/html/tomcat_server_xml.html


> appBase: Defines the directory for this virtual host. This directory is the pathname of the Web applications to be executed in this virtual host. This value can be an absolute path, or a path that is relative to the <CATALINA_HOME> directory. If this value is not specified, the relative value webapps will be used.


Das heisst dann auch das der c:\..\webapps quasi tot ist ? richtig? 

EDIT: Festplattenplatz: auf c: ist das Betriebssytem und die Programme (15 GB) und auf e: die Dateien und mehr Platz. Muss so sein. Hat verschiedene Gründe. Den bestehenden Tomcat jetzt nochmal umzuinstallieren könnte problematisch sein.


----------



## maki (27. Aug 2008)

> ah jetzt habe ich mal zwei seiten gefunden.. also in meiner context datei müsste das WarFile komplett angegeben sein


Halte ich für ungünstig.



> Aber man kann auch die appBase ändern:


Richtig, ist mir auch aufgefallen, s.o.



> Das heisst dann auch das der c:\..\webapps quasi tot ist ? richtig?


Sollte so sein.



> EDIT: Festplattenplatz: auf c: ist das Betriebssytem und die Programme (15 GB) und auf e: die Dateien und mehr Platz. Muss so sein. Hat verschiedene Gründe. Den bestehenden Tomcat jetzt nochmal umzuinstallieren könnte problematisch sein.


Tomcat "uminstallieren" ist nix anderes als das Verzeichniss zu verschieben, wenn der TC Service installiert ist muss der natürlich angepasst werden.
Ansonsten muss da nix geändert werden, wenn schon WebApps auf TC laufen werden sie es danach nicht mehr tun, /webapps ist ja tot.


----------

