Konfigurieren von Apache Tomcat

Wenn Sie Ihre Allegra-Installation dem Internet aussetzen, ist es normalerweise am besten, mit einem Apache HTTP-Server oder IIS-Server als Frontend für Allegra zu arbeiten. Wenn Sie andere Anwendungen unterstützen, die nicht auf demselben Tomcat-Server wie Allegra laufen, aber über denselben Apache HTTP-Server, können Sie Single Sign On verwenden, ohne eine große SSO-Lösung installieren zu müssen.

Allegra benötigt mehr Speicher als die Standardinstallationen von Apache Tomcat bereitstellen. Auf Linux-Systemen können diese Einstellungen wie folgt in der Datei /etc/default/tomcat9 geändert werden:

   JAVA_OPTS="-Djava.awt.headless=true -DJENKINS_HOME=/home/jenkins \\
           -DTRACKPLUS_HOME="/home/trackplus" -DLATEX_HOME="/usr/bin" \\
           -XX:PermSize=384M -XX:MaxPermSize=550M -Xms512M -Xmx1624M \\
           -XX:+UseConcMarkSweepGC"


Auf Windows-Systemen können Sie diese Parameter in der Tomcat-Manager-Anwendung hinzufügen.

Um Allegra auf einem Tomcat-Server hinter einem Apache-Webserver zu betreiben, müssen Sie die folgenden Konfigurationspunkte beachten.

  1. Suchen Sie die Konfigurationsdatei Ihres Apache-Webservers (httpd.conf ist der Standardname). Nehmen wir an, das Verzeichnis, in dem sie sich befindet, ist APACHE_DIR/conf.

  2. Fügen Sie am Ende der Datei folgende Zeile hinzu:

Include <APACHE_DIR> /conf/track.conf
  1. Stellen Sie sicher, dass die folgenden Module irgendwo in Ihrer Apache-Webserver-Konfiguration geladen sind:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  1. Erstellen oder ändern Sie die Datei <APACHE_DIR>/conf/track.conf. Für die Basisauthentifizierung sollte sie wie folgt aussehen:

<Location ~ "/(track|websvn|crm|otherApps)">
    AuthName "Steinbeis GmbH & Co. KG Login"
    AuthType Basic
    AuthUserFile <APACHE_DIR>/conf/.htpasswd
    AuthGroupFile /dev/null
    require valid-user
</Location>

ProxyPreserveHost On
ProxyPass       /track ajp://localhost:9008/track
ProxyPassReverse    /track ajp://localhost:9008/track

In einer realen Umgebung würden Sie hier etwas wie LDAP-Authentifizierung oder SSPI verwenden,
was eine Authentifizierung über Ihre Windows-PC-Anmeldung ohne weitere Kennwortabfrage ermöglichen
würde. Wir verwenden hier nur die Basisauthentifizierung, weil sie einfach einzurichten ist und es
Ihnen ermöglicht, Ihre Installation schnell zu testen.
  1. Um die Passwortdatei für die Basisauthentifizierung zu erstellen, öffnen Sie eine Befehlsshell und geben Sie ein:

 htpasswd -c <APACHE_DIR>/conf/.htpasswd firstUserLoginName
 htpasswd <APACHE_DIR>/conf/.htpasswd secondUserLoginName

und so weiter.
  1. Vergewissern Sie sich, dass Sie die container-basierte Authentifizierung in Allegra aktiviert haben (siehe LDAP und SSO).

  2. Suchen Sie die Tomcat-Server-Konfigurationsdatei server.xml, normalerweise unter <TOMCAT_DIR>/conf. Stellen Sie sicher, dass Sie einen Eintrag wie diesen haben:

<!-- Define an AJP 1.3 Connector on port 9008 -->
<Connector port="9008" protocol="AJP/1.3" tomcatAuthentication="false"
                            redirectPort="8443"/>

Dies sollte es ermöglichen Allegra mit SSO hinter einem Apache Webserver laufen.

Warnung

Dies ist keine vollständige Beschreibung für die Einrichtung einer sicheren Produktionsumgebung. Insbesondere sollten Sie den Standard-Zugangsport (80 oder 8080) in server.xml deaktivieren und SSL-verschlüsselte Verbindungen von Ihrem Apache-Webserver zu den Browsern für den /track-Speicherort erzwingen.