|
|
Zeile 1: |
Zeile 1: |
− | Gültig ab: EBKuS 4.4.1
| + | Wow, this is in every respect what I ndeeed to know. |
− | | + | |
− | 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 {{code|ebkus}} auf einem Rechner mit dem Namen {{code|ebvm}}. Der User {{code|ebkus}} benötigt Superuserrechte ({{code|sudo}}). Es wird angenommen, dass eine Internetverbindung besteht (zur Installation von Software mit {{code|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 {{code|root}} angegeben werden, das später in die {{file|ebkus.conf}} eingetragen werden muss. Nach einer erfolgreichen Installation kann man sich mit dem Befehl
| + | |
− | ebkus@ebvm:~$ mysql -uroot -p''Passwort''
| + | |
− | 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 {{file|/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 <nowiki>http://localhost/</nowiki> eine Seite mit '''It works!'''. Oder man installiert z.B. {{code|wget}} und erhält mit der genannten Adresse die entsprechende HTML-Datei {{file|index.html}}:
| + | |
− | ebkus@ebvm:~$ sudo apt-get install wget
| + | |
− | ebkus@ebvm:~$ wget <nowiki>http://localhost/</nowiki>
| + | |
− | | + | |
− | Falls der Webserver nicht auf den Standardports 80 und 443 laufen soll, muss die Datei {{file|/etc/apache2/ports.conf}} angepasst werden, ebenso die {{file|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 {{file|ebkus_httpd.conf}} existiert zu diesem Zeitpunkt noch nicht, sie wird bei der Installation ({{file|install.py}}) und bei jeder Änderung von Instanzen ({{file|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 [ftp://www.efb-berlin.de/pub/ebkus/ebkus-3.3/linux/ReportLab_1_19.zip diese] Datei bei der Installation im Downloadverzeichnis stehen, ansonsten wird sie bei der Installation automatisch heruntergeladen.
| + | |
− | | + | |
− | ==== EBKuS ====
| + | |
− | | + | |
− | Die neueste [ftp://www.efb-berlin.de/pub/ebkus/ebkus-4.4/ 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 {{file|/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 {{code|root}} eintragen (Parameter {{konfig|database_admin_password}})
| + | |
− | * {{konfig|server_name}}, entweder IP-Nummer oder Name (FQDN)
| + | |
− | * Evt. Standardports {{konfig|server_https_port}} und {{konfig|server_http_port}} anpassen
| + | |
− | * {{konfig| server_admin}}
| + | |
− | * Im Abschnitt {{code|openssl}} Angaben zur Region und Organisation
| + | |
− | | + | |
− | ==== Instanzkonfiguration ====
| + | |
− | | + | |
− | Instanz-[[Konfiguration]] anpassen:
| + | |
− | * {{konfig|instance_name}}, optional {{konfig|instance_title}}
| + | |
− | * {{konfig|initial_content}}, falls eine initiale Datenbank vorhanden ist (z.B. aus einer früheren Installation)
| + | |
− | * {{konfig|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 {{code|sudo}} angeben muss. Damit können die start/stop-Skripte in die Bootsequenz ({{file|/etc/init.d/}}) eingetragen werden
| + | |
− | | + | |
− | Nach der Installation (und auch nach jeder Umkonfigurierung mit {{file|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 {{file|ebkus_httpd.conf}} nicht wirksam.
| + | |
− | | + | |
− | ==== Migration ====
| + | |
− | | + | |
− | Falls wie [[Windows_Installation#Migration|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 {{file|~/ebkus_preconfig}} muss dann eine gültige {{file|ebkus.conf}} liegen sowie eine Sicherungsdatei für jede Instanz, die in der Konfiguration über den Parameter {{konfig|initial_content}} eingebunden wird.
| + | |
− | | + | |
− | === Dienste ===
| + | |
− | | + | |
− | Im Unterschied zur [[Windows Installation|Windows]] werden bei der Installation und der Konfigurierung keine Dienste gestartet oder gestoppt. Es werden jedoch Skripte in {{file|/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:
| + | |
− | * {{code|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 {{file|/etc/init.d}}.
| + | |
− | * {{code|ebkusdump}}: Für jede Instanz einzeln oder für alle zusammen eine Sicherungsdatei erzeugen (verwendet intern {{file|datenbank_sichern.py||}}).
| + | |
− | * {{code|ebkusrestore}}: Für jede Instanz einzeln oder für alle zusammen die Datenbank aus eine Sicherungsdatei initialisieren (verwendet intern {{file| 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
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | <!--
| + | |
− | | + | |
− | Schritte:
| + | |
− | | + | |
− | #`Installationsverzeichnis`_ einrichten, z.B. {{code|/home/user/ebinst}}:
| + | |
− | mkdir /home/user/ebinst
| + | |
− | #In das `Distributionsverzeichnis`_ gehen (z.B. {{code|/home/user/ebkus-cd/ebkus-3.3}}; man könnte hier auch direkt von der CD arbeiten):
| + | |
− | cd /home/user/ebkus-cd/ebkus-3.3
| + | |
− | #EBKuS-Konfiguration erzeugen:
| + | |
− | python install.py --config /home/user/ebinst
| + | |
− | #Erzeugte Konfigurationsdatei {{code|/home/user/ebinst/ebkus/ebkus.conf}}anpassen (siehe `Konfiguration`_).
| + | |
− | #EBKuS und alle in der Konfigurationsdatei definierten Instanzen installieren und konfigurieren:
| + | |
− | python install.py /home/user/ebinst
| + | |
− | Für jede in der Konfiguration definierten Instanz gibt es dann ein `Instanzverzeichnis`_:
| + | |
− | | + | |
− | <blockquote>{{code|/home/user/ebinst/ebkus/}}''Instanzname''
| + | |
− | | + | |
− | </blockquote>
| + | |
− | Die Meldungen des Installationsskriptes stehen auch in der Datei {{code|/home/user/ebinst/install.log}}.
| + | |
− | | + | |
− | #(als {{code|root}}) Die in Schritt 5. erzeugte Datei {{code|/home/user/ebinst/ebkus/ebkus_httpd.conf}} in die Apache-Konfigurationsdatei (bei SuSE z.B. /etc/httpd/httpd.conf) inkludieren, z.B. indem Sie dort am Ende die folgende Zeile eintragen:
| + | |
− | Include /home/user/ebinst/ebkus/ebkus_httpd.conf
| + | |
− | #(als {{code|root}}) Den Apache-Webserver neustarten, damit die modifizierte Konfiguration berücksichtigt wird, z.B. bei SuSE:
| + | |
− | rcapache restart
| + | |
− | #Eine konfigurierte EBKuS-Instanz testen, z.B. die Instanz demo:
| + | |
− | cd /home/user/ebinst/ebkus/demo
| + | |
− | ./start.py --console
| + | |
− | Der gestartete Server gibt Meldungen auf die Konsole aus.
| + | |
− | | + | |
− | #Über einen Browser mit der Instanz {{code|demo}} arbeiten (anstatt {{code|demo}} auch mit jeder anderen in der `Konfiguration`_definierten Instanz):
| + | |
− | https://localhost/ebkus/demo/cgi/do/login
| + | |
− | Die Login-Maske kann auch über eine vorgeschaltete Eingangsseite erreicht werden, die für jede Instanz generiert wird:
| + | |
− | | + | |
− | https://localhost/ebkus/demo/index.html
| + | |
− | Diese Seite kann mit einem HTML-Editor gemäß den lokalen Bedürfnissen erweitert oder verändert werden. Die zu editierende Datei ist im `Instanzverzeichnis`_ unter {{code|htdocs/index.html}} zu finden.
| + | |
− | | + | |
− | Als Administrator anmelden: Benutzer {{code|Admin}}, Passwort {{code|Admin}}. Als angemeldeter Administrator können Sie weitere Benutzer anlegen.
| + | |
− | | + | |
− | Die Instanzen {{code|demo}} bzw. {{code|demo_berlin}} enthalten bereits Beispieldaten, mit denen Sie experimentieren können. Sie können sich also gleich als Bearbeiter bzw. als Verwaltungskraft anmelden, z.B. Benutzer {{code|test}}, Passwort {{code|test}} bzw. Benutzer {{code|verw}}, Passwort {{code|verw}}.
| + | |
− | | + | |
− | Falls Sie in der Konfiguration den Parameter ''server_name'' mit einer in Ihrem Netzwerk gültigen IP-Adresse oder einem gültigen Namen belegt haben, können Sie auch von anderen Rechnern im Netzwerk auf eine EBKuS-Instanz zugreifen, z.B.:
| + | |
− | | + | |
− | https://192.168.1.92/ebkus/demo/index.html https://192.168.1.92/ebkus/demo/cgi/do/login
| + | |
− | #(als {{code|root}}) Die Instanz in die Bootsequenz des Servers aufnehmen, so dass beim Hochfahren des Rechners der EBKuS-Server für die Instanz automatisch gestartet wird:
| + | |
− | cd /home/user/ebinst/ebkus/demo cp ebkus_demo /etc/init.d
| + | |
− | Die Links für die Run-Level manuell setzen oder, z.B. bei SuSE, den Run-Level-Editor verwenden.
| + | |
− | | + | |
− | #In einer Produktionsinstanz die Anwendung einrichten, siehe Einrichtung der Anwendung im Handbuch.
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | - Apache richtig löschen, so dass frische Konfig kommt:
| + | |
− | | + | |
− | - sudo dpkg --purge --force-remove-reinstreq apache2.2-common
| + | |
− | | + | |
− | So geht richtiges uninstall mit Konfiguration:
| + | |
− | apt-get remove ––purge *paketname*
| + | |
− | | + | |
− | | + | |
− | | + | |
− | - download mit wget auf dem ubuntu server
| + | |
− | | + | |
− | | + | |
− | | + | |
− | == Apache Konfiguration ==
| + | |
− | | + | |
− | cd /etc/apache2/mods-enabled
| + | |
− | sudo ln -s ../mods-available/ssl.conf ssl.conf
| + | |
− | sudo ln -s ../mods-available/ssl.load ssl.load
| + | |
− | | + | |
− | cd /etc/apache2/sites-enabled
| + | |
− | sudo ln -s /home/ebkus/ebkus_installation/ebkus/ebkus_httpd.conf ebkus-ssl
| + | |
− | http://ebkus.org/wiki/Linux_Installation#MySQL
| + | |
− | http://ebkus.org/wiki/Linux_Installation#Apache_2
| + | |
− | | + | |
− | -->
| + | |
Wow, this is in every respect what I ndeeed to know.