Linux Installation: Unterschied zwischen den Versionen
Ebkus (Diskussion | Beiträge) |
Ebkus (Diskussion | Beiträge) |
||
(5 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 36: | Zeile 36: | ||
ebkus@ebvm:~$ sudo apt upgrade | ebkus@ebvm:~$ sudo apt upgrade | ||
− | 2. PPA von MySQL einrichten und MySQL-Installation konfigurieren: | + | 2. PPA (Personal Package Archive, Paketquelle) von MySQL einrichten und MySQL-Installation konfigurieren: |
ebkus@ebvm:~$ wget <nowiki>http://repo.mysql.com/mysql-apt-config_0.8.15-1_all.deb</nowiki> | ebkus@ebvm:~$ wget <nowiki>http://repo.mysql.com/mysql-apt-config_0.8.15-1_all.deb</nowiki> | ||
Zeile 47: | Zeile 47: | ||
ebkus@ebvm:~$ sudo apt update | ebkus@ebvm:~$ sudo apt update | ||
− | ebkus@ebvm:~$ sudo apt install mysql-server | + | ebkus@ebvm:~$ sudo apt install mysql-community-server |
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 | 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 | ||
Zeile 111: | Zeile 111: | ||
Erstkonfiguration erzeugen: | Erstkonfiguration erzeugen: | ||
− | ebkus@ebkusvm1:~/EBKuS-4. | + | ebkus@ebkusvm1:~/EBKuS-4.10$ python 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. | Die EBKuS-Konfigurationsdatei {{file|/home/ebkus/ebkus_installation/ebkus/ebkus.conf}} kann nun weiter bearbeitet und für die eigentliche Installation verwendet werden. | ||
Zeile 118: | Zeile 118: | ||
System-[[Konfiguration]] anpassen, insbesondere: | System-[[Konfiguration]] anpassen, insbesondere: | ||
* Passwort für Datenbank-User {{code|root}} eintragen (Parameter {{konfig|database_admin_password}}) | * Passwort für Datenbank-User {{code|root}} eintragen (Parameter {{konfig|database_admin_password}}) | ||
− | * {{konfig|server_name}}, | + | * {{konfig|server_name}}, normalerweise die IP-Nummer des Rechners |
* Evt. Standardports {{konfig|server_https_port}} und {{konfig|server_http_port}} anpassen | * Evt. Standardports {{konfig|server_https_port}} und {{konfig|server_http_port}} anpassen | ||
* {{konfig| server_admin}} | * {{konfig| server_admin}} | ||
Zeile 133: | Zeile 133: | ||
Installation: | Installation: | ||
− | ebkus@ebkusvm1:~/EBKuS-4. | + | ebkus@ebkusvm1:~/EBKuS-4.10$ python 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 | 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 | ||
Zeile 144: | Zeile 144: | ||
Falls wie [[Windows_Installation#Migration|hier]] beschrieben eine Menge von bestehenden Instanzen in die neue Installation übernommen werden soll: | Falls wie [[Windows_Installation#Migration|hier]] beschrieben eine Menge von bestehenden Instanzen in die neue Installation übernommen werden soll: | ||
− | ebkus@ebkusvm1:~/EBKuS-4. | + | ebkus@ebkusvm1:~/EBKuS-4.10$ python 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. | 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 === | === Dienste === | ||
− | Im Unterschied | + | Im Unterschied zu [[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: | Für den Systemadministrator gibt es folgende Skripte, die nach der Installation im Homeverzeichnis stehen: | ||
Zeile 175: | Zeile 175: | ||
mkdir /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): | #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: | #EBKuS-Konfiguration erzeugen: | ||
python install.py --config /home/user/ebinst | python install.py --config /home/user/ebinst |
Aktuelle Version vom 19. November 2020, 13:51 Uhr
Gültig ab: EBKuS 4.10
Die folgende Anleitung habe ich mit "Debian GNU/Linux 10 (buster)" 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.
Inhaltsverzeichnis
Voraussetzungen
Folgende Voraussetzungen müssen erfüllt sein, damit EBKuS installiert werden kann:
Python 2.7
Ist auf solche Systemen normalerweise bereits installiert, ansonsten:
ebkus@ebvm:~$ sudo apt-get install python2.7
Die Python Version sollte 2.7.13 oder höher sein, optimalerweise 2.7.18, welches die letzte Python-2-Version darstellt. Python 2 wird nicht mehr weiterentwickelt wird. EBKuS ist noch nicht auf Python 3 portiert.
MySQL
Es sollte eine MySQL 5.*-Version zur Verfügung stehen, z.B. 5.1, 5.6 oder 5.7. Zur Installation auf Debian 10 siehe zum Beispiel https://tecadmin.net/install-mysql-on-debian-10-buster/ Kurz zusammengefasst wie folgt:
1. System auf den neuesten Stand bringen:
ebkus@ebvm:~$ sudo apt update ebkus@ebvm:~$ sudo apt upgrade
2. PPA (Personal Package Archive, Paketquelle) von MySQL einrichten und MySQL-Installation konfigurieren:
ebkus@ebvm:~$ wget http://repo.mysql.com/mysql-apt-config_0.8.15-1_all.deb ebkus@ebvm:~$ sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
Beim letzten Schritt unbedingt ein MySQL 5 auswählen, also 5.6 oder 5.7! EBKuS wurde noch nicht auf höheren Versionen getestet.
3. MySQL installieren:
ebkus@ebvm:~$ sudo apt update ebkus@ebvm:~$ sudo apt install mysql-community-server
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.7.16 (default, Oct 10 2019, 22:02:15) ... >>> 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, müssen das ssl-Modul und das cgi-Modul aktiviert werden:
ebkus@ebvm:~$ sudo a2enmod ssl ebkus@ebvm:~$ sudo a2enmod cgi
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.conf
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.
Dateirechte: Alle Verzeichnisse, die in einem Pfad zu einer Datei stehen, die vom Webserver gelesen werden soll, müssen das Leserecht und das Ausführungsrecht besitzen. Wenn das Installationsverzeichnis wie im Beispiel im Homeverzeichnis eines Benutzers steht, müssen diese Rechte evt. explizit vergeben werden:
ebkus@ebvm:~$ sudo chmod go+rx /home/ebkus
Den vom Installationsskript erzeugten Verzeichnissen und Dateien werden diese Rechte automatisch gegeben.
EBKuS
Die neueste EBKuS-Software herunterladen, auspacken und in das Distributionsverzeichnis gehen, z.B.:
ebkus@ebkusvm1:~$ wget https://ebkus.org/downloads/ebkus-4.10/ebkus-4.10-src.zip ebkus@ebkusvm1:~$ unzip ebkus-4.10-src.zip ebkus@ebkusvm1:~$ cd EBKuS-4.10 ebkus@ebkusvm1:~/EBKuS-4.10$
Installation
Erstkonfiguration
Erstkonfiguration erzeugen:
ebkus@ebkusvm1:~/EBKuS-4.10$ python 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 (Parameterdatabase_admin_password
) -
server_name
, normalerweise die IP-Nummer des Rechners - Evt. Standardports
server_https_port
undserver_http_port
anpassen -
server_admin
- Im Abschnitt
openssl
Angaben zur Region und Organisation
Instanzkonfiguration
Instanz-Konfiguration anpassen:
-
instance_name
, optionalinstance_title
-
initial_content
, falls eine initiale Datenbank vorhanden ist (z.B. aus einer früheren Installation) -
port
Installation
Installation:
ebkus@ebkusvm1:~/EBKuS-4.10$ python 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:~$ 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.10$ python 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 zu 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 interndatenbank_sichern.py
). -
ebkusrestore
: Für jede Instanz einzeln oder für alle zusammen die Datenbank aus eine Sicherungsdatei initialisieren (verwendet interndatenbank_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