Tomcat Installieren

Aus Hostsharing Wiki
Version vom 30. Juni 2016, 15:14 Uhr von Peh (Diskussion | Beiträge) (DirectoryIndex disabled)
Zur Navigation springen Zur Suche springen

Apache Tomcat installieren

Allgemein

Apache Tomcat ist ein Webserver (HTTP-Server), der in der Programmiersprache Java entwickelt ist. Er dient in erster Linie dazu, dynamische Web-Anwendungen zu betreiben, die ebenfalls in Java programmiert sind. Basis-Technologien sind Java-Servlets und Java Server Pages (JSP).

Spezielle Installation bei Hostsharing

In jedem dynamischen Webhosting-Paket der Hostsharing eG können einer (oder mehrere) Tomcat-Webserver betrieben werden.

Dazu muss die die kostenpflichtige Option "Betrieb eines eigenen Serverdienstes" gebucht werden.

Diese Anleitung dokumentiert die Installation des Apache Tomcat Servers als Paket-Admin in einem WEB-Paket bei Hostsharing. (Nicht SW-Paket) Mit der Einrichtung der Option "eigener Serverdienst" werden für die Paket-IP-Adresse einer oder mehrere IP-Ports reserviert. An diese Ports wird der eigene Serverdienst (also der Tomcat-Server) auf der paketeigenen IP-Adresse gebunden.

Installation

Die Tomcat-Distribution kann von den Apache-Servern heruntergeladen werden. Wir empfehlen die Installation des Tomcats im Paket, für die Tomcat-Software wird nur ca. 8 MB Speicherplatz benötigt.

Zur Zeit ist die Version 7.0.64 aktuell (Okt. 2015).

Die Software wird heruntergeladen und entpackt. Das Installationsverzeichnis wird in "tomcat7" umbenannt:

cd /home/pacs/xyz00
wget http://ftp.halifax.rwth-aachen.de/apache/tomcat/tomcat-7/v7.0.64/bin/apache-tomcat-7.0.64.tar.gz
tar xzf apache-tomcat-7.0.64.tar.gz
mv apache-tomcat-7.0.64 tomcat7
rm apache-tomcat-7.0.64.tar.gz

In der Hauptsache muss die Konfigurationsdatei "server.xml" im Verzeichnis "~/tomcat7/conf/" angepasst werden.

Beispiel für eine minimale "server.xml":

<?xml version='1.0' encoding='utf-8'?>
<Server port="-1" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>

    <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>

  <Service name="Catalina">

    <Connector 
           address="xyz00.hostsharing.net" port="31313" 
           protocol="AJP/1.3" redirectPort="443" />

    <Engine name="Catalina" defaultHost="xyz00.hostsharing.net">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="xyz00.hostsharing.net" 
              appBase="../webapps/default" 
              unpackWARs="true" autoDeploy="true">
      </Host>

    </Engine>
  </Service>
</Server>

Angepasst werden müssen:

  • der Paketname (im Beispiel xyz00) und
  • der IP-Port (im Beispiel 31313)

Deployment einer Anwendung

In der Beispiel-Konfiguration wurde das Verzeichnis "~/webapps/default" für die Anwendungen konfiguriert. Wir legen dieses Verzeichnis an und kopieren eine Beispielanwendung hinein:

cd /home/pacs/xyz00
mkdir webapps
mkdir webapps/default
cp -a tomcat7/webapps/examples webapps/default/

Nun können wir die HTTP-Requests, die an eine Domain im Paket gesendet werden, an den Tomcat weiterleiten. Das funktioniert über eine ".htaccess"-Datei, zum Beispiel im Verzeichnis "~/doms/example.org/htdocs":

DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*) ajp://xyz00.hostsharing.net:31313/$1 [proxy,last]

Paketname und Port müssen wieder angepasst werden!

Dann können wir unsere Tomcat-Examples unter der URL "http://examples.org/examples/" erreichen.

Start des Tomcat Servers

Der Tomcat kann über die Skripte in "~/tomcat7/bin/" gestartet und gestoppt werden.

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
cd /home/pacs/xyz00/tomcat7
./bin/catalina.sh start

Anmerkung: Die Export-Zeile gilt für 32-Bit Systeme (shared Hosting) für 64-Bit gilt: export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

Log-Ausgaben des Servers sind in "~/tomcat7/logs/catalina.out" zu finden.

Damit der Tomcat bei einem Reboot der Hostsharing-Server automatisch gestartet wird, kann "monit" als einfaches Überwachungswerkzeug genutzt werden. Ein Anleitung dazu gibt es in diesem Wiki: Monit_installieren Die Anleitung bezieht sich auf einen eigenen Apache-Webserver und muss entsprechend für Tomcat adaptiert werden.

Links