Dokumentation geprüft: Ubuntu 18.04 LTS
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.
Debian oder Ubuntu-Server Grundinstallation ohne graphisches Desktopsystem mit Internetzugang, statischer IP-Adresse oder zumindest festem Namen im lokalen Netzwerk.
Vor der Installation des ASV-Servers muss PostgreSQL Server installiert werden.
Folgende Dateien müssen auf den Server übertragen werden:
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):
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.
<?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.
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:
#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