Eingestellte Unterstützung der HSQLDB
Mit der neuen FTAPI 4.0 wird der Support für die HSQLDB eingestellt.
Sollte Ihr Server noch mit dieser Datenbank laufen oder Sie sind sich nicht sicher, dann wenden Sie sich bitte an uns unter support@ftapi.com
Neues Hashing-Verfahren
Mit der neuen FTAPI 4.0 ändert sich das Hashing-Verfahren.
Daher müssen alle Nutzer beim ersten Login nach dem Update ein neues Passwort wählen (dies kann nach dem ersten Login wieder auf das alte gesetzt werden).
1. Vorbereitungen
Zuerst sollten Sie den FTAPI-Server stoppen.
.../ftapi/ftapi-server/ftapi.sh stop
Hiernach sollten Sie Backups von ihrer Datenbank und ihren Konfigurationsdateien machen. Die Datenbanksicherung muss später noch angepasst und wieder eingespielt werden. Wir gehen im Beispiel davon aus, dass die Datenbank 'ftapidb' und der Benutzer mit den Schreibrechten auf der Datenbank 'ftapiuser' heißt.
mkdir ~/backup_3.5.8 && cd ~/backup_3.5.8 mysqldump -u ftapiuser -p ftapidb -r 3.5.8.sql
Sie werden aufgefortert, das MySQL-Passwort für den Nutzer 'ftapiuser' einzugeben.
cp .../ftapi/ftapi-server/ftapi.sh . cp .../ftapi/ftapi-server/conf/server.xml . cp .../ftapi/.ftapi/config/user-config.properties .
Gegebenenfalls können Sie an dieser Stelle ein System-Update durchführen.
apt-get update -y && apt-get -y upgrade
2. Java Update
Falls Sie eine Java-Version 1.8 installiert haben, können Sie diesen Schrit überspringen, es ist jedoch empfehlenswert, immer die aktuellste Java-Version zu benutzen.
Mehr Informationen, wie Sie die aktuelle Java-Version auf ihrem System Installieren, finden Sie hier.
Da Oracle von sich aus für die meisten Distributionen kein Update-Paket zur verfügung stellt, suchen Sie im Internet nach einer Anleitung für Ihre Distribution, hier als Beispiel für Ubuntu.
Umgebungsvariable
Die Umgebungsvariable JRE_HOME oder JAVA_HOME muss in jedem Fall gesetzt sein, damit ihr FTAPI-System funktionieren kann. Überprüfen Sie dies nach jedem Java Update.
3. Security Policy Update
Laden Sie sich hier die Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files für Java 8 herunter. Entpacken Sie beide .jar-Dateien in das Verzeichnis $JAVA_HOME/lib/security/ oder $JRE_HOME/lib/security/.
4. Anpassung alter Konfigurations Werte
Backup
Bitte seien Sie vor diesem Schritt sicher, dass Sie eine Sicherheitskopie der Datei .../ftapi/.ftapi/config/user-config.properties erstellt haben.
Bitte navigieren Sie in den Ordner .../ftapi/.ftapi/config und führen Sie die folgenden Befehle aus:
sed -i '/ftapi.jdbc.url/d' user-config.properties sed -i '/ftapi.jdbc.driver/d' user-config.properties sed -i '/ftapi.jdbc.username/d' user-config.properties sed -i '/ftapi.jdbc.password/d' user-config.properties sed -i '/ftapi.hibernate.dialect/d' user-config.properties sed -i '/ftapi.webstart.codebase/d' user-config.properties sed -i '/ftapi.webstart.home/d' user-config.properties sed -i '/ftapi.applet.home/d' user-config.properties
5. FTAPI Update
Laden Sie die .zip-Datei, die die Version 4.0 des Servers enthält, herunter und entpacken Sie sie.
In der Datei .../ftapi/ftapi-server/conf/server.xml müssen Sie jetzt die Zeile, in der Sie 'sslEnabledProtocol' und 'ciphers' finden, abändern.
Der neue Eintrag für sslEnabledProtocols lautet:
sslEnabledProtocols="TLSv1.2,TLSv1"
Der neue Eintrag für ciphers lauten:
ciphers="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
In der Datei .../ftapi/ftapi-server/ftapi.sh muss die Zeile, die mit 'CATALINA_OPTS' beginnt, geändert werden.
Passwort merken
Bevor Sie diese Zeile bearbeiten, sollten Sie sich das Passwort für den MySQL-User ("-Dftapi.jdbc.password=???") merken, da wir es später noch verwenden.
Der neue Eintrag für CATALINA_OPTS lautet:
CATALINA_OPTS="-Dftapi.home=$FTAPI_HOME -Dftapi.jdbc.url=jdbc:mariadb://localhost:3306/ftapidb?autoReconnectForPools=true -Dftapi.jdbc.driver=org.mariadb.jdbc.Driver -Dftapi.jdbc.username=ftapiuser -Dftapi.jdbc.password=ihrPasswort -Dftapi.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect"
Ggf. müssen Sie den Datenbanknamen, den Nutzernamen und das Passwort anpassen.
DB-Login-Daten auslagern
Es gibt eine Möglichkeit, die Datenbankdaten in eine externe Datei auszulagern. Wenn Sie Fragen diesbezüglich haben, schreiben Sie gerne eine E-Mail an support@ftapi.com.
Löschen Sie die alte Java-App und kopieren Sie jetzt die neue Java-App in das entsprechende Verzeichnis ihres lokalen Servers.
cd .../ftapi/ftapi-server/webapps rm -r ROOT ROOT.war cp .../neueFTAPIVersion/ftapi-server/webapps .../ftapi/ftapi-server/webapps
6. Einspielen des SQL-Dumps
Bevor wir den SQL-Dump einspielen, müssen Sie einige Anpassungen in der Datenbank vornehmen, damit die Tabellen Unicode-kompatibel sind.
Zuerst sorgen Sie dafür, dass Tabellen, die neu angelegt werden, die utf8_general_ci Collation haben. Hierzu öffnen Sie die Konfigurationsdatei Ihres MySQL-Servers (normalerweise /etc/mysql/my.cnf) und fügen sie folgende Zeilen unter der Zeile [mysqld] hinzu:
character-set-server=utf8 collation-server=utf8_general_ci
Danach starten Sie den mysql-Server neu.
/etc/init.d/mysql restart
Nun müssen Sie noch in dem Datenbankbackup, den Sie vorhin erstellt haben, die Zeichenformate anpassen. Hierzu erstellen Sie eine Arbeitskopie des Dumps. Danach ändern Sie mit einem Befehl alle Charsets im Backup.
cp ~/backup_3.5.8/3.5.8.sql ~/backup_3.5.8/3.5.8_updated.sql sed -i 's@CHARSET=latin1@CHARSET=utf8@' ~/backup_3.5.8/3.5.8_updated.sql
Jetzt verbinden Sie sich mit dem MySQL-Server, um das Backup einzuspielen.
mysql -u root -p
Sie werden aufgefordert, ihr MySQL-root-Passwort einzugeben.
Wenn Sie verbunden sind, löschen sie zuerst die in MySQL vorhandene FTAPI-Datenbank. Danach erstellen Sie sie neu und spielen Sie das Backup ein. Zum Schluss vergeben Sie noch alle Rechte auf der Datenbank an den ftapi-user.
drop database ftapidb; create database ftapidb; use ftapidb; grant ALL on * to ftapiuser; SOURCE ~/backup_3.5.8/3.5.8_updated.sql exit
Jetzt können Sie den FTAPI-Server starten
.../ftapi/ftapi-server/ftapi.sh start
Das Serverupdate wird jetzt ausgeführt. Dies kann bei großen Systemen längere Zeit benötigen. Den aktuellen Status des Updates können Sie im Logfile .ftapi/logs/server.log überprüfen. Nach Abschluß des Updates finden Sie dort die folgende Zeile:
INFO StartupInitializerManager -> Initialization of FTAPI SecuTransfer finished in xxxx ms. Login to https://ihrftapiserver.com:443 for administration.
Der Server ist jetzt wieder per Browser erreichbar.
7. E-Mail Templates anpassen
Loggen Sie sich auf ihrem Server im Browser ein und gehen Sie Administrationsmenü. Editieren sie dort die E-Mail-Templates "E2EDeliveryRedistributable" und "SubmitTicketCreated" wie folgt.
Achtung
Die Einstellungen müssen jeweils einzeln für alle 3 Sprachen angepasst werden. Also in einem Sprachtab ändern, dann speichern, dann im nächsten ändern, dann Speichern, usw.
In "E2EDeliveryRedistributable" ersetzen Sie die Zeile
#set( $url = $config.get("ftapi.base.url") + "/webui/client.html" )
durch
#set( $url = $config.get("ftapi.base.url") + "/webui/inbox.html?releasePending=true" )
In "SubmitTicketCreated" ersetzen Sie die Zeile
#set( $url = $config.get("ftapi.base.url") + "/submit/webUploadSubmitBox.html?submitTicketUuid=" + $ticket.uuid )
durch
#set( $url = $config.get("ftapi.base.url") + "/webui/startProcess.html?process=" + $authKey )
Beide Zeilen befinden sich kurz vor Ende des Template-Codes.
8. Abschluss und Hinweise
Das Update ist jetzt abgeschlossen.
Neues Passwort-Hashing
Da sich der Hashing-Algorithmus der Passwörter geändert hat, werden alle Nutzer nach dem Update aufgefordert, sich ein neues Passwort zu setzen.