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.