Schritt für Schritt Anleitung zum Installieren des EMT-Portals

Voraussetzungen

Zur Installation des EMT-Portals werden folgende Dinge vorausgesetzt:

  • Java Version 1.8.0_201
  • PostgreSQL Datenbank v9.6

Andere Versionen können auch funktionieren, wurden aber von uns nicht getestet.

Downloaden der Fastlane Runtime

Zum Herunterladen der Fastlane Runtime müssen Sie sich mit einem ftp-client Ihrer Wahl (z.B. WinSCP) auf unseren Server Verbinden. Die erforderlichen Login-Daten sollten Sie von uns erhalten haben.

  • Übertragungsprotokoll: FTP
  • Verschlüsselung: TLS/SSL Explizite Verschlüsselung
  • Server Url: download.next-level-apps.com
  • Port: 21

In WinSCP können Sie ein neues Verbindungsziel angeben und die oben genannten Daten eingeben.

WinSCP_Anmeldung
Abbildung 1: Anmeldung mit WinSCP

Nach einer erfolgreichen Verbindung sollten Sie sich im ihrem Downloadverzeichnis befinden. Dort können Sie die portal.zip herunterladen. Das heruntergeladene Archiv kann jetzt am gewünschten Installationspfad entpackt werden.

Einrichten der Konfigurationsdateien

Vor dem Starten der Fastlane ist es notwendig ein paar Anpassungen in den Konfigurationsdateien vorzunehmen.

Verbindung zum mBsE

Die Daten für das EMT-Portal werden vom mBsE per REST-Service bereitgestellt. Damit das Portal die Daten anfordern kann ist es notwendig die Datei /config/rest/default.json anzupassen.

Hier muss die ServerUrl entsprechend der mBsE Konfiguration angepasst werden.

{
	"serverUrl": "http://176.9.78.74:8080",
	"resourcePaths": [{
			"id": "MBSE_AUTH",
			"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/auth/jwt/token"
		},
		{
			"id": "MBSE_BUSINESS_PARTNER",
			"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/businesspartner"
		},
		{
			"id": "MBSE_METERING_LOCATIONS",
			"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/businesspartner/meteringLocations"
		},
		{
			"id": "MBSE_METER_TARIFF_INFO",
			"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/meteringlocation/{meterNumber}/meter"
		},
		{
			"id": "MBSE_METER_READINGS",
			"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/metervalues/{meterNumber}/portal/{obis}?from={from}&to={to}"
		}		
	],
	"useBaseAuth": false,
	"credentials": {
		"username": "abc",
		"password": "def"
	},
	"devMode": true,
	"useSmartEnergyAuth":true
} 

Datenbankverbindung

Zum Einrichten Der Datenbankverbindung gibt es zwei Konfigurationsdateien.

Die Datei “default.properties” befindet sich im Verzeichnis “/portal/jndi”.

fastlane/type=javax.sql.DataSource
fastlane/driver=org.postgresql.Driver
fastlane/url=jdbc:postgresql://localhost:5432/test
fastlane/user=emtadmin
fastlane/password=Test
fastlane/pool=dbConnectionPool

jdbc/masterdata/type=javax.sql.DataSource
jdbc/masterdata/driver=org.postgresql.Driver
jdbc/masterdata/url=jdbc:postgresql://localhost:5432/test
jdbc/masterdata/user=emtadmin
jdbc/masterdata/password=Test
jdbc/masterdata/pool=dbConnectionPool

contact/type=javax.sql.DataSource
contact/driver=org.postgresql.Driver
contact/url=jdbc:postgresql://localhost:5432/test
contact/user=emtadmin
contact/password=Test
contact/pool=dbConnectionPool

sweConfig/type=javax.sql.DataSource
sweConfig/driver=org.postgresql.Driver
sweConfig/url=jdbc:postgresql://localhost:5432/test
sweConfig/user=emtadmin
sweConfig/password=Test
sweConfig/pool=dbConnectionPool

portalConfig/type=javax.sql.DataSource
portalConfig/driver=org.postgresql.Driver
portalConfig/url=jdbc:postgresql://localhost:5432/test
portalConfig/user=emtadmin
portalConfig/password=Test
portalConfig/pool=dbConnectionPool

dashboard/type=javax.sql.DataSource
dashboard/driver=org.postgresql.Driver
dashboard/url=jdbc:postgresql://localhost:5432/test
dashboard/user=emtadmin
dashboard/password=Test
dashboard/pool=dbConnectionPool
dashboard/dbcpMaxActive=20
dashboard/dbcpMaxWait=1000
dashboard/dbcpMaxIdle=2

postcdDS/type=javax.sql.DataSource
postcdDS/driver=org.postgresql.Driver
postcdDS/url=jdbc:postgresql://localhost:5432/test
postcdDS/user=emtadmin
postcdDS/password=Test
postcdDS/pool=dbConnectionPool

In dieser Datei müssen die Variablen “url”, “user” und “password” in jedem Block angepasst werden. Die URL ist wie folgt aufgebaut: jdbc:postgresql://serverip:port/datenbankName In der angegebenen Datenbank muss ein Schema mit dem Namem public existieren.

Im Verzeichnis “/portal/config” befindet sich die Datei application.properties

#DB properties:
db.driver=org.postgresql.Driver
#db.url=jdbc:h2:data/h2db/h2db;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=42421;MULTI_THREADED=TRUE
db.url=jdbc:postgresql://localhost:5432/test
db.username=emtadmin
db.password=Test
 
#Hibernate Configuration:
hibernate.dialect=com.nextlevel.portal.spring.db.CustomPostgreSQLDialect
hibernate.hbm2ddl.auto=update
hibernate.default_schema=public

#passwordPolicy.xmlConfigurationPath=config/XmlConfiguration.xml
passwordPolicy.hashFunctionType=SHA-512
passwordPolicy.minLength=8
passwordPolicy.maxLength=16
passwordPolicy.whitespaceAllowed=false
passwordPolicy.nrOfReqDigits=1
passwordPolicy.nrOfReqLowerCase=1
passwordPolicy.nrOfReqUpperCase=1
passwordPolicy.nrOfReqNoAlphabetic=1
passwordPolicy.nrOfRegCharacteristics=3
passwordPolicy.nrOfOldForbiddenPasswords=5
passwordPolicy.alphabeticalSequenceAllowed=false
passwordPolicy.maxAlphabeticalSequence=3
passwordPolicy.numericalSequenceAllowed=false
passwordPolicy.maxNumericalSequence=3
passwordPolicy.quertySequenceAllowed=false
passwordPolicy.useDictionary=true
passwordPolicy.maxDictionaryWordLength=6
passwordPolicy.dictionaryPath=src/main/resources/dictionary/mlang/german.txt
passwordPolicy.doesPasswordExpire=true
passwordPolicy.passwordExpirationPeriod=1 6 0
passwordPolicy.areFailedLoginTriesLimited=false
passwordPolicy.maxFailedLoginTries=0
passwordPolicy.useSalt=false
passwordPolicy.updateOldHashes=MD5

restClient.configPath=config/rest/default.json

#admin properties
admin.persistAdminUser=true
admin.persistedAdminUserName=nli-admin
admin.persistedAdminPassword=Test

In dieser Datei müssen wie auch vorher “url”, “user” und “password” eingetragen werden.

Ports der Fastlane

Standardmäßig sind für das EMT-Portal die Ports 9091 für http und 19091 für https eingestellt.

Um festzulegen unter welchem Port das Portal zu erreichen ist muss im Verzeichnis “portal/deployed_modules” die Datei WebContainerJetty_nextlevel.com_1.0.properties angepasst werden.

In der ersten Zeile kann der HTTP-Port geändert werden und in Zeile sechs kann der HTTPS-Port angepasst werden.

#[ModuleId:  Name:WebContainerJetty, Provider:nextlevel.com, Version:1.0, Alias:jetty]
#Thu Jan 25 12:52:31 CET 2018
HTTP_PORT=9091
CERTIFICATE_ALIAS=jetty_test
HTTP_SESSION_TIMEOUT=3600000
TRUSTSTORE_PASSWORD=kspassword
KEYSTORE_PATH=config/test_keystore.jks
HTTPS_PORT=19091
KEYMANAGER_PASSWORD=keypassword
KEYSTORE_PASSWORD=kspassword
TRUSTSTORE_PATH=config/test_keystore.jks
HTTP_CONNECTION_MAX_IDLE_TIME=6200000
REST_INTERNAL_PORT=10085

CROSS_FILTER_ENABLED=false
CROSS_FILTER_ALLOWED_ORIGINS=*
CROSS_FILTER_ALLOWED_METHODS=GET,POST,HEAD
CROSS_FILTER_ALLOWED_HEADERS=X-Requested-With,Content-Type,Accept,Origin
DOS_FILTER_ENABLED=false
DOS_FILTER_DELAY_MS=-1
DOS_FILTER_MAX_CONNECTIONS_PER_SECOND=5000
ACCESS_LOG_ENABLED=true
ACCESS_LOG_DIRECTORY=logs
ACCESS_LOG_RETAIN_DAYS=5
ACCESS_LOG_TIME_ZONE=GMT
REST_INTERNAL_CONNECT_TIMOUT_MS=600
REST_TRACE=false

GZIP_FILTER_ENABLED=true
GZIP_FILTER_ALLOWED_MIME_TYPES=text/html,text/xml,text/plain,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json,application/xml,application/xml+xhtml,image/svg+xml
GIZP_FILTER_ALLOWED_METHODS=GET,POST,HEAD
GZIP_FILTER_ALLOWED_ORIGINS=*
MIN_THREADS=1
MAX_THREADS=200
CACHE_CONTROL_HEADER=public, max-age=31536000, stale-while-revalidate=2592000 
THROW_SECURITY_EXCEPTION=false 

Standard Administrator

Zum Setzen des Standardadministrators müssen in der Datei application.properties (“/portal/config”) die Werte admin.persistedAdminUserName und admin.persistedAdminPassword entsprechend des gewünschten Benutzernamens bzw. Passwort gesetzt werden. Dieser admin wird beim starten der Fastlane in der Datenbank hinterlegt und hat Zugriff auf alle Funktionen der Admin Seite.

Starten des Portals

Linux

Zum Starten des Portals wird im root Verzeichnis des Portals das Skript startStopFastlaneRuntime mit dem Parameter start ausgeführt. Der Startorgang kann, je nachdem wie viele Mandanten installiert sind, einige Minuten dauern.

./startStopFastlaneRuntime start

In der Datei nohup.out wird die Ausgabe des Portals gespeichert und eventuelle Fehler geloggt.

Windows

Unter Windows kann das Portal mithilfe der Datei “bin/startFastlaneRuntime.bat” gestartet werden. Nach dem Start öffnet sich ein Konsolenfenster, indem die eventuellen Fehlermeldungen ausgegeben werden könnnen. Der Startvorgang kann, je nachdem wie viele Mandanten installiert sind, einige Minuten dauern.

Updaten des Portals

Die Portalupdates stehen als Download einzelner Module auf unserem Download-Server bereit. Hierzu müssen die entsprechenden Module heruntergeladen werden und im Ordner “/portal/deployed_modules” verschoben werden. Dabei muss darauf geachtet werden, dass gleiche Module mit einer älteren Versionsnummer gelöscht werden. Sonst kann es unter umständen passieren, dass beim Starten des Portals das falsche Modul geladen wird.