Installation
Diese Seite beschreibt die Installation eines beliebigen IFAS-Services/IFAS-Jobs und ist für jede Art von IFAS-Service (Dokumentenserver, MuSchG-Service, Asbest-Service, SBA-Report-Service, ...) gültig.
Auf den Unterseiten der Services befinden sich eventuell weitere Konfigurationsschritte, welche für den jeweiligen Service erforderlich sind.
Inhalt
- Tomcat Konfiguration
- Installation mehrerer IFAS-Services/Jobs innerhalb eines Tomcats
- Anmelden mit der IFAS-Benutzerkennung
- Konfiguration MS-SQL-Server
- Logging
- Fehlerbericht der letzten 24 Stunden
- DB-Sperren für IFAS-Jobs
- E-Mail Versand
- Netzwerkfreigaben
- Update der Services/Jobs oder der Java-Version
Tomcat Konfiguration
- Ein installierter und konfigurierter Tomcat aus der 10er Reihe wird hier als gegeben vorausgesetzt ( Download).
- Als Java-Laufzeitumgebung sollte entweder unsere bereit gestellte Java Laufzeitumgebung verwendet werden oder, falls diese z.B. von einem Rechenzentrum vorgegeben wird, die aktuelle Java-LTS Version (derzeit Java 17).
- Der Service benötigt als Minimum 256 MB RAM.
- Im conf-Verzeichnis des Tomcats müssen 2 Dateien angelegt werden: Eine Datei ndat.dft und eine Datei standard.cnf
- Die Datei standard.cnf benötigt genau einen Parameter, nämlich den Parameter DBNAME. Dieser Eintrag zeigt auf einen gleichlautenden ndat-Sektionsnamen in der Datei ndat.dft. Hierdurch wird die richtige DB-Verbindung beim Start hergestellt:
DBNAME=IFAS-DB
- Weitere Einträge in der standard.cnf sind möglich (z.B. Einträge zum Logging), aber nicht notwendig
- Wenn mehrere IFAS-Services oder IFAS-Jobs in einem Tomcat laufen, besteht die Möglichkeit unterschiedliche standard.cnf-Dateien zu nutzen (Details siehe unten)
- Die Datei ndat.dft muss mindestens eine ndat-Sektion mit dem oben in der standard.cnf versehenen Namen enthalten, im diesem Fall [IFAS-DB]. Unter dieser Zeile sind die Verbindungsparameter zur Datenbank einzutragen, welche die anderen IFAS-Module benutzen. Diese Parameter stehen in der Datei ndat.dft im Installationsverzeichnis von IFAS.
- Die aktuelle Version des Services muss nun in das Verzeichnis webapps kopiert werden (diese sind auf den Unterseiten zu finden, siehe oben).
- Das Logging sollte konfiguriert werden, siehe dazu unten
- Wenn der Tomcat bereits läuft, beginnt der Tomcat mit dem Deployen und Starten des Services, andernfalls sollte der Tomcat nun gestartet werden. Wenn kein Fehler angezeigt wird, startet der Service erfolgreich.
In der Standardausgabe des Tomcats sollte dann folgende oder ähnliche Ausgabe stehen:
2021-03-31 14:04:54.358 INFO 2804 --- [ main] d.k.i.r.SxApplication : Starting SxApplication v5.18.0-SNAPSHOT on kn-jpossin with PID 2804 (D:\Dev\restservices\ifasplusservice\ifasplus-service.war started by jpossin in D:\Dev\restservices\ifasplusservice) 2021-03-31 14:04:54.368 INFO 2804 --- [ main] d.k.i.r.SxApplication : The following profiles are active: nosecurity 2021-03-31 14:04:58.462 INFO 2804 --- [ main] o.s.b.w.e.t.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2021-03-31 14:04:58.527 INFO 2804 --- [ main] o.a.c.c.StandardService : Starting service [Tomcat] 2021-03-31 14:04:58.527 INFO 2804 --- [ main] o.a.c.c.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39] 2021-03-31 14:05:04.791 INFO 2804 --- [ main] o.a.c.c.C.[.[.[/ifasplus-service] : Initializing Spring embedded WebApplicationContext 2021-03-31 14:05:04.791 INFO 2804 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 10183 ms 2021-03-31 14:05:14.982 INFO 2804 --- [ main] o.s.s.w.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@31920ade, org.springframework.security.web.context.SecurityContextPersistenceFilter@2a225dd7, org.springframework.security.web.header.HeaderWriterFilter@46271dd6, org.springframework.security.web.authentication.logout.LogoutFilter@6337c201, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@125290e5, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@616ac46a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1d483de4, org.springframework.security.web.session.SessionManagementFilter@7c51f34b, org.springframework.security.web.access.ExceptionTranslationFilter@2049a9c1] 2021-03-31 14:05:15.017 INFO 2804 --- [ main] o.s.s.w.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@45a4b042, org.springframework.security.web.context.SecurityContextPersistenceFilter@1ae8bcbc, org.springframework.security.web.header.HeaderWriterFilter@2b175c00, org.springframework.security.web.authentication.logout.LogoutFilter@5cdec700, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@78aa1f72, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6cdba6dc, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7d3d101b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@16b2bb0c, org.springframework.security.web.session.SessionManagementFilter@3eb81efb, org.springframework.security.web.access.ExceptionTranslationFilter@4066c471, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@19e7a160] 2021-03-31 14:05:15.057 INFO 2804 --- [ main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] 2021-03-31 14:05:15.257 INFO 2804 --- [ main] o.s.s.c.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-03-31 14:05:15.362 INFO 2804 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2021-03-31 14:05:15.622 INFO 2804 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler' 2021-03-31 14:05:15.757 INFO 2804 --- [ main] o.s.b.w.e.t.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '/ifasplus-service' 2021-03-31 14:05:15.762 INFO 2804 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed 2021-03-31 14:05:15.827 INFO 2804 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) 2021-03-31 14:05:16.009 INFO 2804 --- [ main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references 2021-03-31 14:05:16.572 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getKatalogBySubidUsingGET_1 2021-03-31 14:05:16.690 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteBlobUsingGET_1 2021-03-31 14:05:16.695 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteSxUsingGET_1 2021-03-31 14:05:16.698 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getKatalogeUebersichtUsingGET_1 2021-03-31 14:05:16.700 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getNewSxErfassungUsingGET_1 2021-03-31 14:05:16.700 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getSxErfassungUsingGET_1 2021-03-31 14:05:16.705 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getSxSyncDataListeUsingGET_1 2021-03-31 14:05:16.713 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveSxErfassungUsingPOST_1 2021-03-31 14:05:16.728 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getImageUsingGET_1 2021-03-31 14:05:16.737 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteBlobUsingGET_2 2021-03-31 14:05:16.737 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteSxUsingGET_2 2021-03-31 14:05:16.775 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteSxUsingGET_3 2021-03-31 14:05:16.780 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getKatalogeUebersichtUsingGET_2 2021-03-31 14:05:16.785 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getNewSxErfassungUsingGET_2 2021-03-31 14:05:16.790 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getSxErfassungUsingGET_2 2021-03-31 14:05:16.795 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getSxErfassungUsingGET_3 2021-03-31 14:05:16.798 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getSxSyncDataListeUsingGET_2 2021-03-31 14:05:16.808 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveBsAndMakeRevisionUsingGET_1 2021-03-31 14:05:16.813 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveBsAndMakeRevisionWithBsDataUsingPOST_1 2021-03-31 14:05:16.818 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveSxErfassungUsingPOST_2 2021-03-31 14:05:16.836 INFO 2804 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getKatalogByNameUsingGET_1 2021-03-31 14:05:16.890 INFO 2804 --- [ main] d.k.i.r.SxApplication : Started SxApplication in 23.778 seconds (JVM running for 36.517)- Bei einem Fehler (z.B. fehlerhafte Verbindungsparameter zur Datenbank) startet der Web-Service i.d.R. nicht. In den log-Dateien des Tomcats finden sich in diesen Fällen weitere Hinweise zur Fehlerbehebung. Im abgebildeten Beispiel wurde in der standard.cnf der der Name der ndat-Sektion falsch geschrieben. Aus diesem Grund kann auch keine DB-Verbdinung aufgebaut werden:
Caused by: de.kisters.db.NdatDbException: Datenbankverbindung 'IFAS-SQL-Sevrer' nicht vorhanden. Error JDBC Database Driver not found: null DATABASE_DRIVER_PATH: jar/jdbcdrivers.jar DATABASE_DRIVER (Class): null at de.kisters.ifas.allgemein.tools.IfasNdat.dbErrorMsg(IfasNdat.java:151) at de.kisters.ifas.allgemein.tools.IfasNdat.dbConnectDirect(IfasNdat.java:298) at de.kisters.ifas.allgemein.tools.IfasNdat.dbConnect(IfasNdat.java:228) at de.kisters.ifas.allgemein.tools.DBUtils.dbConnect(DBUtils.java:172) at de.kisters.ifas.allgemein.tools.DBUtils.dbConnect(DBUtils.java:162) at de.kisters.ifas.services.IfasServletStart.init(IfasServletStart.java:98) at de.kisters.ifas.services.IfasServletStart.initAndDbUpdate(IfasServletStart.java:46) at de.kisters.ifas.rest.SxApplication.main(SxApplication.java:33) ... 8 more
- Falls der Service läuft, kann eine Testseite unter folgender URL erreicht werden: http://IP-ADRESSE-DES-SERVERS:PORT-DES-SERVERS/NAME-DER-WAR_DATEI_OHNE_ERWEITERUNG/ifasversion Die Ausgabe sollte so oder ähnlich sein:
IFAS Revisionsnummer: 57.730
Erstellungsdatum: 19.07.2018 14:23:54
Name der verbundenen Datenbank: IFAS-SQLserver
Speicher: 433.840.808 / 3.739.746.304 = 11%
Java 1.8.0_172 - 64 bit / Windows 10 10.0
Installation mehrerer IFAS-Services/Jobs innerhalb eines Tomcats
Es können mehrere IFAS-Services/Jobs problemlos innerhalb eines Tomcats laufen. Standardmäßig teilen sich die Programme die Konfigurationsdatei standard.cnf. Beim Start sucht jeder Service/Job aber eine standard.cnf unter einem individuellen Namen. Falls unter diesem Namen keine Datei gefunden wurde, wird nach dem Standard-Namen "standard.cnf" gesucht. So ist es möglich einen Service mit Parametern zu starten, die nur für diesen einen Dienst gelten (z.B. eine andere Datenbank-Verbindung).
Dies sind die genauen Namen für die einzelnen standard.cnf-Dateien:
Service/Jobname Name der standard.cnf Asbest Service asbestservice-standard.cnf Dokumentenserver ids-standard.cnf Formularserver formserver-standard.cnf Entgelt Service (Heimarbeit) entgeltservice-standard.cnf MuSchG Service muschgservice-standard.cnf IFAS Plus Service ifasplusservice-standard.cnf SBA Report Service sbareportservice-standard.cnf SprengG Service sprengservice-standard.cnf IFAS Jobs ifasjob-standard.cnf IFAS NiSV Service nisvservice-standard.cnf Heimaufsicht Service heimaufsichtservice-standard.cnf Arbeitszeit Service azserviceservice-standard.cnf Anmelden mit der IFAS-Benutzerkennung
Bei allen IFAS-Services ist standardmäßig eine HTTP-Basis-Authentifizierung aktiviert.
Wenn aus den IFAS-Modulen heraus einer dieser Services aufgerufen wird (Zugriff auf ein Schreiben im VIS, Erstellung einer Systembewertung), geschieht diese Authentifizierung im Hintergrund und damit transparent für den Anwender. Wird dagegen auf den Service direkt im Browser zugegriffen, müssen Benutzer/Passwort direkt eingegeben werden.
Falls die Anmeldung über die Windows Domäne (Active Directory) erfolgt, ist das Passwort vom Anwender in der IFAS Benutzerverwaltung evtl. nicht bekannt bzw. keines gesetzt. Für diesen Fall sollten dann Kennwörter für die Benutzer vergeben werden.
Die Anmeldung lässt sich über die cnf-Variable SERVICE_ANMELDUNG in der standard.cnf deaktivieren, hierzu muss folgender Eintrag in die vom IFAS Plus Service/Dokumentenserver genutzten Datei standard.cnf eingefügt werden:
SERVICE_ANMELDUNG=0Die früher genutzte Variante mit der Datei application.yml wird nicht mehr unterstützt, sollte diese Datei noch existieren, sollte diese gelöscht werden.Konfiguration MS-SQL-Server
SSL-Verbindung
Bei neueren eingesetzten MS-SQL-Server-Treibern ist eine SSL-Verbindung zur DB verpflichtend. Ist das Zertifikat auf dem Tomcat nicht bekannt, kann es zu folgender Fehlermeldung kommen:javax.servlet.ServletException: DB connection failure: Datenbankverbindung 'Heimaufsicht' nicht vorhanden. Error NdatJdbc Db-Connect: Der Treiber konnte keine sichere Verbindung mit SQL-Server Über die SSL-(Secure Sockets Layer)-Verschlüsselung herstellen. Fehler: 'PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target'. ClientConnectionId:4d419d34-5faa-4c90-b2e5-8c0107372baaAls Fehlerbehebung funktioniert derzeit leider nur folgender Workaround: In der Datei ndat.dft wird die Überprüfung des Host-Zertifikats durch Hinzufügen der URL mit den Parametern "encrypt=true;trustServerCertificate=true;" abgeschaltet, z.B.:[IFAS] DATABASE_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver DATABASE_CONNECT=jdbc:sqlserver://rechnername;databaseName=IFAS;integratedSecurity=false;encrypt=true;trustServerCertificate=true; ... weitere Angaben ....Integrierte Authentifizierung des SQL-Servers nutzen (Active-Directory)
Zum Herstellen einer DB-Verbindung vom Tomcat zum DB-Server kann der Windows-Benutzer, unter dem der Tomcat ausgeführt wird, genutzt werden. Der DATABASE_CONNECT-Eintrag in der ndat.dft muss die Verwendung der Authentifizierung über das Active-Directory über integratedSecurity=true; aktivieren:
DATABASE_CONNECT=jdbc:sqlserver://localhost:1434;databaseName=IFAS;integratedSecurity=true;Auf der Downloadseite des jeweiligen Service sind die zum in der war-Datei ausgelieferten Microsoft SQL JDBC Treiber gehörigen DLL-Dateien zum Download zu finden.
Damit der tomcat die DLL laden kann muss sie in einem der Verzeichnisse liegen, die vom tomcat nach DLLs durchsucht werden. Die Liste der zu durchsuchenden Verzeichnisse kann beim Start des tomcat über die Systemeigenschaft java.library.path festgelegt werden.
Per Default ist java.library.path auf den Wert der Windows Umgebungsvariable PATH gesetzt. Zusätzlich wird das bin Verzeichnis der Java Umgebung durchsucht, die zum Start des tomcat verwendet wird.
Es wird empfohlen die DLL in das Verzeichnis C:\Kisters\ifas\bin\jar\jdbcdrivers zu kopieren und dieses Verzeichnis in java.library.path anzugeben.
Wird der tomcat als Dienst ausgeführt, ist die Konfiguration über die Oberfläche von tomcat9w.exe zu konfigurieren. Auf dem Reiter Java ist unter Java Options -Djava.library.path=C:\Kisters\ifas\bin\jar\jdbcdrivers zu ergänzen.
Alternativ kann die DLL in das bin Verzeichnis der Java Installation kopiert werden, die zum ausführen des tomcat verwendet wird. Bei einer Aktualisierung der Java Version ist dieser Schritt dann zu wiederholen.
Logging
Um in einem Fehlerfall, oder bei anderen unerwarteten Ereignissen, eine genaue Fehleranalyse durchführen zu können, gibt es 2 unterschiedliche Mechanismen zum Logging: Das Schreiben in eine Datei im Tomcat und das Loggen in die Datenbanktabelle ifas_log.
Das Loggen in eine Datei muss konfiguriert werden, das Loggen in die DB geschieht standardmäßig bei schwer wiegenden Fehlern.
Logging in Datei
Es ist ratsam, das Logging innerhalb des Tomcats zu konfigurieren. Gerade im Testbetrieb sollte ein niedriger log-Level eingestellt werden.
Die beiden folgenden Werte müssen in der standard.cnf gesetzt werden, um das Logging in eine Datei innerhalb des Tomcats zu aktivieren und können als Standardwerte für jeden Service genutzt werden:
LOG4J=$CATALINA_BASE\logs\service-log4j.log LOG4JCLASSES=de.kisters.ifas=Info,de.kisters.ifas.rest=Debug,de.kisters.ifas.services=DebugDiese Werte sorgen für das Erzeugen einer log-Datei service-log4j.log innerhalb des logs-Verzeichnis des Tomcats. Eine ausführliche Erläuterung der cnf-Parameter in der Datei standard.cnf befindet sich hier.
Logging in DB-Tabelle ifas_log
Standardmäßig werden schwere Fehler immer auch in die Tabelle ifas_log geschrieben. Dieses Verhalten kann abgeschaltet werden (nicht empfohlen) oder aber auch erhöht werden, so dass alle log-Meldungen in die DB geschrieben werden. Dies ist vor allem für den Fall praktisch, wenn der Zugriff auf das Dateisystems des Tomcats nicht ohne weiteres möglich ist (z.B. wenn sich der Tomcat innerhalb eines Rechenzentrums befindet und der Zugriff auf die log-Dateien nur über Dritte möglich ist).
Das Logging kann systemweit über die cnf-Variablen LOG4JDATABSECLASSES und LOG4JDATABASELEVEL gesetzt werden, oder aber auch in der standard.cnf eines Tomcats:LOG4JDATABASELEVEL=DEBUG LOG4JCLASSES=de.kisters.ifas.rest,de.kisters.ifas.servicesHohe Log-Level (DEBUG, INFO) führen hier zu einer erheblichen DB-Belastung und deutlichen Perfomance-Einbußen, und sollten daher nur im Testbetrieb aktiviert werden. Der Log-Level TRACE wird unabhängig der Konfiguration nie in die DB geloggt.Fehlerbericht der letzten 24 Stunden
Um einen besseren Überblick, gerade bei mehreren Diensten zu behalten ist es ratsam, den Fehlerbericht der letzten 24 Stunden zu aktivieren. Eine Anleitung befindet sich hier.
DB-Sperren für IFAS-Jobs
Jeder IFAS-Job trägt sich zum Start seiner Ausführung in die Benutzerverwaltung ein und zum Ende der Ausführung auch wieder aus. So sind über die Benutzerverwaltung die einzelnen Jobs im Karteireiter "Monitor" sichtbar:
Durch diese Einträge sperrt ein Job die DB, eine erneute Ausführung des gleichen Jobs (nicht aber eines anderes Jobs, siehe Bildschirmfoto: hier werden 2 verschiedene Jobs zur gleichen Zeit ausgeführt) wird verhindert.
Somit wird vermieden, dass ein IFAS-Job, falls er aus Versehen in verschiedene Tomcats auf die gleiche DB zugreift, parallel ausgeführt wird. Dies kann zu schwer zu entdeckenden Fehlern führen und wird somit dadurch verhindert.
In seltenen Fällen kann es passieren, dass ein Job nicht bis zum Ende durchläuft (z.B. Absturz des Tomcats, Abreissen der DB-Verbindung während der Ausführung) und dadurch nach Ende des Jobs der Eintrag in der DB nicht mehr entfernt wird. Im Fehlerbericht der letzten 24 Stunden findet sich dann dort ein Eintrag (oder auch direkt in der Tabelle ifas_log):
In den log-Dateien findet sich hierzu auch ein entsprechender Eintrag zum Abbruch des Jobs:20 Dez. 2023 15:02:00 ERROR de.kisters.ifas.jobs.dmstransfer.common.AIfasJob.isJobInDb(AIfasJob.java:123): Job Fabasoft-Job ist bereits in Tabelle bwlmx eingetragen, Job wird abgebrochenSollte dies der Fall sein und man sich sicher ist, dass der Job nicht auf verschiedenen Rechnern/Tomcats ausgeführt wird, kann der Eintrag in der Benutzerverwaltung gelöscht werden:
E-Mail Versand
In einigen Services kann ein (optionaler) E-Mail-Versand eingerichetet werden. Falls eine Benutzeranmeldung am SMTP-Mailserver nötig ist ist diese über die Passwortverwaltung im Admin-Modul zu konfigurieren: Im Feld "Konto" ist der Anmeldename, im Feld "Passwort" ist das Paßwort zu hinterlegen. Falls die Absenderemailadresse nicht der gleiche Name wie der Anmeldename ist, so ist diese im Feld "Kennung" einzutragen:
Außerdem müssen folgende cnf-Variablen in der genutzten standard.cnf Datei getätigt werden:
Bedeutung EMAIL_HOST Domain oder IP-Adresse des E-Mailservers EMAIL_PORT Portnummer des E-Mailservers EMAIL_ENABLE_TLS (optional) Hiermit kann die TLS-Transportverschlüsselung an oder abgeschaltet werden. Standardmäßig ist diese angeschaltet:
0: TLS-Transportverschlüsselung aus
1: TLS-Transportverschlüsselung an (Standardwert)Fehlersuche
Im Fehlerfall kann eine genaue Ausgabe in einer Datei $texte/mail.log protokolliert werden. Hierzu muss Log4J aktiviert sein und der Wert LOG4JCLASSES muss um den folgenden Zusatz ergänzt werden:de.kisters.tools.mail=DEBUG Wurde das Debugging erfolgreich eingestellt wird in jedem Fall eine Datei mail.log iom Verzeichnis $texte erstellt. Diese Datei wird auch im Erfolgsfall geschrieben und enthält sämtliche Informationen der Mail, d.h. diese Funktion sollte nur zur Fehlersuche aktiv sein.
Beispielausgabe:
DEBUG: Jakarta Mail version 1.6.7 DEBUG: successfully loaded resource: /META-INF/javamail.default.providers DEBUG: Tables of loaded providers DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle]} DEBUG: Providers Listed By Protocol: {imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle]} DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle] DEBUG SMTP: need username and password for authentication DEBUG SMTP: protocolConnect returning false, host=testsystem, user=Jörg Possin, password=DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "testsystem", port 25, isSSL false 220 mail1.kisters.de ESMTP Tue, 12 Dec 2023 20:08:36 +0100 DEBUG SMTP: connected to host testsystem", port: 25 EHLO 250-testsystem Hello computer [*.*.*.*], pleased to meet you 250-ETRN 250-AUTH LOGIN PLAIN 250-8BITMIME 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-STARTTLS 250 SIZE ... Netzwerkfreigaben
Einige der IFAS-Services/Jobs benötigen Zugriff auf das komplette IFAS-Ablageverzeichnis, das über die Konfigurationsvariable IFAS_TEXTE konfiguriert ist. Der Zugriff wird z.B. von allen DMS-Jobs/Services benötigt. Zum Übertragen/Anzeigen der Schreiben oder vom Formularserver zur Erstellung von Schreiben aus Dateianhängen. Daher muss folgendes sichergestellt werden:Laufen die Services/Jobs unter einem Linux-System, muss zusätzlich noch die Konfigurationsvariable IFAS_TEXTE_REPLACEMENT gesetzt werden.
- Der Rechner auf dem der Tomcat läuft muss Zugriff über das Netzwerk auf den Rechner haben, auf dem sich die Windows-Freigabe befindet
- Der Benutzer unter dem der Tomcat läuft muss Zugriffsrechte (Lese und Schreibrechte) auf das IFAS-Ablageverzeichnis haben
Update der Services/Jobs oder der Java-Version
- Bei einem Update ist zunächst der Dienst zu stoppen. Bei lokaler Installation muss hierzu das laufende Programm beendet werden, bei der Installation im Tomcat muss der IFAS-Service beendet werden.
- Die neueste Version des IFAS-Services herunterladen und bei lokaler Installation in das Installationsverzeichnis kopieren (z.B. c:\ifas\sxservice). Bei Installation im Tomcat in das Tomcat-Verzeichnis webapps kopieren.
- Anschließend kann der Service wieder gestartet werden:
Update/Wechsel der Java Version
Über den Tomcat Service Konfigurationsdialog:
Die neue Java-Version muss hierzu bereits zuvor in ein Verzeichnis kopiert worden sein. Unter Windows empfiehlt es sich, die auch für die IFAS-Module bereit gestellte Java Laufzeitumgebung zu nutzen.
- In der Zeile "Java Virtual Machine" ist auf die Datei jvm.dll der neu installierten Java-Version zu verweisen (im Beispiel "C:\Kisters\ifas\ifas-jre17\bin\server\jvm.dll")
- Folgende Java 9 Optionen müssen aus Kompatibilitätsgründen hinzugefügt werden:
--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED- So sieht der fertig konfigurierte Dialog aus:
![]()