Windows Installation: Unterschied zwischen den Versionen

Aus EBKuS Dokumentation
Wechseln zu: Navigation, Suche
Zeile 3: Zeile 3:
 
Die Software, mit der frühere Versionen von EBKuS auf Windows
 
Die Software, mit der frühere Versionen von EBKuS auf Windows
 
automatisch installiert wurden, ist inzwischen in die Jahre
 
automatisch installiert wurden, ist inzwischen in die Jahre
gekommen. Aber Version 4.4.1 ist nun auch eine automatische
+
gekommen. Ab Version 4.4.1 ist nun auch eine automatische
 
Installation mit neuerer Software möglich. Dazu ist eine komplette
 
Installation mit neuerer Software möglich. Dazu ist eine komplette
 
Neuinstallation erforderlich. Der parallele Betrieb von alter und
 
Neuinstallation erforderlich. Der parallele Betrieb von alter und
Zeile 20: Zeile 20:
 
diesem [ftp://www.efb-berlin.de/pub/ebkus/win32/ Verzeichnis].  
 
diesem [ftp://www.efb-berlin.de/pub/ebkus/win32/ Verzeichnis].  
 
Nur die ersten drei müssen manuell heruntergeladen
 
Nur die ersten drei müssen manuell heruntergeladen
und installiert werden, die übrigen können automatisch
+
und installiert werden. Die übrigen werden bei Bedarf automatisch
heruntergeladen (sofern eine
+
heruntergeladen (sofern eine Internetverbindung besteht, ansonsten siehe unten).
Internetverbindung besteht) und installiert werden.
+
  
 
Natürlich muss noch die neueste  
 
Natürlich muss noch die neueste  
Zeile 37: Zeile 36:
 
** Die in der {{file|ebkus.conf||}} explizit genannten Ports für die EBKuS-Instanzen
 
** Die in der {{file|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.
 
* '''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: {{code|Apache, MySQL}} sowie mit die mit {{code|EBKuS}} beginnenden Namen für die Instanzen.
+
* Die von EBKuS verwendeten '''Namen für Dienste''' dürfen nicht in Gebrauch sein: {{code|Apache, MySQL}} sowie die mit {{code|EBKuS}} beginnenden Namen für die Instanzen.
 
* Keine Reste in der Registry von früheren Installationsversuchen :-)
 
* Keine Reste in der Registry von früheren Installationsversuchen :-)
  
Zeile 54: Zeile 53:
 
Beide Importe müssen ohne Fehlermeldungen funktionieren.
 
Beide Importe müssen ohne Fehlermeldungen funktionieren.
  
 
=== Erstkonfiguration erzeugen ===
 
 
Eine
 
  
 
=== Vollautomatische Testinstallation ===
 
=== Vollautomatische Testinstallation ===
  
Falls die oben genannten Voraussetzungen erfüllt sind (insbesondere dass die beiden Standardport 80 und 443 zur Verfügung stehen), 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.4.1
 
   C:\EBKuS-4.4.1>install.py c:\ebkus_installation
 
   C:\EBKuS-4.4.1>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}}.
  
Wenn alles gut gegangen ist, erhält man eine funktionierende EBKuS-Installation mit zwei Instanzen, {{code|demo}} und {{code|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 {{code|<nowiki>https://localhost/ebkus/demo/</nowiki>}} bzw. {{code|/muster_efb/}}.
+
Wenn alles gut gegangen ist, erhält man eine funktionierende EBKuS-Installation mit zwei Instanzen, {{code|demo}} und {{code|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 {{code|<nowiki>https://localhost/ebkus/demo/</nowiki>}} bzw. {{code|.../muster_efb/}}.
  
 
Die dabei entstandene Datei {{file|c:\ebkus_installation\ebkus\ebkus.conf}} sollte man sichern, da sie der Ausgangspunkt für die eigentliche Installation darstellt.
 
Die dabei entstandene Datei {{file|c:\ebkus_installation\ebkus\ebkus.conf}} sollte man sichern, da sie der Ausgangspunkt für die eigentliche Installation darstellt.
Zeile 75: Zeile 70:
 
   C:\EBKuS-4.4.1>uninstall.py c:\ebkus_installation ebkus
 
   C:\EBKuS-4.4.1>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.
 +
 +
=== Nur Erstkonfiguration erzeugen ===
 +
 +
Wenn man die Option {{code|-c}} bzw. {{code|--config}} verwendet, wird lediglich die Konfigurationsdatei {{file|c:\ebkus_installation\ebkus\ebkus.conf}} erzeugt und nichts weiter installiert.
 +
  C:\>cd EBKuS-4.4.1
 +
  C:\EBKuS-4.4.1>install.py -c c:\ebkus_installation
 +
Die so entstandene {{file|ebkus.conf}} kann nun weiter bearbeitet werden und in der eigentlichen Installation verwendet werden.
  
 
=== 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.
  
 +
Dokumentation aller Konfigurationsvariablen siehe [[Konfiguration]]
  
 +
==== Systemabschnitte ====
  
=== Installation ohne Internetzugang ===
+
Im Abschnitte {{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.
  
Wenn alle Dateien aus diesem [ftp://www.efb-berlin.de/pub/ebkus/win32/ Verzeichnis] des FTP-Servers in das Verzeichnis {{file|c:\ebkus_installation\download}} kopiert werden, wird kein Internetzugang benötigt. Alternativ kann bei jedem Aufruf von {{code|install.py}} ein Downloadverzeichnis angegeben werden, in dem sich die Installationsdateien befinden müssen:
+
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.
  C:\>install.py --d c:\ebkus_download c:\ebkus_installation
+
Wer über einen Proxy ins Internet geht, wird das wohl auch so machen müssen.
+
  
=== Erstkonfiguration erzeugen ===
+
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).
  
=== Vorhandene Instanzen übernehmen ===
+
Alle anderen Werte in den Systemabschnitten sollten nur in Ausnahmefällen verändert werden.
  
=== Installationsskript ausführen ===
+
==== Instanzen ====
  
Wiederholte Ausführung
+
Der Name des Abschnitts muss identisch sein mit dem Wert der Variablen {{konfig|instance_name}}. Der Name muss mit einem Buchstaben beginnen und darf neben Ziffern und Buchstaben nur das Sonderzeichen '_' enthalten.
 +
 
 +
Mit der Variablen {{konfig|initial_content}} kann man einer Instanz eine Datei mit einem Datenbankdump zuweisen, mit dem die Instanz initialisiert wird:
 +
  initial_content: C:\backup\demo_braunschweig_backup_v4.4.1_2011-06-17_02-10-00.zip
 +
bzw.
 +
  initial_content: demo_braunschweig_backup_v4.4.1_2011-06-17_02-10-00.zip
 +
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).
 +
 
 +
Jede Instanz benötigt einen eigenen freien {{konfig|port}}.
 +
 
 +
=== Installation ohne Internetzugang ===
 +
 
 +
Wenn alle Dateien aus diesem [ftp://www.efb-berlin.de/pub/ebkus/win32/ Verzeichnis] des FTP-Servers in das Verzeichnis {{file|c:\ebkus_installation\download}} kopiert werden, wird kein Internetzugang benötigt. Alternativ kann bei jedem Aufruf von {{code|install.py}} ein Downloadverzeichnis angegeben werden, in dem sich die Installationsdateien befinden müssen:
 +
  C:\>install.py --d c:\ebkus_download c:\ebkus_installation
 +
Wer über einen Proxy ins Internet geht, wird das wohl auch so machen müssen.
  
 
=== Migration ===
 
=== Migration ===
Zeile 101: Zeile 119:
 
* Nicht vollständig deinstallierte Dienste: notfalls mit  {{code|sc delete <Name>}} entfernen. Wenn der Name dann trotzdem noch in der Liste der Dienste auftaucht mit dem Zustand  {{code|Deaktiviert}}, muss ein Neustart gemacht werden.
 
* Nicht vollständig deinstallierte Dienste: notfalls mit  {{code|sc delete <Name>}} entfernen. Wenn der Name dann trotzdem noch in der Liste der Dienste auftaucht mit dem Zustand  {{code|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.
 
* Ü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.
  
=== Tips ===
+
=== Tipps ===
  
 
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.4.1>install.py --help
 
   C:\EBKuS-4.4.1>install.py --help
 
   C:\EBKuS-4.4.1>install.py -h
 
   C:\EBKuS-4.4.1>install.py -h

Version vom 23. Juni 2011, 15:12 Uhr

Gültig ab: EBKuS 4.4.1

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

Alle benötigten Dateien befinden sich auf dem EBKuS FTP-Server in diesem Verzeichnis. 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 2000 Professional, Windows XP Professional und Windows 7 Professional. Berichte über erfolgreiche Installationen auf Windows Server 2003 und 2008 stehen noch aus, es ist aber anzunehmen, dass das funktioniert.
  • 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 Vorlage:Config verändert werden)
    • Port 80 für den Apache-Webserver ohne SSL-Verschlüsselung (kann mit der Konfigurationsvariablen Vorlage:Config 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.2.msi

und dann PyWin und MySQL-python

  • pywin32-216.win32-py2.7.exe
  • MySQL-python-1.2.3.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.


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.4.1
 C:\EBKuS-4.4.1>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 der Ausgangspunkt für die eigentliche Installation darstellt.

Die Testinstallation kann dann ganz oder teilweise wieder deinstalliert werden:

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

bzw.

 C:\EBKuS-4.4.1>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.

Nur Erstkonfiguration erzeugen

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

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

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

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 Abschnitte apache muss für die Variable 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 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.

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).

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 zuweisen, mit dem die Instanz initialisiert wird:

 initial_content: C:\backup\demo_braunschweig_backup_v4.4.1_2011-06-17_02-10-00.zip

bzw.

 initial_content: demo_braunschweig_backup_v4.4.1_2011-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.

Installation ohne Internetzugang

Wenn alle Dateien aus diesem Verzeichnis des FTP-Servers in das Verzeichnis c:\ebkus_installation\download kopiert werden, wird kein Internetzugang benötigt. Alternativ kann bei jedem Aufruf von install.py ein Downloadverzeichnis angegeben werden, in dem sich die Installationsdateien befinden müssen:

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

Wer über einen Proxy ins Internet geht, wird das wohl auch so machen müssen.

Migration

Mögliche Probleme

  • 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.

Tipps

Hilfe für alle Skripte erhält man mit der Option --help oder kurz -h:

 C:\EBKuS-4.4.1>install.py --help
 C:\EBKuS-4.4.1>install.py -h