Linux Installation: Unterschied zwischen den Versionen

Aus EBKuS Dokumentation
Wechseln zu: Navigation, Suche
(ZxKogWYDT)
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
+
 
+
-->
+

Version vom 13. August 2011, 02:50 Uhr

Wow, this is in every respect what I ndeeed to know.