Linux Installation

Aus EBKuS Dokumentation
Wechseln zu: Navigation, Suche

Gültig ab: EBKuS 4.4.1

Die folgende Anleitung habe ich mit Ubuntu 10.04.2 LTS getestet; vermutlich funktioniert das auch auf anderen Ubuntu bzw. Debian-basierten Gnu/Linux-Distributionen.

Die Installation im folgenden Beispiel erfolgt unter dem User ebkus auf einem Rechner mit dem Namen ebvm. Der User ebkus benötigt Superuserrechte (sudo). Es wird angenommen, dass eine Internetverbindung besteht (zur Installation von Software mit apt-get).

Die Installation erfolgt ausschließlich über die Kommandozeile. Damit funktioniert sie auch auf reinen Servern, die keine GUI haben.

Bitte auch die Windows Installation beachten, da sind einige betriebssystemunabhängige Punkte ausführlicher dargestellt als hier.

Voraussetzungen

Folgende Voraussetzungen müssen erfüllt sein, damit EBKuS installiert werden kann:

Python

Ist auf solche Systemen normalerweise bereits installiert, ansonsten:

 ebkus@ebvm:~$ sudo apt-get install python2.6

Es kann auch Python 2.7 sein, wenn das in der Distribution angeboten wird, jedoch nicht Python 3.0 oder höher.

MySQL

Bei Ubuntu 10.04 LTS wird MySQL 5.1.XX installiert. Mit der nächsthöheren MySQL-Version 5.5 ist EBKuS noch nicht getestet!

Die Datenbank installieren mit:

 ebkus@ebvm:~$ sudo apt-get install mysql-server mysql-common mysql-client

Bei der Installation muss ein Passwort für den Datenbank-User root angegeben werden, das später in die ebkus.conf eingetragen werden muss. Nach einer erfolgreichen Installation kann man sich mit dem Befehl

 ebkus@ebvm:~$ mysql -uroot -pPasswort
 Welcome to the MySQL monitor.  Commands end with ; or \g.
 ...
 mysql>

mit der Datenbank verbinden.

Falls der Standardport 3306 für MySQL nicht zur Verfügung steht, muss die Datei /etc/mysql/my.cnf angepasst werden.

Python-MySQLdb

Den Datenbankadapter für Python-MySQL installieren:

 ebkus@ebvm:~$ sudo apt-get install python-mysqldb

Nach erfolgreicher Installation kann man Python aufrufen und MySQLdb importieren:

 ebkus@ebvm:~$ python
 Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
 ...
 >>> import MySQLdb
 >>>

Apache 2

Den Webserver installieren:

 ebkus@ebvm:~$ sudo apt-get install apache2

Nach der erfolgreichen Installation erhält man mit einem Browser mit der Adresse http://localhost/ eine Seite mit It works!. Oder man installiert z.B. wget und erhält mit der genannten Adresse die entsprechende HTML-Datei index.html:

 ebkus@ebvm:~$ sudo apt-get install wget
 ebkus@ebvm:~$ wget http://localhost/

Falls der Webserver nicht auf den Standardports 80 und 443 laufen soll, muss die Datei /etc/apache2/ports.conf angepasst werden, ebenso die ebkus.conf (siehe Konfiguration)

Um den Webserver zu konfigurieren, muss das SSL-Modul aktiviert werden, indem zwei symbolische Links wie folgt gesetzt werden:

 ebkus@ebvm:~$ cd /etc/apache2/mods-enabled
 ebkus@ebvm:/etc/apache2/mods-enabled$ sudo ln -s ../mods-available/ssl.conf ssl.conf
 ebkus@ebvm:/etc/apache2/mods-enabled$ sudo ln -s ../mods-available/ssl.load ssl.load

Außerdem muss die von EBKuS generierte Apache-Konfigurationsdatei eingebunden werden:

 ebkus@ebvm:~$ cd /etc/apache2/sites-enabled
 ebkus@ebvm:/etc/apache2/sites-enabled$ sudo ln -s /home/ebkus/ebkus_installation/ebkus/ebkus_httpd.conf ebkus-ssl

Die Datei ebkus_httpd.conf existiert zu diesem Zeitpunkt noch nicht, sie wird bei der Installation (install.py) und bei jeder Änderung von Instanzen (configure.py) neu generiert. Sie definiert einen Virtual Host für den Webserver, über den alle EBKuS-Instanzen angesprochen werden.

Reportlab

Falls keine Internetverbindung besteht, muss diese Datei bei der Installation im Downloadverzeichnis stehen, ansonsten wird sie bei der Installation automatisch heruntergeladen.

EBKuS

Die neueste EBKuS-Software herunterladen, auspacken und in das Distributionsverzeichnis gehen, z.B.:

 ebkus@ebkusvm1:~$ wget ftp://www.efb-berlin.de/pub/ebkus/ebkus-4.4/ebkus-4.4.1-src.zip
 ebkus@ebkusvm1:~$ unzip ebkus-4.4.1-src.zip
 ebkus@ebkusvm1:~$ cd EBKuS-4.4.1
 ebkus@ebkusvm1:~/EBKuS-4.4.1$

Installation

Erstkonfiguration

Erstkonfiguration erzeugen:

 ebkus@ebkusvm1:~/EBKuS-4.4.1$ ./install.py -c ~/ebkus_installation

Die EBKuS-Konfigurationsdatei /home/ebkus/ebkus_installation/ebkus/ebkus.conf kann nun weiter bearbeitet und für die eigentliche Installation verwendet werden.

Systemkonfiguration

System-Konfiguration anpassen, insbesondere:

  • Passwort für Datenbank-User root eintragen (Parameter database_admin_password)
  • server_name, entweder IP-Nummer oder Name (FQDN)
  • Evt. Standardports server_https_port und server_http_port anpassen
  • server_admin
  • Im Abschnitt openssl Angaben zur Region und Organisation

Instanzkonfiguration

Instanz-Konfiguration anpassen:

  • instance_name, optional instance_title
  • initial_content, falls eine initiale Datenbank vorhanden ist (z.B. aus einer früheren Installation)
  • port

Installation

Installation:

 ebkus@ebkusvm1:~/EBKuS-4.4.1$ ./install.py ~/ebkus_installation

Bei der Installation wird man unter Umständen nach dem Passwort des (Linux-)Users gefragt, dasselbe, das man bei einem vorangestellten sudo angeben muss. Damit können die start/stop-Skripte in die Bootsequenz (/etc/init.d/) eingetragen werden

Nach der Installation (und auch nach jeder Umkonfigurierung mit configure.py) muss der Webserver neu gestartet werden:

 ebkus@ebvm:~$ service sudo service apache2 restart
  * Restarting web server apache2                        [ OK ]

Ansonsten wird die neu generierte Webserver-Konfiguration in ebkus_httpd.conf nicht wirksam.

Migration

Falls wie hier beschrieben eine Menge von bestehenden Instanzen in die neue Installation übernommen werden soll:

 ebkus@ebkusvm1:~/EBKuS-4.4.1$ ./install.py -p ~/ebkus_preconfig ~/ebkus_installation

Im Verzeichnis ~/ebkus_preconfig muss dann eine gültige ebkus.conf liegen sowie eine Sicherungsdatei für jede Instanz, die in der Konfiguration über den Parameter initial_content eingebunden wird.

Dienste

Im Unterschied zur Windows werden bei der Installation und der Konfigurierung keine Dienste gestartet oder gestoppt. Es werden jedoch Skripte in /etc/init.d generiert, mit denen die EBKuS-Server hoch und runtergefahren werden. Beim booten des Systems geschieht dies automatisch, d.h. nach einem Reboot steht EBKuS automatisch zur Verfügung.

Für den Systemadministrator gibt es folgende Skripte, die nach der Installation im Homeverzeichnis stehen:

  • ebkusctl: Damit kann jede Instanz einzeln oder auch alle Instanzen gemeinsam hoch- und runtergefahren werden sowie deren Status abgefragt werden. Dieses Skript verwendet intern die generierten Skripte in /etc/init.d.
  • ebkusdump: Für jede Instanz einzeln oder für alle zusammen eine Sicherungsdatei erzeugen (verwendet intern datenbank_sichern.py).
  • ebkusrestore: Für jede Instanz einzeln oder für alle zusammen die Datenbank aus eine Sicherungsdatei initialisieren (verwendet intern datenbank_initialisieren.py).

Z.B.

 ebkus@ebvm:~/ebkus_installation/ebkus$ ebkusctl all start
* Starting EBKuS demo                                [ OK ] 
* Starting EBKuS muster_efb                          [ OK ] 
* Starting EBKuS demo_braunschweig                   [ OK ] 

Jedes Skript hat eingebaute Hilfe:

 ebkus@ebvm:~/ebkus_installation/ebkus$ ebkusctl --help
 ebkus@ebvm:~/ebkus_installation/ebkus$ ebkusctl -h