Windows Installation: Unterschied zwischen den Versionen

Aus EBKuS Dokumentation
Wechseln zu: Navigation, Suche
 
(11 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Gültig ab: EBKuS 4.4.1
+
Gültig ab: EBKuS 4.10.1. (Frühere Versionen lassen sich aber ganz ähnlich installieren.)
  
Die Software, mit der frühere Versionen von EBKuS auf Windows
 
automatisch installiert wurden, ist inzwischen in die Jahre
 
gekommen. Ab Version 4.4.1 ist nun auch eine automatische
 
Installation mit neuerer Software möglich. Dazu ist eine komplette
 
Neuinstallation erforderlich. Der parallele Betrieb von alter und
 
neuer Software ist nicht möglich.
 
  
 
=== Benötigte Software ===
 
=== Benötigte Software ===
  
* [http://python.org/download/releases/2.7.2/ Python 2.7.2]
+
* [https://www.python.org/ftp/python/2.7.18/python-2.7.18.msi Python 2.7.18]
* [http://www.codegood.com/downloads MySQL-python-1.2.3]
+
* [https://files.pythonhosted.org/packages/27/06/596ae3afeefc0cda5840036c42920222cb8136c101ec0f453f2e36df12a0/MySQL-python-1.2.5.win32-py2.7.exe MySQL-python-1.2.5]
* [http://sourceforge.net/projects/pywin32/files/pywin32/Build216/ pywin32-216]
+
* [https://github.com/mhammond/pywin32/releases/download/b228/pywin32-228.win32-py2.7.exe pywin32-228]
* [http://dev.mysql.com/downloads/mysql/5.1.html MySQL 5.1]
+
* [http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.1/mysql-essential-5.1.73-win32.msi MySQL 5.1.73]
* [http://apache.abdaal.com//httpd/binaries/win32/ Apache 2.2]
+
* [https://archive.apache.org/dist/httpd/binaries/win32/httpd-2.2.25-win32-x86-openssl-0.9.8y.msi Apache 2.2]
* [http://www.reportlab.com/ftp/ Reportlab 1.19]
+
  
Alle benötigten Dateien befinden sich auch auf dem  [http://www.ebkus.org/alle_downloads.html EBKuS FTP-Server].  
+
Alle benötigten Dateien befinden sich auch auf dem  [https://ebkus.org/downloads/win32/ EBKuS FTP-Server].  
 
Nur die ersten drei müssen manuell heruntergeladen
 
Nur die ersten drei müssen manuell heruntergeladen
 
und installiert werden. Die übrigen werden bei Bedarf automatisch
 
und installiert werden. Die übrigen werden bei Bedarf automatisch
 
heruntergeladen (sofern eine Internetverbindung besteht, ansonsten siehe unten).
 
heruntergeladen (sofern eine Internetverbindung besteht, ansonsten siehe unten).
 
[http://www.ebkus.org/alle_downloads.html Dort] findet sich auch die Software für 64 bit, die ebenfalls funktioniert, aber manuell installiert werden muss, da sie nicht von den Installationsskripten unterstützt wird.
 
  
 
Natürlich muss noch die neueste  
 
Natürlich muss noch die neueste  
Zeile 30: Zeile 21:
 
=== Sonstige Voraussetzungen ===
 
=== Sonstige Voraussetzungen ===
  
* '''Betriebssystem''': Erfolgreich getestet auf Windows 2000 Professional, Windows XP Professional, Windows 7 Professional und Windows Server 2008.
+
* '''Betriebssystem''': Erfolgreich getestet auf Windows 10 Professional. Windows Server 2008 und später sowie auch frühere Windows Versionen sind möglich.
 
* Die von einer EBKuS-Installation verwendeten '''Ports''' dürfen nicht anderweitig verwendete werden:
 
* Die von einer EBKuS-Installation verwendeten '''Ports''' dürfen nicht anderweitig verwendete werden:
 
** Port 443 für den Apache-Webserver mit SSL-Verschlüsselung (kann mit der Konfigurationsvariablen {{konfig|server_https_port}} verändert werden)
 
** Port 443 für den Apache-Webserver mit SSL-Verschlüsselung (kann mit der Konfigurationsvariablen {{konfig|server_https_port}} verändert werden)
Zeile 43: Zeile 34:
  
 
Zuerst Python
 
Zuerst Python
* {{code|python-2.7.2.msi}}
+
* {{code|python-2.7.18.msi}}
 
und dann PyWin und MySQL-python
 
und dann PyWin und MySQL-python
* {{code|pywin32-216.win32-py2.7.exe}}
+
* {{code|pywin32-228.win32-py2.7.exe}}
* {{code|MySQL-python-1.2.3.win32-py2.7.exe}}
+
* {{code|MySQL-python-1.2.5.win32-py2.7.exe}}
 
installieren. Standardinstallation für alle Benutzer. Zur Kontrolle kann man {{pfad4|Start|Programme|Python 2.7|Python (command line)}} aufrufen und dort folgende Eingaben machen:
 
installieren. Standardinstallation für alle Benutzer. Zur Kontrolle kann man {{pfad4|Start|Programme|Python 2.7|Python (command line)}} aufrufen und dort folgende Eingaben machen:
 
   >>> import win32service
 
   >>> import win32service
Zeile 56: Zeile 47:
 
=== Nur Erstkonfiguration erzeugen ===
 
=== Nur Erstkonfiguration erzeugen ===
  
Die Beispiele gehen davon aus, dass die heruntergeladene EBKuS-Software im Verzeichnis {{file|C:\EBKuS-4.4.1}} liegt.
+
Die Beispiele gehen davon aus, dass die heruntergeladene EBKuS-Software im Verzeichnis {{file|C:\EBKuS-4.10.1}} liegt.
  
 
Wenn man die Option {{code|-c}} bzw. {{code|--config}} des {{code|install-py}}-Skripts verwendet, wird lediglich die Konfigurationsdatei {{file|c:\ebkus_installation\ebkus\ebkus.conf}} erzeugt und nichts weiter installiert.  
 
Wenn man die Option {{code|-c}} bzw. {{code|--config}} des {{code|install-py}}-Skripts verwendet, wird lediglich die Konfigurationsdatei {{file|c:\ebkus_installation\ebkus\ebkus.conf}} erzeugt und nichts weiter installiert.  
   C:\>cd EBKuS-4.4.1
+
   C:\>cd EBKuS-4.10.1
   C:\EBKuS-4.4.1>install.py -c c:\ebkus_installation
+
   C:\EBKuS-4.10.1>python install.py -c c:\ebkus_installation
 
Die so entstandene {{file|c:\ebkus_installation\ebkus\ebkus.conf}} kann nun weiter bearbeitet und in der eigentlichen Installation verwendet werden.
 
Die so entstandene {{file|c:\ebkus_installation\ebkus\ebkus.conf}} kann nun weiter bearbeitet und in der eigentlichen Installation verwendet werden.
  
Zeile 66: Zeile 57:
  
 
Falls die oben genannten Voraussetzungen erfüllt sind (insbesondere freie Standardports 80 und 443), kann man eine vollautomatische Erstinstallation vornehmen (Eingabeaufforderung mit Administratorrechten ausführen!):
 
Falls die oben genannten Voraussetzungen erfüllt sind (insbesondere freie Standardports 80 und 443), kann man eine vollautomatische Erstinstallation vornehmen (Eingabeaufforderung mit Administratorrechten ausführen!):
   C:\>cd EBKuS-4.4.1
+
   C:\>cd EBKuS-4.10.1
   C:\EBKuS-4.4.1>install.py c:\ebkus_installation
+
   C:\EBKuS-4.10.1>python install.py c:\ebkus_installation
 
Den Fortgang der Installation sieht man auf der Konsole und in der Datei {{file|c:\ebkus_installation\install.log}}.
 
Den Fortgang der Installation sieht man auf der Konsole und in der Datei {{file|c:\ebkus_installation\install.log}}.
  
Zeile 75: Zeile 66:
  
 
Die Testinstallation kann dann ganz oder teilweise wieder deinstalliert werden:
 
Die Testinstallation kann dann ganz oder teilweise wieder deinstalliert werden:
   C:\EBKuS-4.4.1>uninstall.py --all c:\ebkus_installation
+
   C:\EBKuS-4.10.1>python uninstall.py --all c:\ebkus_installation
 
bzw.
 
bzw.
   C:\EBKuS-4.4.1>uninstall.py c:\ebkus_installation ebkus
+
   C:\EBKuS-4.10.1>python uninstall.py c:\ebkus_installation ebkus
 
Im ersten Fall wird auch der Webserver und die Datenbank deinstalliert, im zweiten nur die eigentliche EBKuS-Installation mitsamt allen Instanzen.
 
Im ersten Fall wird auch der Webserver und die Datenbank deinstalliert, im zweiten nur die eigentliche EBKuS-Installation mitsamt allen Instanzen.
  
Zeile 83: Zeile 74:
  
 
Mit
 
Mit
   C:\EBKuS-4.4.1>install.py --no_mysql --no_apache c:\ebkus_installation
+
   C:\EBKuS-4.10.1>python install.py --no_mysql --no_apache c:\ebkus_installation
 
kann man eine Installation durchführen, wenn Apache und MySQL bereits vorhanden sind und nicht durch die EBKuS-Installation bereitgestellt werden sollen. Das Vorgehen ist dann ähnlich der [[Linux_Installation]]. Es muss manuell dafür gesorgt werden, dass die generierte Datei {{file|ebkus_httpd.conf}} in die Apachekonfiguration eingebunden wird, z.B. durch die Zeile  
 
kann man eine Installation durchführen, wenn Apache und MySQL bereits vorhanden sind und nicht durch die EBKuS-Installation bereitgestellt werden sollen. Das Vorgehen ist dann ähnlich der [[Linux_Installation]]. Es muss manuell dafür gesorgt werden, dass die generierte Datei {{file|ebkus_httpd.conf}} in die Apachekonfiguration eingebunden wird, z.B. durch die Zeile  
 
   Include c:\ebkus_installation\ebkus\ebkus_httpd.conf
 
   Include c:\ebkus_installation\ebkus\ebkus_httpd.conf
Zeile 90: Zeile 81:
 
=== Anpassen der Konfiguration ===
 
=== Anpassen der Konfiguration ===
  
In der Konfigurationsdatei {{file|ebkus.conf}} gibt es die Systemabschnitte {{code|DEFAULT, ebkus, apache}} und {{code|openssl}} sowie je einen Abschnitt für jede zu installierende Instanz.
+
In der Konfigurationsdatei {{file|ebkus.conf}} gibt es die Systemabschnitte {{code|[DEFAULT], [ebkus], [apache]}} und {{code|[openssl]}} sowie je einen Abschnitt für jede zu installierende Instanz.
  
 
Dokumentation aller Konfigurationsvariablen siehe [[Konfiguration]].
 
Dokumentation aller Konfigurationsvariablen siehe [[Konfiguration]].
Zeile 96: Zeile 87:
 
==== Systemabschnitte ====
 
==== Systemabschnitte ====
  
Im Abschnitt {{code|apache}} muss für die Variable {{konfig|server_name}} der Name angegeben werden, unter dem der Rechner im Netz ansprechbar ist (FQDN), ersatzweise die IP-Adresse. Der Name bzw. die IP-Adresse ist Bestandteil der URL, unter der EBKuS angesprochen wird. Der Standardwert ist hier {{code|localhost}}, womit EBKuS nur auf dem lokalen Rechner erreichbar wäre.
+
Im Abschnitt {{code|[apache]}} wird für die Variable {{konfig|server_name}} typischerweise die IP-Adresse des Rechners eingetragen. Es kann auch {{code|0.0.0.0}} genommen werden, wenn der Rechner über mehrere Netzwerkkarten mit unterschiedlichen IP-Nummern verfügt und EBKuS über alle erreichbar sein soll. Der Standardwert ist hier {{code|localhost}}, womit EBKuS nur auf dem lokalen Rechner erreichbar wäre.
  
 
Falls die Standardports 80 und 443 nicht für EBKuS zur Verfügung stehen, müssen hier alternative freie Ports eingetragen werden. {{konfig|server_http_port}} dient nur zur Kontrolle des Apache Webservers ({{code|<nowiki>http://localhost/</nowiki>}} liefert "It works!"). Falls eine Alternative für {{konfig|server_https_port}} eingetragen wird, muss der Port in der URL aufgeführt werden, um die Anwendung anzusprechen.
 
Falls die Standardports 80 und 443 nicht für EBKuS zur Verfügung stehen, müssen hier alternative freie Ports eingetragen werden. {{konfig|server_http_port}} dient nur zur Kontrolle des Apache Webservers ({{code|<nowiki>http://localhost/</nowiki>}} liefert "It works!"). Falls eine Alternative für {{konfig|server_https_port}} eingetragen wird, muss der Port in der URL aufgeführt werden, um die Anwendung anzusprechen.
  
Des weiteren kann die Email-Adresse des Systemadministrators bei {{konfig| server_admin}} eingetragen werden (die evt. auf Fehlerseiten des Servers erscheint). Im Abschnitt {{code|openssl}} sollten die regionalen und organisatorischen Angaben angepasst werden, da sie auf dem erzeugten Zertifikat erscheinen (das man sich z.B. im Browser ansehen kann).
+
SSL-Zertifikate werden bei der Installation automatisch erzeugt und die Pfade werden als Werte der Konfiguationsvariablen {{konfig|ssl_certificate_file}} und {{konfig|ssl_certificate_key_file}}
 +
eingetragen. Es handelt sich um selbssignierte Zertifikate, die beim erstmaligen Aufruf mit dem Browser Sicherheitswarnungen auslösen, die man ignorieren muss, um auf die Anwendung zuzugreifen.
 +
Wenn man über eigene Zertifikate verfügt, kann man die Pfade hier eintragen.
 +
 
 +
Des weiteren kann die Email-Adresse des Systemadministrators bei {{konfig| server_admin}} eingetragen werden (die evt. auf Fehlerseiten des Servers erscheint). Im Abschnitt {{code|[openssl]}} sollten die regionalen und organisatorischen Angaben angepasst werden, da sie auf dem erzeugten Zertifikat erscheinen (das man sich z.B. im Browser ansehen kann).
  
 
Sie können ein Passwort setzen für die Datenbankuser {{code|root}} (der Instanzdatenbanken löschen und erstellen kann):
 
Sie können ein Passwort setzen für die Datenbankuser {{code|root}} (der Instanzdatenbanken löschen und erstellen kann):
Zeile 114: Zeile 109:
  
 
Mit der Variablen {{konfig|initial_content}} kann man einer Instanz eine Datei mit einem Datenbankdump (Sicherungsdatei) zuweisen, mit dem die Instanz initialisiert wird:
 
Mit der Variablen {{konfig|initial_content}} kann man einer Instanz eine Datei mit einem Datenbankdump (Sicherungsdatei) zuweisen, mit dem die Instanz initialisiert wird:
   initial_content: C:\backup\demo_braunschweig_backup_v4.4.1_2011-06-17_02-10-00.zip
+
   initial_content: C:\backup\demo_braunschweig_backup_v4.8_2020-06-17_02-10-00.zip
 
bzw.
 
bzw.
   initial_content: demo_braunschweig_backup_v4.4.1_2011-06-17_02-10-00.zip
+
   initial_content: demo_braunschweig_backup_v4.8_2020-06-17_02-10-00.zip
 
Wenn nur der Dateiname angegeben ist, muss die Datei im Homeverzeichnis liegen ({{file|c:\ebkus_installation\ebkus\}}).
 
Wenn nur der Dateiname angegeben ist, muss die Datei im Homeverzeichnis liegen ({{file|c:\ebkus_installation\ebkus\}}).
 
Damit ist es möglich, eine Instanz aus einer bestehenden Installation in eine Neuinstallation zu migrieren (siehe unten).  
 
Damit ist es möglich, eine Instanz aus einer bestehenden Installation in eine Neuinstallation zu migrieren (siehe unten).  
Zeile 127: Zeile 122:
  
 
Alternativ kann beim ersten Aufruf von {{code|install.py}} ein Downloadverzeichnis angegeben werden, in dem sich die Installationsdateien befinden müssen:
 
Alternativ kann beim ersten Aufruf von {{code|install.py}} ein Downloadverzeichnis angegeben werden, in dem sich die Installationsdateien befinden müssen:
   C:\EBKuS-4.5>install.py -d c:\ebkus_download c:\ebkus_installation
+
   C:\EBKuS-4.10.1>python install.py -d c:\ebkus_download c:\ebkus_installation
 
Wenn bereits eine {{file|ebkus.conf}} existiert, wird das in der Variable {{konfig|download_dir}} definierte Verzeichnis verwendet und die Option {{code|-d}} kann entfallen.
 
Wenn bereits eine {{file|ebkus.conf}} existiert, wird das in der Variable {{konfig|download_dir}} definierte Verzeichnis verwendet und die Option {{code|-d}} kann entfallen.
  
 
=== Migration ===
 
=== Migration ===
  
Die Migration beinhaltet die Übernahme der Instanzen aus einer bestehenden EBKuS-Installation in eine Neuinstallation mit der neuen Software. Die EBKuS-Version der bestehenden Installation muss mindestens 4.2 sein; ältere müssen erst im Rahmen der bestehenden Installation updatet werden.
+
Die Migration beinhaltet die Übernahme der Instanzen aus einer bestehenden EBKuS-Installation in eine Neuinstallation mit der neuen Software. Die EBKuS-Version der bestehenden Installation muss mindestens 4.7 sein; ältere müssen erst im Rahmen der bestehenden Installation updatet werden.
  
 
==== Vorbereitung ====
 
==== Vorbereitung ====
Zeile 142: Zeile 137:
  
 
Die neu erstellte {{file|ebkus.conf}} wird zusammen mit den Sicherungsdateien in ein Verzeichnis kopiert, z.B. {{file|c:\ebkus_preconfig}}.
 
Die neu erstellte {{file|ebkus.conf}} wird zusammen mit den Sicherungsdateien in ein Verzeichnis kopiert, z.B. {{file|c:\ebkus_preconfig}}.
 
+
Vor der Neuinstallation sollte die alte Installation mit {{code|uninstall.py}} deinstalliert werden. Insbesondere sollte im Installationsverzeichnis
 +
kein Verzeichnis {{code|ebkus}} mehr existieren.
 
Dem {{code|install.py}}-Skript wird das Verzeichnis mit der Option {{code|-p}} übergeben:
 
Dem {{code|install.py}}-Skript wird das Verzeichnis mit der Option {{code|-p}} übergeben:
   C:\EBKuS-4.5>install.py -p c:\ebkus_preconfig c:\ebkus_installation
+
   C:\EBKuS-4.10.1>python install.py -p c:\ebkus_preconfig c:\ebkus_installation
Vor der Installation wird dann der Inhalt dieses Verzeichnisses in das Homeverzeichnis kopiert, so dass die Installation durch die neue {{file|ebkus.conf}} gesteuert wird.  
+
Vor der Installation wird dann der Inhalt dieses Verzeichnisses vom Skript in das Homeverzeichnis kopiert, so dass die Installation durch die neue {{file|ebkus.conf}} gesteuert wird.  
  
 
=== Einzelne Instanzen ===
 
=== Einzelne Instanzen ===
Zeile 152: Zeile 148:
  
 
Mit Hilfe des {{code|uninstall.py}}-Skripts lassen sich auch einzelne Instanzen entfernen.
 
Mit Hilfe des {{code|uninstall.py}}-Skripts lassen sich auch einzelne Instanzen entfernen.
   C:\EBKuS-4.5>uninstall.py c:\ebkus_installation ''Instanzname''
+
   C:\EBKuS-4.10.1>python uninstall.py c:\ebkus_installation ''Instanzname''
 
Das {{code|uninstall.py}}-Skript kann auch aus dem Homeverzeichnis aufgerufen werden.
 
Das {{code|uninstall.py}}-Skript kann auch aus dem Homeverzeichnis aufgerufen werden.
  
Zeile 163: Zeile 159:
 
Die Instanz kann dann mit
 
Die Instanz kann dann mit
 
   C:\>cd ebkus_installation\ebkus
 
   C:\>cd ebkus_installation\ebkus
   C:\ebkus_installation\ebkus>configure.py ''Instanzname''
+
   C:\ebkus_installation\ebkus>python configure.py ''Instanzname''
 
eingerichtet werden.  
 
eingerichtet werden.  
  
Zeile 182: Zeile 178:
 
* Wenn das {{code|install.py}}-Skript mit der Option {{code|-u}} bzw. {{code|--update}} wiederholt wird, werden zusätzlich alle EBKuS-Dateien aus der Distribution in das Homeverzeichnis kopiert.  
 
* Wenn das {{code|install.py}}-Skript mit der Option {{code|-u}} bzw. {{code|--update}} wiederholt wird, werden zusätzlich alle EBKuS-Dateien aus der Distribution in das Homeverzeichnis kopiert.  
 
* Hilfe für alle Skripte erhält man mit der Option {{code|--help}} oder kurz {{code|-h}}:
 
* Hilfe für alle Skripte erhält man mit der Option {{code|--help}} oder kurz {{code|-h}}:
   C:\EBKuS-4.5>install.py --help
+
   C:\EBKuS-4.10.1>python install.py --help
   C:\EBKuS-4.5>uninstall.py -h
+
   C:\EBKuS-4.10.1>python uninstall.py -h
   C:\ebkus_installation\ebkus>configure.py -h
+
   C:\ebkus_installation\ebkus>python configure.py -h
   C:\ebkus_installation\ebkus\demo>dienst.py -h
+
   C:\ebkus_installation\ebkus\demo>python dienst.py -h
 
* Falls Änderungen an generierten Dateien nötig sind (z.B. Apache- oder MySQL-Konfiguration) ist es wenig sinnvoll, diese selbst zu verändern, da man dann nicht mehr die Möglichkeit hat, die Installationsskripte zu verwenden. Besser ist is es, die Templates selber anzupassen. Alle Templates (Vorlagen) für generierte Dateien finden sich im Verzeichnis {{file|templates}} im Homeverzeichnis.
 
* Falls Änderungen an generierten Dateien nötig sind (z.B. Apache- oder MySQL-Konfiguration) ist es wenig sinnvoll, diese selbst zu verändern, da man dann nicht mehr die Möglichkeit hat, die Installationsskripte zu verwenden. Besser ist is es, die Templates selber anzupassen. Alle Templates (Vorlagen) für generierte Dateien finden sich im Verzeichnis {{file|templates}} im Homeverzeichnis.

Aktuelle Version vom 8. Dezember 2020, 19:28 Uhr

Gültig ab: EBKuS 4.10.1. (Frühere Versionen lassen sich aber ganz ähnlich installieren.)


Benötigte Software

Alle benötigten Dateien befinden sich auch auf dem EBKuS FTP-Server. Nur die ersten drei müssen manuell heruntergeladen und installiert werden. Die übrigen werden bei Bedarf automatisch heruntergeladen (sofern eine Internetverbindung besteht, ansonsten siehe unten).

Natürlich muss noch die neueste EBKuS-Software selbst heruntergeladen werden.

Sonstige Voraussetzungen

  • Betriebssystem: Erfolgreich getestet auf Windows 10 Professional. Windows Server 2008 und später sowie auch frühere Windows Versionen sind möglich.
  • Die von einer EBKuS-Installation verwendeten Ports dürfen nicht anderweitig verwendete werden:
    • Port 443 für den Apache-Webserver mit SSL-Verschlüsselung (kann mit der Konfigurationsvariablen server_https_port verändert werden)
    • Port 80 für den Apache-Webserver ohne SSL-Verschlüsselung (kann mit der Konfigurationsvariablen server_http_port verändert werden). Dieser Port wird allerdings von der Anwendung nicht benötigt; man kann damit aber überprüfen, ob der Webserver installiert ist unabhängig von EBKuS-Instanzen.
    • Port 3306 für den MySQL-Datenbankserver
    • Die in der ebkus.conf explizit genannten Ports für die EBKuS-Instanzen
  • Administratorrechte für die Installation. Insbesondere muss bei neueren Windows-Systemen die Kommandozeile explizit mit Administratorrechten aufgerufen werden (rechtsklicken, mit Administratorrechten ausführen). Sonst gelingt die Einrichtung der Dienste nicht.
  • Die von EBKuS verwendeten Namen für Dienste dürfen nicht in Gebrauch sein: Apache, MySQL sowie die mit EBKuS beginnenden Namen für die Instanzen.
  • Keine Reste in der Registry von früheren Installationsversuchen :-)

Python installieren

Zuerst Python

  • python-2.7.18.msi

und dann PyWin und MySQL-python

  • pywin32-228.win32-py2.7.exe
  • MySQL-python-1.2.5.win32-py2.7.exe

installieren. Standardinstallation für alle Benutzer. Zur Kontrolle kann man Start > Programme > Python 2.7 > Python (command line) aufrufen und dort folgende Eingaben machen:

 >>> import win32service
 >>>
 >>> import MySQLdb
 >>>

Beide Importe müssen ohne Fehlermeldungen funktionieren.

Nur Erstkonfiguration erzeugen

Die Beispiele gehen davon aus, dass die heruntergeladene EBKuS-Software im Verzeichnis C:\EBKuS-4.10.1 liegt.

Wenn man die Option -c bzw. --config des install-py-Skripts verwendet, wird lediglich die Konfigurationsdatei c:\ebkus_installation\ebkus\ebkus.conf erzeugt und nichts weiter installiert.

 C:\>cd EBKuS-4.10.1
 C:\EBKuS-4.10.1>python install.py -c c:\ebkus_installation

Die so entstandene c:\ebkus_installation\ebkus\ebkus.conf kann nun weiter bearbeitet und in der eigentlichen Installation verwendet werden.

Vollautomatische Testinstallation

Falls die oben genannten Voraussetzungen erfüllt sind (insbesondere freie Standardports 80 und 443), kann man eine vollautomatische Erstinstallation vornehmen (Eingabeaufforderung mit Administratorrechten ausführen!):

 C:\>cd EBKuS-4.10.1
 C:\EBKuS-4.10.1>python install.py c:\ebkus_installation

Den Fortgang der Installation sieht man auf der Konsole und in der Datei c:\ebkus_installation\install.log.

Wenn alles gut gegangen ist, erhält man eine funktionierende EBKuS-Installation mit zwei Instanzen, demo und muster_efb. Es gibt dann 4 neue Windows-Dienste: Apache, MySQL, EBKuS-demo und EBKuS-muster_efb. Den Zugriff auf die Instanzen erhält man über die URL https://localhost/ebkus/demo/ bzw. .../muster_efb/.

Die dabei entstandene Datei c:\ebkus_installation\ebkus\ebkus.conf sollte man sichern, da sie den Ausgangspunkt für die endgültige Installation darstellt.

Die Testinstallation kann dann ganz oder teilweise wieder deinstalliert werden:

 C:\EBKuS-4.10.1>python uninstall.py --all c:\ebkus_installation

bzw.

 C:\EBKuS-4.10.1>python uninstall.py c:\ebkus_installation ebkus

Im ersten Fall wird auch der Webserver und die Datenbank deinstalliert, im zweiten nur die eigentliche EBKuS-Installation mitsamt allen Instanzen.

Installation mit vorhandenem Webserver und Datenbank

Mit

 C:\EBKuS-4.10.1>python install.py --no_mysql --no_apache c:\ebkus_installation

kann man eine Installation durchführen, wenn Apache und MySQL bereits vorhanden sind und nicht durch die EBKuS-Installation bereitgestellt werden sollen. Das Vorgehen ist dann ähnlich der Linux_Installation. Es muss manuell dafür gesorgt werden, dass die generierte Datei ebkus_httpd.conf in die Apachekonfiguration eingebunden wird, z.B. durch die Zeile

 Include c:\ebkus_installation\ebkus\ebkus_httpd.conf

am Ende der Apache httpd.conf. Außerdem muss man nach der Installation und der Umkonfigurierung den Webserver manuell neu starten, damit er die neue Konfiguration übernimmt.

Anpassen der Konfiguration

In der Konfigurationsdatei ebkus.conf gibt es die Systemabschnitte [DEFAULT], [ebkus], [apache] und [openssl] sowie je einen Abschnitt für jede zu installierende Instanz.

Dokumentation aller Konfigurationsvariablen siehe Konfiguration.

Systemabschnitte

Im Abschnitt [apache] wird für die Variable server_name typischerweise die IP-Adresse des Rechners eingetragen. Es kann auch 0.0.0.0 genommen werden, wenn der Rechner über mehrere Netzwerkkarten mit unterschiedlichen IP-Nummern verfügt und EBKuS über alle erreichbar sein soll. Der Standardwert ist hier localhost, womit EBKuS nur auf dem lokalen Rechner erreichbar wäre.

Falls die Standardports 80 und 443 nicht für EBKuS zur Verfügung stehen, müssen hier alternative freie Ports eingetragen werden. server_http_port dient nur zur Kontrolle des Apache Webservers (http://localhost/ liefert "It works!"). Falls eine Alternative für server_https_port eingetragen wird, muss der Port in der URL aufgeführt werden, um die Anwendung anzusprechen.

SSL-Zertifikate werden bei der Installation automatisch erzeugt und die Pfade werden als Werte der Konfiguationsvariablen ssl_certificate_file und ssl_certificate_key_file eingetragen. Es handelt sich um selbssignierte Zertifikate, die beim erstmaligen Aufruf mit dem Browser Sicherheitswarnungen auslösen, die man ignorieren muss, um auf die Anwendung zuzugreifen. Wenn man über eigene Zertifikate verfügt, kann man die Pfade hier eintragen.

Des weiteren kann die Email-Adresse des Systemadministrators bei server_admin eingetragen werden (die evt. auf Fehlerseiten des Servers erscheint). Im Abschnitt [openssl] sollten die regionalen und organisatorischen Angaben angepasst werden, da sie auf dem erzeugten Zertifikat erscheinen (das man sich z.B. im Browser ansehen kann).

Sie können ein Passwort setzen für die Datenbankuser root (der Instanzdatenbanken löschen und erstellen kann):

 C:\>cd ebkus_installation\mysql5.1\bin
 C:\ebkus_installation\mysql5.1\bin>mysqladmin.exe -uroot  password Neues Passwort

Dies muss dem Konfigurationsparameter database_admin_password zugewiesen werden.

Alle anderen Werte in den Systemabschnitten sollten nur in Ausnahmefällen verändert werden.

Instanzen

Der Name des Abschnitts muss identisch sein mit dem Wert der Variablen instance_name. Der Name muss mit einem Buchstaben beginnen und darf neben Ziffern und Buchstaben nur das Sonderzeichen '_' enthalten.

Mit der Variablen initial_content kann man einer Instanz eine Datei mit einem Datenbankdump (Sicherungsdatei) zuweisen, mit dem die Instanz initialisiert wird:

 initial_content: C:\backup\demo_braunschweig_backup_v4.8_2020-06-17_02-10-00.zip

bzw.

 initial_content: demo_braunschweig_backup_v4.8_2020-06-17_02-10-00.zip

Wenn nur der Dateiname angegeben ist, muss die Datei im Homeverzeichnis liegen (c:\ebkus_installation\ebkus\). Damit ist es möglich, eine Instanz aus einer bestehenden Installation in eine Neuinstallation zu migrieren (siehe unten).

Jede Instanz benötigt einen eigenen freien Port (Variable port).

Installation ohne Internetzugang

Wenn alle benötigte Software für Windows 32 bit in das Verzeichnis c:\ebkus_installation\download kopiert werden, wird kein Internetzugang benötigt.

Alternativ kann beim ersten Aufruf von install.py ein Downloadverzeichnis angegeben werden, in dem sich die Installationsdateien befinden müssen:

 C:\EBKuS-4.10.1>python install.py -d c:\ebkus_download c:\ebkus_installation

Wenn bereits eine ebkus.conf existiert, wird das in der Variable download_dir definierte Verzeichnis verwendet und die Option -d kann entfallen.

Migration

Die Migration beinhaltet die Übernahme der Instanzen aus einer bestehenden EBKuS-Installation in eine Neuinstallation mit der neuen Software. Die EBKuS-Version der bestehenden Installation muss mindestens 4.7 sein; ältere müssen erst im Rahmen der bestehenden Installation updatet werden.

Vorbereitung

Für die Migration muss eine für die Neuinstallation gültige ebkus.conf bereitgestellt werden sowie eine Sicherungsdatei für jede zu migrierende Instanz. Die Sicherungsdatei wird in der alten Installation mit dem Skript datenbank_sichern.py --zip Verzeichnis erzeugt. Die Zuordnung wird wie oben beschrieben für jede Instanz über die Konfigurationsvariable initial_content vorgenommen (nur Dateiname, ohne Pfadangabe). Ansonsten werden die Konfigurationen der Instanzen aus der alten ebkus.conf übernommen. Die Systemabschnitte für die neue ebkus.conf werden wie oben beschrieben aus der Testinstallation bzw. der Erstkonfiguration übernommen.

Neuinstallation

Die neu erstellte ebkus.conf wird zusammen mit den Sicherungsdateien in ein Verzeichnis kopiert, z.B. c:\ebkus_preconfig. Vor der Neuinstallation sollte die alte Installation mit uninstall.py deinstalliert werden. Insbesondere sollte im Installationsverzeichnis kein Verzeichnis ebkus mehr existieren. Dem install.py-Skript wird das Verzeichnis mit der Option -p übergeben:

 C:\EBKuS-4.10.1>python install.py -p c:\ebkus_preconfig c:\ebkus_installation

Vor der Installation wird dann der Inhalt dieses Verzeichnisses vom Skript in das Homeverzeichnis kopiert, so dass die Installation durch die neue ebkus.conf gesteuert wird.

Einzelne Instanzen

Entfernen

Mit Hilfe des uninstall.py-Skripts lassen sich auch einzelne Instanzen entfernen.

 C:\EBKuS-4.10.1>python uninstall.py c:\ebkus_installation Instanzname

Das uninstall.py-Skript kann auch aus dem Homeverzeichnis aufgerufen werden.

Wichtig: Den Konfigurationsabschnitt der Instanz in der ebkus.conf erst nach der erfolgreichen Deinstallation entfernen! Sonst ist Handarbeit angesagt.

Hinzufügen

Als erstes muss in der ebkus.conf ein Abschnitt für die neu zu erstellende Instanz erstellt werden, evt. mit Angabe einer Sicherungsdatei oder eines SQL-Dumps für die Initialisierung der Datenbank der Instanz (Variable initial_content).

Die Instanz kann dann mit

 C:\>cd ebkus_installation\ebkus
 C:\ebkus_installation\ebkus>python configure.py Instanzname

eingerichtet werden.

Wenn keine Datei zur Initialisierung angegeben wird, wird eine Datenbank mit den Standardmerkmalskatalogen und einem evt. konfigurierten Straßenkatalog erstellt. Wenn der Instanzname mit demo beginnt, werden zusätzlich Demodaten generiert.

Mögliche Probleme

  • Windows-Dienste werden nicht automatisch installiert: die Konsole muss als Administrator ausgeführt werden.
  • Nicht vollständig deinstallierte Dienste: notfalls mit sc delete Name entfernen. Wenn der Name dann trotzdem noch in der Liste der Dienste auftaucht mit dem Zustand Deaktiviert, muss ein Neustart gemacht werden.
  • Übrig gebliebene Reste in der Registry von früheren Installationen, z.B. des MySQL-Servers. Diese müssen notfalls manuell beseitigt werden.
  • Instanz lässt sich nicht mit Sicherungsdatei initialisieren: Die Sicherungsdatei muss von einer Instanz mit demselben Namen stammen.
  • Automatischer Download klappt nicht: Falls der Internetzugang über einen Proxy erfolgt, muss man möglicherweise (ich habs nicht probiert) manuell herunterladen und die Dateien im Downloadverzeichnis ablegen.
  • Firefox akzeptiert das von EBKuS gelieferte Zertifikat (wg. doppelter Seriennummer oder so ähnlich): Zertifikate in Firefox löschen über Einstellungen > Erweitert > Zertifikate > Zertifikate anzeigen > Löschen. Die EBKuS-Zertifikate stehen unter dem Namen EFB bzw. unter dem Namen, der in der ebkus.conf als organisation (im Abschnitt openssl) eingetragen wurde.

Tipps

  • Das install.py-Skript lässt sich wiederholt ausführen. Eine bestehende MySQL- und Apache-Installation wird nicht wiederholt. Vorhandene Instanzdatenbanken bleiben ebenfalls intakt. Evt. neu hinzugekommenen Instanzkonfigurationen werden ausgeführt, d.h. die neue Instanz wird eingerichtet. (Löschen einer Instanz jedoch immer mit uninstall.py!) Alle zu generierenden Dateien werden neu generiert, so dass z.B. auf diese Weise Port-Änderungen oder die Änderung des Servernamens durchgeführt werden können.
  • Wenn das install.py-Skript mit der Option -u bzw. --update wiederholt wird, werden zusätzlich alle EBKuS-Dateien aus der Distribution in das Homeverzeichnis kopiert.
  • Hilfe für alle Skripte erhält man mit der Option --help oder kurz -h:
 C:\EBKuS-4.10.1>python install.py --help
 C:\EBKuS-4.10.1>python uninstall.py -h
 C:\ebkus_installation\ebkus>python configure.py -h
 C:\ebkus_installation\ebkus\demo>python dienst.py -h
  • Falls Änderungen an generierten Dateien nötig sind (z.B. Apache- oder MySQL-Konfiguration) ist es wenig sinnvoll, diese selbst zu verändern, da man dann nicht mehr die Möglichkeit hat, die Installationsskripte zu verwenden. Besser ist is es, die Templates selber anzupassen. Alle Templates (Vorlagen) für generierte Dateien finden sich im Verzeichnis templates im Homeverzeichnis.