Benutzer-Werkzeuge

No renderer 'pdf' found for mode 'pdf'

Sidebar

ASV-Webseite

Dokumentation

Hilfe



Druck/Export

Drucken/PDF erzeugen

Unattended Installation von ASV unter Debian, Ubuntu-Server

Dokumentation geprüft: Ubuntu 18.04 LTS

Grundsätzliches zur Installation unter Linux

Der ASV-Server sollte grundsätzlich auf einem Linux-Serversystem installiert werden. In der Regel wird zu diesem Zweck ein Linux-System mit minimaler Softwareausstattung gewählt um höchstmögliche Stabilität zu erwirken. Diese Serversysteme werden überwiegend über die Kommandozeile administriert. Sofern man sich von einem Linux-Desktopsystem (Ubuntu, Mint, etc) per ssh einloggt, kann sogar der graphische Installations- und Update-Vorgang von ASV ausgeführt werden. Die beschriebene Vorgehensweise kann bei Bedarf auch von einem Linux-Live-system ausgeführt werden. Von einem Windows PC aus funktioniert der ssh-Zugang mittels Putty auch.

Vorbereitung des Server-Betriebssystems

Debian oder Ubuntu-Server Grundinstallation ohne graphisches Desktopsystem mit Internetzugang, statischer IP-Adresse oder zumindest festem Namen im lokalen Netzwerk.

Installation

Vor der Installation des ASV-Servers muss PostgreSQL Server installiert werden.

Folgende Dateien müssen auf den Server übertragen werden:

  • 2.X.XXX_XXX_XX_by-installer.zip
  • ssl_Z_KM2018_1234.p12

Es wird empfohlen, als Installationsordner /opt/asv zu verwenden. Es kann aber auch ein anderer Ordner gewählt werden. Dabei ist zu beachten, dass keine Leerzeichen, Umlaute oder Sonderzeichen im Pfad verwendet werden.

 sudo adduser asvdss
 sudo mkdir /opt/asv
 sudo chown asvdss:asvdss /opt/asv

Evtl. muss das Paket für unzip erst installiert werden:

 apt-get install zip

Die weiteren Schritte als Benutzer asvdss durchführen:

 sudo su --login asvdss
 cd /opt/asv
 mkdir server
 mkdir installer_2.X.XXX
 cd installer_2.X.XXX

ACHTUNG: Das gezippte Installationsfile 2.X.XXX_XXX_XX_by-installer.zip bzw. das Installationsverzeichnis müssen nun im Verzeichnis installer_2.X.XXX liegen!

 unzip 2.X.XXX_XXX_XX_by-installer.zip
 cd install
 chmod u+x *.sh

Die folgende Datei mit dem Namen „auto-install.xml“ muss ebenfalls im Ordner installer_2.X.XXX/install abgelegt und angepasst werden. Folgendes ist unbedingt in diesem XML-File zu prüfen und ggf. anzupassen (insbesondere die postgres-Konfigurationswerte und - bei Bedarf - die Zertifikatsdaten):

  • Variable installPath : Der absolute Pfad des Installationsverzeichnisses des DSS, hier /opt/asv/server
  • Variable clientCertificateKeyStore : Der relative oder absolute Pfad zur Zertifikatsdatei .p12 mit dem Namen der Zertifkatsdatei
  • Variable clientCertificatePassword : Das Passwort zum zugehörigen Zertifikat .p12
  • Variable postgreHost : Host der Postgresdatenbank, hier localhost
  • Variable postgrePort : Die Portnummer der Postgresdatenbank
  • Variable postgreUsername : Der Benutzer Postgres, hier postgres (default)
  • Variable postgrePassword : Das Passwort des Postgresusers
  • Variable postgreDatabase : Die Datenbank, hier postgres
  • Variabel postgreSchema : Das Schema, hier asv
  • Variable postgreSchemaPwd : Das Passwort für das Schema
  • Variable postgreDBName : Der Datenbankname, hier asv

Sollten Sie eine unattended Erstinstallation des ASV Servers mit einer integrierten H2-Datenbank vornehmen wollen, so ändern Sie einfach die Eintragung useH2 von false auf true im TargetPanel der auto-install.xml-Datei. Die restlichen Zeilen müssen bestehen bleiben, wobei die Eintragungen für die Postgres-Datenbank vorhanden sein sollen aber für die Installation irrelevant sind.

auto-install.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<AutomatedInstallation langpack="deu">
    <de.isb.svp.installer.panels.HelloPanel id="hello"/>
    <de.isb.svp.installer.panels.InstallTypePanel id="type" installType="SERVER"/>
    <de.isb.svp.installer.panels.TargetPanel id="destination" installPath="/opt/asv/server" useH2="false"/>
    <de.isb.svp.installer.panels.ZertifikatPanel id="certs">
        <clientCertificateKeyStore>//HierStehtDerRelativeOderAbsolutePfadZurZertifikatsdateit/ssl_Z_KM20XX_asv.zauner.p12//</clientCertificateKeyStore>
        <clientCertificatePassword>//HierStehtDasZertifikatpasswort//</clientCertificatePassword>
    </de.isb.svp.installer.panels.ZertifikatPanel>     
    <de.isb.svp.installer.panels.CheckSystemPanel id="checks"/>
    <de.isb.svp.installer.panels.DSSClientPanel id="client"/>
    <de.isb.svp.installer.panels.PostgreSQLPanel id="postgres">
        <postgreHost>localhost</postgreHost>
        <postgrePort>5432</postgrePort>
        <postgreUsername>postgres</postgreUsername>
        <postgrePassword>geheimesPOSTGRESpasswort</postgrePassword>
        <postgreDatabase>postgres</postgreDatabase>
        <postgreSchema>asv</postgreSchema>
        <postgreSchemaPwd>geheimesASVpasswort</postgreSchemaPwd>
        <postgreDBName>asv</postgreDBName>
    </de.isb.svp.installer.panels.PostgreSQLPanel>
    <de.isb.svp.installer.panels.InstallationPanel id="install"/>
    <de.isb.svp.installer.panels.MigrationProcessPanel id="dbsetup"/>
    <com.izforge.izpack.panels.ShortcutPanel id="shortcuts"/>
    <de.isb.svp.installer.panels.FinishPanel id="finsish" installService="false" installUS="true" showInfo="false" startApp="false" updateServiceBackupEnabled="true"/>
</AutomatedInstallation>

ACHTUNG HINWEIS: Der einfachste Weg, ein erstes Skript zu generieren, besteht darin, eine Installation durchzuführen und am Ende des Prozesses das automatisch generierte XML-File (siehe oben) zu speichern:

Anschließend können die Einstellungen für Installationspfad, Port oder IP-Adresse angepasst werden.

Ausführen der Installation des ASV-Servers und Kontrolle der Protokolldatei:

 ./install-unattended.sh >install.log 2>&1
 less install.log

Legen Sie die folgende Datei im Ordner /opt/asv ab.

cron_start.sh
heute=`date +%Y%m%d_%T`
 
cd /opt/asv/server/bin
 
mkdir -p ../logs
 
if test -d ../logs/old
then
   mv ../logs/nohup.*.out ../logs/old
fi
 
nohup ./dssctl start >../logs/nohup.$heute.out 2>&1 &

Die Datei ausführbar machen und testweise ausführen.

 chmod u+x cron_start.sh
 ./cron_start.sh
 less logs/nohup.*.out
 less logs/asv.log

Beendet werden die Dienste mit:

 cd /opt/asv/server/bin
 ./dssctl stop --user sys --password '!!ASV!!' --time 0

Zur Konfiguration eines robusten Starts des Servers wird im Ordner configuration folgende Datei angelegt oder ergänzt:

config.local.ini
#Diese Datei sollte mit einer Leerzeile beginnen
 
#Anpassung der Konfiguration
 
#Falls die Datenbank noch nicht erreichbar ist, soll es verzögert mehrmals versucht werden.
DB_ConnectionTrials=4
DB_ConnectionWaitingTime=15

Ziel ist es, dass bei einem Start des Linux-Servers die Dienste DSS und Updateservice automatisch gestartet werden. Dazu muss die Datei crontab bearbeitet werden. Es wurde dazu eingefügt, dass nach dem Ladevorgang des Betriebssystems 120 Sekunden gewartet wird, ehe die Dienste vom System automatisch gestartet werden. Die Dauer von 120 Sekunden „Wartezeit“ ergibt sich aus dem Bootvorgang einer virtuellen Linuxmaschine. Ggf. muss diese Zeit noch angepasst werden, weil evtl. noch nicht alle Systemprogramme und -dienste zur Verfügung stehen. Hier muss man also an der Stellschraube etwas drehen. Dazu in der crontab (immer noch als user asvdss) zum Start der Dienste folgende Zeile eintragen (crontab -e):

 @reboot  sleep 120 && /opt/asv/cron_start.sh

Den Server neu starten.

 reboot now