B2B Installation Tomcat

 

Überblick

Dieses Dokument beschreibt die Installation und das Customizing der B2B by Practice Plattform sowie aller benötigten Abhängigkeiten und praktischen Werkzeugen.

Grundsätzliches

  • Slash (‚/‘) und Backslash (‚\‘) dürfen nicht vertauscht werden. Unter Windows muss in allen Pfaden, die als Einstellung in B2B eingetragen werden der Slash als Verzeichnistrenner genutzt werden.

  • B2B und alle zugehörigen Programme werden in dieser Anleitung beispielhaft unter C:\B2B abgelegt. Es kann natürlich auch jeder andere Pfad genutzt werden. Alle Pfadangaben aus dieser Anleitung müssen dann entsprechend angepasst werden.

  • Die meisten Inhalte von Konfigurationsdateien sind zum einfachen Kopieren in der Datei Snippets.txt nochmal hinterlegt.

Umgebungsvariablen unter Windows einrichten

1.      Rechte Maustaste auf Computer oder Arbeitsplatz (Siehe Bild 1 Punkt 1)

2.      Erweiterte Systemeinstellungen wählen (Siehe Bild 1 Punkt 2)

3.      Unter der Registerkarte „Erweitert“ den Button „Umgebungsvariablen“ anklicken (Siehe Bild 1 Punkt 3)

4.      Nun werden alle Umgebungsvariablen aufgelistet. Entsprechende Variable kann nun ausgewählt und bearbeitet oder hinzugefügt werden (Siehe Bild 2)

 

 

Bild 1 Bild 2

Vorbereitung

  • Empfohlene Anforderungen: 10GB Festplattenspeicher, 4GB RAM, Windows mit aktuellen Patches

  • Emailserver mit POP3 und SMTP einrichten. Emailadresse einrichten (Username/Passwort bereithalten)

  • DB einrichten. Datenbankname, Username/Password sowie Datenbanktreiber (für Java) bereithalten. Bei Oracle ab 11g mit Thin, bei älteren Oracle Versionen mit OCI Treiber, dann müssen zusätzliche betriebsystemabhängige Treiberkomponenten installiert werden.

http://www.oracle.com/technetwork/database/features/instant-client  BASIC–> OCI

Installation

Ordnerstruktur anlegen und Dependencies installieren

1.      Ordner C:\B2B anlegen: hier werden alle Dateien von B2B und dessen Abhängigkeiten abgelegt.

2.      Verzeichnis C:\B2B\tomcat_all anlegen: dieses Verzeichnis wird von allen Tomcat Instanzen genutzt

3.      Verzeichnis C:\B2B\tomcat_all\index\full anlegen: hier werden die Suchindizes gespeichert. Dieser Pfad wird beim Customizing in das Property B3P_SEARCH_INDEX_DIRECTORY eingetragen.

4.      Verzeichnis C:\B2B\tomcat_all\logs anlegen: hier werden die B2B Logdateien gespeichert. Dieser Pfad wird beim Customizing in das Property B3P_LOG4J_BASE_DIR eingetragen.

5.      Ordner C:\B2B\jdk anlegen und JDK 8 (mindestens 8u161) dorthin installieren.

6.      Ordner C:\B2B\support anlegen und DbVisualizer dorthin installieren und mit entsprechender Lizenz freischalten (Die 21 Tage Testversion reicht. Download: http://www.dbvis.com/products/dbvis/download/. Die Lizenz bekommt man auf der gleichen Seite unter „Evaluation license for DbVisualizer Personal“ )

7.      Für Oracle Datenbanken müssen zusätzlich die Oracle Treiber nach C:\B2B\support\DBVisualizer-x.x.x\jdbc\oracle kopieren (der Ordner oracle muss angelegt werden). x.x.x muss mit der jeweiligen Versionsnummer des DbVisualizer ersetzt werden.

8.      Tomcat nach C:\B2B\tomcat1 entpacken (64 Bit Version braucht nicht mehr ersetzt zu werden). Tomcat kann unter http://tomcat.apache.org/download-60.cgi heruntergeladen werden. Je nach Plattform wird „32-bit Windows zip” oder „64-bit Windows zip“ benötigt.

Datenbankverbindung mit DbVisualizer einrichten

DbVisualizer starten und eine neue Datenbankverbindung mit dem Wizard einrichten. Den Verbindungsnamen kann man beliebig wählen.

Im 2. Schritt bei der Treiberauswahl wird der entsprechende Treiber gewählt. Wenn kein grüner Haken neben dem gewählten Treiber steht, so muss die Treiberdatei (JAR Datei) über „Load Driver File(s)“ angegeben werden. Hier kann der unter Punkt 8 kopierte Treiber genutzt werden.

Im 3. Schritt werden nun noch die Zugangsdaten abgefragt (Datenbankname, Benutzername und Passwort)

Umgebungsvariablen konfigurieren

1.      Umgebungsvariable $JAVA_HOME auf C:\B2B\jdk setzen (Siehe Bild 2 unter „Umgebungsvariablen einrichten“)

2.      Umgebungsvariable $PATH anpassen: Hinzufügen von Verzeichnis C:\B2B\jdk\bin (Siehe Bild 3)

Bild 3

 

Tomcat anpassen

Command Prompt in C:\B2B\tomcat1\bin öffnen und service install tomcat1 –rename als Adminstrator ausführen à tomcat service ist installiert (service remove fürs löschen ausführen)

Sollte es mit dem –rename Befehl Probleme geben, kann auch eine manuelle Änderung des Servicenamens durchgeführt werden:

1.      Im Verzeichnis C:\B2B\tomcat1 die Datei tomcat8.exe nach tomcat1.exe umbenennen

2.      Im gleichen Verzeichnis tomcat8w.exe nach tomcat1w.exe umbenennen

3.      C:\B2B\tomcat1\bin\service.bat editieren: überall tomcat8 durch tomcat1 ersetzen

4.      Command Prompt in C:\B2B\tomcat1\bin öffnen und service install als Adminstrator ausführen

Bei Problemen mit service install sollte man prüfen, ob alle Windows Patches eingespielt sind (http://www.microsoft.com/downloads/en/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&displaylang=en Microsoft Knowlege Base kb973544) und $JAVA_HOME gesetzt ist. Wichtig ist auch, dass der Befehl als Administrator ausgeführt wird

Nun die graphische Oberfläche C:\B2B\tomcat\bin\tomcat1w.exe als Adminstrator aufrufen. Diese dient dem Administrieren und Parametrisieren des Tomcats.

    

Java Options:

-Dfile.encoding=ISO-8859-1

OPTIONAL (nur wenn DebugMode)

-Xdebug
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1091

 

Hier werden nun verschiedene Einstellungen vorgenommen.

Im Reiter „Java“ werden die oben unter „Java Options“ angegebenen Optionen eingetragen. Wenn bereits Optionen vorhanden sind, können die neuen Optionen unten angehängt werden. Die Memory Pool Einstellungen sollten angepasst werden. Bei „Maximum memory pool“ sollte man mindestens 1024 MB vergeben. In der Option –Xrunjdwp wird der Debug-Port unter address eingetragen (Im obigen Beispiel 1091).

In den Reitern „Startup“ und „Shutdown“ wird „Working Path“ auf C:\B2B\tomcat1 gesetzt.

Im Reiter „Logging“ sollte der Loglevel auf Error gesetzt werden um die Anzahl der Logeinträge zu verringern.

Nun kann man testen, ob Tomcat läuft: in tomcat1w.exe (unter General) auf Start klicken und mit einem Browser auf http://localhost:8080 gehen. Es muss folgende Tomcat Startseite erscheinen:

Wenn diese Seite erscheint kann man Tomcat wieder Stoppen (im Reiter „General“ auf „Stop“ klicken).

 

Anpassen des Node-Names über den System-Kontext

Es ist möglich den Node-Name eines Tomcat-Knotens über den System-Kontext bzw. die JAVA_OPTS zu setzen. Dazu muss die GlobalProperty GET_B2BBP_NODE_NAME_FROM_ENV_VAR auf “true” gesetzt werden und die Variable mit

  • SET  b2bbp_node_name=<Name des Knotes> in das Start-Script hinzugefügt werden,
  • oder die Variable mit -Db2bbp_node_name=<Name des Knotes> den JAVA-Properties hinzugefügt werden

 

Anpassung der Tomcat Konfigurationsdatei server.xml

Die Datei C:\B2B\tomcat1\conf\server.xml in einem Editor öffnen. Um die Datei übersichtlicher zu gestalten können alle Kommentare entfernt werden. Hier werden die verwendeten Ports konfiguriert, die Benutzerdatenbank eingerichtet (hier wird die Datenbank von B2B verwendet) und das Hot Deployment deaktiviert.

Schritt 1: Server Port (für Shutdown)            

Schritt 2: „Browser Port“        

Schritt 3: Reverse Proxy Port

Schritt 4: Um die Benutzerdatenbank von B2B zu nutzen muss UserDatabaseRealm auskommentiert und dafür DataSourceRealm eingefügt werden.   

Schritt 5: Hot Deployment deaktivieren.

server.xml

<?xml version="1.0" encoding="utf-8"?>
    <Server port="9005" shutdown="SHUTDOWN">
     <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
     <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 port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
      <Connector port="9009" protocol="AJP/1.3" redirectPort="8443"/>
      <Engine name="Catalina" defaultHost="localhost">
       <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!--    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>-->
         <Realm className="org.apache.catalina.realm.DataSourceRealm" dataSourceName="jdbc/b2bbp" localDataSource="true" userTable="B2BBP_ADM_ACCOUNT" userNameCol="userid" userCredCol="password" userRoleTable="B2BBP_ADM_USER" roleNameCol="roleid" dateRangeTable = "B2BBP_ADM_ACCOUNT_DATE_RANGE" startDateCol = "startDate" endDateCol = "endDate">
	<CredentialHandler className="org.apache.catalina.realm.MessageDigestCredentialHandler" algorithm="sha-512" />
</Realm>
       <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false">
         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b"/>
       </Host>
      </Engine>
     </Service>
    </Server>

Die gezeigte Konfiguration für Realm gilt für Tomcat 7, für Tomcat 8 und höher, siehe die Konfiguration hier.

Deployment und Konfiguration von B2B

Die Datei  b2bbp-engine.war nach C:\B2B\tomcat1\webapps kopieren. Danach Tomcat starten. Es sollte ein Ordner C:\B2B\tomcat1\conf\Catalina\localhost existieren. Nun wird die Datei C:\B2B\tomcat1\conf\Catalina\localhost\b2bbp-engine.xml entweder von Hand angelegt oder eine bereits vorhandene Datei angepasst. Am wichtigsten sind username und password. Hier werden die Logindaten des Datenbankbenutzers eingetragen. Jedoch sollten auch die Attribute driverClassName und url stimmen, welche die Treiberklasse und die Datenbank URL (inklusive Datenbankname) angeben.

Beispiel für Tomcat 8:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/b2bbp-engine" reloadable="false" cachingAllowed="true" crossContext="true">
		<Resource name="jdbc/b2bbp"
			auth="Container"
			type="javax.sql.DataSource"
			driverClassName="oracle.jdbc.OracleDriver"
			url="jdbc:oracle:thin:@localhost:1521:XE"
			username="admin"
			password="b2bbp"
			maxTotal="50"
			maxIdle="10"
			maxWaitMillis="30000"
			removeAbandoned="false"
		/>
</Context>

In der Datei C:\B2B\tomcat1\conf\Catalina\localhost\manager.xml muss die gleiche Resource-Definition angegeben werden.

Automatischen Redirect einrichten

Die Dateien index.html und favicon.ico nach C:\B2B\tomcat1\webapps\ROOT kopieren. Vorhandene Dateien können ersetzt werden.

Installation der Datenbank Treiber

Als nächstes werden die Datenbanktreiber (z.b. ojdbc6.jar für Oracle) nach C:\B2B\tomcat1\lib kopiert.

Bibliothen mit Betriebsystemabhängigkeit: z.B. JCO und Oracle < 11g

 Ordner C:\B2B\tomcat_all\os_libs anlegen und JCO- sowie Treiberdateien dorthin kopieren. (Jar Files und DLLs)

  • Ordner in $PATH aufnehmen

  • Classpath anpassen (da DLL- und JAR-Dateien im gleichen Ordner liegen müssen) über tomcat1w.exe à Java à Classpath dort die JAR-Datei angeben.

Datenbanktabellen erstellen

Nun werden die DB Skripte ausgeführt (das passende Skript für die jeweilige DB nehmen): db.sql und index.sql. Je nach Datenbank kann es auch nur eine Datei sein (z.B. Derby.txt )

Mit installiertem und freigeschaltetem DBVisualizer kann man direkt auf die SQL-Dateien doppelt klicken. Daraufhin öffnet sich der SQL Commander des DBVisualizer und lädt die Datei. Mit einem Klick auf den grünen Pfeil werden die Datenbanktabellen erstellt.

B2B Admin anlegen

Um den B2B Admin anzulegen, wird das Skript b2b-admin.sql (wie bei „Datenbanktabellen erstellen“) ausgeführt. Dieses legt den Benutzer admin mit dem Password b2bbp an. Zusätzlich wird die Rolle admins inklusive eines Berechtigungsobjekts zum Aktivieren des Customizing  Uploade Mechanismus eingerichtet. Schließlich werden dem Benutzer admin die Rollen b2bbp und admins zugewiesen.

insert into B2BBP_ADM_ACCOUNT (USERID, PASSWORD, FIRSTNAME, LASTNAME, EMAIL, ORGANIZATION) values ('admin', 'ddccb7c235da2ae70e00d39e31e434e71f41f6ebc06a4566a5b7270dcf3ca9b46f909c8ad04ef42c6a7cfc5ff5d45a22a73ec050f74fe0c7040bc75a99a903a5', 'b2b', 'admin', null, null);
insert into B2BBP_ADM_ROLE_ATTRIBUTE (ROLEATTRIBUTEID, ROLEATTRIBUTEVALUE) values ('EnableUploadCustomizing', 'Override={view=GlobalPropertyPanelView,type=SetProperty,target=customizingTransfer,name=visible,value=true}');
insert into B2BBP_ADM_ROLE (ROLEID, ROLEATTRIBUTEID, DESCRIPTION) values ('admins', 'EnableUploadCustomizing', null);
insert into B2BBP_ADM_USER (USERID, ROLEID, DESCRIPTION) values ('admin', 'admins', null);
insert into B2BBP_ADM_USER (USERID, ROLEID, DESCRIPTION) values ('admin', 'b2bbp', null);

B2B Installation testen

C:\B2B\tomcat1\bin\tomcat1w.exe starten und unter dem Reiter „General“ auf Start klicken. Im Browser auf http://localhost:9080 navigieren. Nun sollte sich ein Login-Fenster öffnen. Username ist admin und das Password ist b2bbp. Nach dem anmelden werden ein paar Fehler gemeldet, da noch Extensions fehlen. Dies ist nicht weiter schlimm und wird während des Customizing angepasst.

Weitere Tomcat Cluster Nodes einrichten

  • C:\b2b\tomcat1 nach C:\b2b\tomcatx kopieren

  • C:\b2b\tomcatx\conf\server.xml à Ports anpassen

  • C:\b2b\tomcatx\bin\tomcat1[w].exe nach C:\b2b\tomcatx\bin\tomcatx[w].exe umbenennen

  • C:\b2b\tomcatx\bin\service.bat à tomcat1 überall durch tomcatx ersetzen

  • CMD in C:\b2b\tomcatx\bin öffnen und service install aufrufen

  • C:\b2b\tomcatx\bin\tomcatxw.exe aufrufen und Parameter analog tomcat1 anpassen

  • Optional: andere DB anbinden

  • DB Parameter anpassen in C:\B2B\tomcatx\conf\Catalina\localhost\b2bbp-engine.xml

Redeployment von B2B

  • Tomcat Stoppen

  • Komplettes B2B Redeployment: kopieren der b2bbp-engine.war nach C:\B2B\tomcat1\webapps und löschen des Ordners C:\B2B\tomcat1\webapps\b2bbp-engine. Danach tomcat starten

oder

  • Redeployment einer JAR-Datei (ein Teil von B2B): kopieren der JAR-Datei nach C:\B2B\tomcat1\webapps\b2bbp-engine\WEB-INF\lib

In beiden Fällen danach Tomcat neu starten.

Übersicht über die Datenbanktabellen

Hier sind die Bewegungsdaten gespeichert. Löschen der B2BBP_DATA_MESSAGE Tabelle führt zum Löschen der abhängigen Tabellen

In der Action Registry werden die Actions gespeichert. In der Action_Property_Mon Tabelle werden die Details verwendet. Die Channel Tabellen referenziert auf die Action Registry

Hier werden die  Servcies gespeichert

B2BBP_ADM_ACCOUNT

  • Hier sind die User/Passwortinformationen für DB basierte Benutzerverwaltung gespeichert

B2BBP_ADM_ACTION_PROPERTY

  • Wird nicht benutzt

B2BBP_ADM_ACTION_REPOSITORY

  • Wird nicht benutzt

B2BBP_ADM_CHANNEL

  • Channels

B2BBP_ADM_CONTENT

  • Content

B2BBP_ADM_EXTENSION

  • Extensions

B2BBP_ADM_GLOBAL_PROPERTY

  • Global Properties

B2BBP_ADM_QUEUE

  • Queue Tabelle

B2BBP_ADM_ROLE

  • Rollen

B2BBP_ADM_ROLE_ATTRIBUTE

  • Berechtigungsobjekte

B2BBP_ADM_USER

  • Zuordnung von Usern zu Rollen

B2BBP_ANALYTICS_MEMORY

  • Für den Support

B2BBP_ANALYTICS_THREAD

  • Für den Support

B2BBP_CCM_SCHEDULED_RESULT

  • CCM

B2BBP_DATA_CLEARING

  • Clearing Status Details

B2BBP_DATA_CLEARING2

  • Clearing Status Details CCM

B2BBP_DATA_SYSTEM_ERROR

  • Systemfehler

B2BBP_DATA_INBOX

  • CCM

B2BBP_DATA_LOCKTAB

  • Sperrtabelle

B2BBP_DATA_MAIL_MONITOR

  • CCM

B2BBP_INDEX_SYNC

  • INDEX

B3P_ADM_SYSTEMMESSAGEHISTORY

  • Systemnachrichten

B3P_ADM_SYSTEMMESSAGES

  • Systemnachrichten

B3P_DATA_STATES_HISTORY

  • Systemnachrichten

 

View Me   Edit Me