Page History
Navitabs | ||||
---|---|---|---|---|
| ||||
SOSIGW | Installationsvejledning for SOSIGW 1.2 |
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
Version | Dato | Ændring | Ansvarlig |
1 | 09/10/09 | Initiel version af dokument | jre |
2 | 15/10/09 | Formattering og præciseringer | jre |
3 | 19/10/09 | Præciseringer | pto |
4 | 19/10/09 | Præciseringer | Pto |
5 | 30/3/11 | Dokumentation af muligheden for flere | Jrf |
6 | 15/6/11 | Dokumentation af installation på JBoss 6 | JRF |
7 | 29/08/13 | Opdateret med NSP-GW muligheder | CHE |
8 | 11/05/16 | Dokumentation af installation på Wildfly | OBJ |
9 | 17/06/16 | Dokumentation af opsætning af HTTPS | OBJ |
Anchor | ||||
---|---|---|---|---|
|
...
Der kræves maskiner med mindst to separate netværk. Dette krav kan opfyldes enten ved at benytte servere med to fysiske netkort eller ved at benytte VLAN. I begge tilfælde skal de to net konfigureres til at være separate. Formålet er at have et net, der udelukkende kan tilgås af SOSI-GW serverne, til intra-cluster kommunikation. Til test og udviklingsformål kan man nøjes med ét netkort.
Der kræves maskiner med tilstrækkeligt med RAM og CPU til at bære belastningen. Tests hos Trifork har vist at det er tilstrækkeligt med 1.5GB RAM og en 1.5GHz cpu for at servicere omkring 20.000 brugere med omkring 100.000 webservice-kald gennem SOSI-GW i timen. Der kan med fordel anvendes maskiner med flere cores/CPU'er, hvis større belastning forventes.
Der bør anvendes mindst to servere og en loadbalancer (eller auto-balancerende klienter) for at kunne benytte fail-over og rullende opgradering uden afbrydelse af servicen overfor brugerne. Der kan også opsættes flere maskiner, hvis der ønskes skalerbarhed ud over hvad to maskiner kan bære.
SOSI-GW er fuldstændig afhængig af korrekt systemtid og korrekt tidszone. Systemtiden indgår i de id-kort, der udstedes, og den skal ikke være mange sekunder forkert, før id-kortet ikke fungerer. Cluster-funktionaliteten kræver at systemtiden forløber kontinuerligt, mens den er mindre interesseret i at den er præcis. Som samlet resultat kræves der at serveren benytter NTP eller lignende, med en god implementation, der aldrig skifter tiden brat, men kun påvirker den ved glidende at tilpasse systemtiden til virkeligheden. Skulle det blive nødvendigt "hårdt" at "stille" systemtiden bør SOSI-GW stoppes på den pågældende server først.
Anchor | ||||
---|---|---|---|---|
|
...
For Java7 og Java8 konfigureres dette tilsvarende. De 2 jar-filer findes her:
- Java7: {+}http://www.oracle.com/technetwork/java/javase/downloads/jce+-7http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.htmldownload-432124.html[ |http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html]
- Java8: {+}http://www.oracle.com/technetwork/java/javase/downloads/jce8+http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.htmldownload-2133166.html[ |http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html]
...
Se script i sosigw/etc/sql/create-global-mysql-db.sql og tips i sosigw/doc/postgresqlsetup-notes.txt. Der er til test benyttet charset="UTF-8" i databasen. Bemærk at der
IKKE må anvendes de passwords, som foreslås i scriptene! Det er sikkerhedsmæssigt uforsvarligt at drifte med password lig med brugernavn.
Anchor | ||||
---|---|---|---|---|
|
SOSI-GW kræver en servlet-container version 2.4. Der er til test og udvikling benyttet Apache Tomcat version 5.5.25 og Trifork T4 version 4.1.29. SOSI-GW er desuden afhængig af NSP-Util som kræver at opsætningsfilen 'nspslalogsosigw.properties' findes i de nedenstående mapper. Placeringen af nspslalogsosigw.properties kan desuden defineres eksplicit ved at sætte
"dk.sdsd.nsp.slalog.config.dir" som Java property ved serveropstart. For eksempler på indhold i konfigurationsfilen henvises til NSP-util kildekoden i 'etc/nspslalogEXAMPLE.properties'
Anchor | ||||
---|---|---|---|---|
|
...
/server/default/conf
Ved start af JBoss skal det sikres at der reserveres tilstrækkeligt med RAM til Java heap. Dette gøres for tiden ved at sætte "JAVA_OPTS=-Xmx1024m" før start, eller rette i JBOSS.HOME/bin/run.conf. 1024 megabytes til heapen kræver at maskinen har mindst 1.2GB ram til rådighed.
Anchor | ||||
---|---|---|---|---|
|
...
<datasources> ...
<datasource jndi-name="java:/jdbc/sosigwlocal" pool-name="sosigwlocal" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sosigwlog</connection-url>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<datasource jndi-name="java:/jdbc/nspslalog" pool-name="nspslalog"
enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/nspslalog</connection-url>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<datasource jndi-name="java:/jdbc/sosigwgloballog" pool-name="sosigwgloballog" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sosigwgloballog</connectionurl>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<datasource jndi-name="java:/jdbc/centralslalog" pool-name="centralslalog" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sosigwcentrallog</connectionurl>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security> </datasource> ...
<drivers> ...
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.jdbc.Driver</driver-class> </driver>
</drivers>
</datasources>
Et eksempel på definitioner findes i etc/wildfly/standalone/configuration/ standalone.xml.
3. Såfremt SOSI-GW skal kunne kaldes med HTTPS, konfigureres dette ligeledes i standalone.xml:
Under "security-realms" tilføjes følgende:
<security-realm name="SslRealm">
<authentication>
<truststore path="truststore.jks" relative-to="jboss.server.config.dir" keystorepassword="changeme"/> </authentication>
<server-identities>
<ssl>
<keystore path="keystore.jks" relative-to="jboss.server.config.dir" keystorepassword="changeme"/> </ssl>
</server-identities> </security-realm>
En java-keystore med et gyldigt SSL servercertifikat, udgivet af en gængs certifikatudbyder, placeres i standalone/configuration. Filnavn og password tilrettes i ssl/keystore linjen vist ovenfor.
I afsnittet authentication/truststore angives en anden java-keystore med navn og password, i hvilke SSL-klient-certifikater, der eksplicit skal trustes, kan placeres. Denne keystore placeres ligeledes i standalone/configuration.
Under linjen <http-listener name="default" socket-binding="http"/> tilføjes en ny linje:
<https-listener name="default-ssl" socket-binding="https" security-realm="SslRealm" verify-client="REQUIRED"/>
verify-client="REQUIRED" bevirker at der valideres for gyldigt og trusted klient-certifikat i SSL-handshake. Dette kan undlades, hvis klient-certifikat ikke skal valideres.
Default https-port er 8443. Dette kan tilrettes i samme fil.
- Tilret konfiguration af max. memory allocation pool:
set "JAVA_OPTS=-Xms64M -Xmx1024M -XX:MaxPermSize=256M"
Dette tilrettes i bin/standalone.conf.bat eller bin/standalone.conf, afhængigt af anvendt operativsystem.
- Kopier konfigurationsfiler til standalone\configuration:
...
<path name="com/sun/org/apache/xerces/internal/dom"/>
<path name="com/sun/org/apache/xerces/internal/xni"/> <path name="com/sun/org/apache/xerces/internal/jaxp"/>
i filen modules/system/layers/base/sun/jdk/main/module.xml. Eksempel på filen findes i etc/wildfly/modules.
- Deploy sosigw.war til Wildfly ved at kopiere filen ind i standalone/deployments
...
Ønskes at SOSI-GW altid skal initiere udgående HTTPS forbindelser, kan der i konfigurationen angives HTTPS-adresser på endpoints til STS og DCC (i det omfang dette understøttes).
Hvis der angives en URL i "To" i WsAddressing SOAP-headeren, vil disse gennemstilles uændret til NSP services af SOSI-GW Proxy-operationen, også selvom der er tale om almindelige HTTP-adresser.
Såfremt der ønskes at disse viderestilles som HTTPS, kan følgende property konfigureres: force-ssl-requests.enabled=true
Dette vil bevirke at HTTP erstattes af HTTPS i URL'en, og at der initieres en udgående SSL/TLS 1.2 krypteret forbindelse når der anvendes Wildfly 8.2 på Java 8.
Skift væk fra bootstrapmode og genstart
...