Installation: Unterschied zwischen den Versionen
Mayer (Diskussion | Beiträge) (→Einspielen der Daten) |
(→Einrichten der Datenbank) |
||
(42 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Allgemeines = | = Allgemeines = | ||
Der Letto-Server wurde in Java für JavaEE [https://www.oracle.com/technetwork/java/javaee/overview/index.html] Server entwickelt. Prinzipiell sollte Letto auf jedem JavaEE-Server unter Windows oder Linux lauffähig sein. | Der Letto-Server wurde in Java für JavaEE [https://www.oracle.com/technetwork/java/javaee/overview/index.html] Server entwickelt. Prinzipiell sollte Letto auf jedem JavaEE-Server unter Windows oder Linux lauffähig sein. | ||
− | Wir haben jedoch als Severumgebung nur Ubuntu-Server | + | Wir haben jedoch als Severumgebung nur Ubuntu-Server mit TomEE getestet und empfehlen deshalb auch diese Laufzeitumgebung. |
− | Als Datenbank wird eine MySQL-Datenbank verwendet, welche idealerweise am gleichen Server wie der | + | Als Datenbank wird eine MySQL-Datenbank verwendet, welche idealerweise am gleichen Server wie der TomEE läuft. Es ist jedoch auch mögliche einen zentralen MySQL-Server zu verwenden welcher im LAN zur Verfügung steht. |
= Installation des Ubuntu Servers = | = Installation des Ubuntu Servers = | ||
Zeile 10: | Zeile 10: | ||
== Installation unter Ubuntu 18.04 == | == Installation unter Ubuntu 18.04 == | ||
− | * Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/18.04/release/] und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD) | + | * Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/18.04/release/] (Vorsicht nicht die Live-DVD verwenden!) und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD) |
* Installation mit einem Benutzer letto | * Installation mit einem Benutzer letto | ||
* Installation der benötigten Packete: | * Installation der benötigten Packete: | ||
− | <pre># | + | <pre> |
− | + | # letzte Updates einspielen | |
apt-get -y update | apt-get -y update | ||
− | |||
− | |||
apt-get -y upgrade | apt-get -y upgrade | ||
apt-get -y dist-upgrade | apt-get -y dist-upgrade | ||
+ | apt-get -y autoremove | ||
− | # | + | # Installation einer aktuellen Java8-JDK (hier die Open-JDK, es kann aber auch die Oracle-JDK verwendet werden) |
− | apt-get install -y | + | apt-get install -y openjdk-8-jre openjdk-8-jdk openjdk-8-demo openjdk-8-doc openjdk-8-jre-headless openjdk-8-source |
# Maxima,Inkscape,komprimierer | # Maxima,Inkscape,komprimierer | ||
− | apt-get install -y maxima inkscape arj zip | + | apt-get install -y maxima inkscape arj zip unzip |
# Tex | # Tex | ||
apt-get install -y tex-common texinfo texlive-latex-extra fig2ps ttm texlive-full texlive-plain-extra | apt-get install -y tex-common texinfo texlive-latex-extra fig2ps ttm texlive-full texlive-plain-extra | ||
− | # Samba und cifs für die Autentifizierung | + | # Samba und cifs für die Autentifizierung an einer Windows Domain |
− | apt-get install -y samba realmd sssd adcli libwbclient-sssd krb5-user sssd-tools samba-common | + | #apt-get install -y samba realmd sssd adcli libwbclient-sssd krb5-user sssd-tools packagekit |
+ | #apt-get install -y samba-common samba-common-bin samba-libs | ||
# Installation von MySQL, wenn es am Server installiert wird | # Installation von MySQL, wenn es am Server installiert wird | ||
apt-get install -y apache2 php mysql-server mysql-client phpmyadmin | apt-get install -y apache2 php mysql-server mysql-client phpmyadmin | ||
+ | </pre> | ||
+ | |||
+ | == Installation unter Ubuntu 20.04 == | ||
+ | * Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/20.04/release/]und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD) | ||
+ | * Installation mit einem Benutzer letto | ||
+ | * Installation der benötigten Packete: | ||
+ | <pre> | ||
+ | # letzte Updates einspielen | ||
+ | apt-get -y update | ||
+ | apt-get -y upgrade | ||
+ | apt-get -y dist-upgrade | ||
+ | apt-get -y autoremove | ||
+ | |||
+ | # Installation einer aktuellen Java8-JDK (hier die Open-JDK, es kann aber auch die Oracle-JDK verwendet werden) | ||
+ | apt-get install -y openjdk-8-jre openjdk-8-jdk openjdk-8-demo openjdk-8-doc openjdk-8-jre-headless openjdk-8-source | ||
+ | |||
+ | # Maxima,Inkscape,komprimierer | ||
+ | apt-get install -y maxima inkscape arj zip unzip scour | ||
+ | |||
+ | # Tex | ||
+ | apt-get install -y tex-common texinfo texlive-base texlive-latex-recommended texlive texlive-latex-extra texlive-full fig2ps ttm | ||
+ | |||
+ | # Installation von Apache und MySQL, wenn es am Server installiert wird | ||
+ | apt-get install -y apache2 php mysql-server mysql-client python3-certbot-apache net-tools software-properties-common | ||
</pre> | </pre> | ||
= Einrichten der Datenbank = | = Einrichten der Datenbank = | ||
* Die Konfiguration kann über phpmyadmin,den mysql Konsolen-Client, MySQLWorkbench, oder irgend ein anderes Admin-Tool für die MySQL-Datenbank erfolgen. | * Die Konfiguration kann über phpmyadmin,den mysql Konsolen-Client, MySQLWorkbench, oder irgend ein anderes Admin-Tool für die MySQL-Datenbank erfolgen. | ||
− | * Anlegen eines Benutzers "letto" mit Zugriffsrecht auf die Datenbank "letto" | + | * Anlegen eines Benutzers "letto" mit Zugriffsrecht auf die Datenbank "letto". Bitte verwenden sie '''keine Sonderzeichen oder Umlaute im Passwort''', da dies zu Problemen bei der Datenbankverbindung führen kann!! |
− | * | + | <pre> |
+ | mysqldatabase=letto | ||
+ | mysqluser=letto | ||
+ | mysqlpassword=[passwort] | ||
+ | mysqlltidatabase=lettolti | ||
+ | mysqlltiuser=lettolti | ||
+ | mysqlltipassword=[ltipasswort] | ||
+ | echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;"|mysql -u root -h localhost mysql | ||
+ | echo "flush privileges;"|mysql -u root -h localhost mysql | ||
+ | echo "create database if not exists $mysqldatabase ;"|mysql -u root -h localhost | ||
+ | echo "CREATE USER if not exists '$mysqluser'@'localhost' IDENTIFIED WITH mysql_native_password BY '$mysqlpassword';"|mysql -u root -h localhost mysql | ||
+ | echo "GRANT ALL PRIVILEGES ON $mysqldatabase.* TO '$mysqluser'@'localhost';"|mysql -u root -h localhost mysql | ||
+ | echo "create database if not exists $mysqlltidatabase;"|mysql -u root -h localhost | ||
+ | echo "CREATE USER if not exists '$mysqlltiuser'@'localhost' IDENTIFIED WITH mysql_native_password BY '$mysqlltipassword';"|mysql -u root -h localhost mysql | ||
+ | echo "GRANT ALL PRIVILEGES ON $mysqlltidatabase . * TO '$mysqlltiuser'@'localhost';"|mysql -u root -h localhost mysql | ||
+ | echo "flush privileges;"|mysql -u root -h localhost mysql | ||
+ | </pre> | ||
* Den Rest erledigt der Letto-Server | * Den Rest erledigt der Letto-Server | ||
− | + | * Einstellung an der Datei mysqld.cnf als root | |
− | + | <pre> | |
− | + | nano /etc/mysql/mysql.conf.d/mysqld.cnf | |
− | * | ||
− | <pre> | ||
− | |||
− | |||
</pre> | </pre> | ||
− | + | Am Ende der Datei einfügen: | |
− | + | <pre> | |
− | + | [mysqld] | |
− | + | sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" | |
− | < | + | default-time-zone='SYSTEM' |
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | * | + | * Mysql neu starten |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | service mysql restart | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | = | + | = Installation des Webservers = |
− | * | + | |
− | * | + | Als Webserver wird von uns eine Kombination aus Apache-Server und TomEE 8 empfohlen. Der Apache-Server hostet alle statischen Dateien wie Images, Videos, Javascript-Libraries und stellt die Zertifikate für die https-Verbindung zur Verfügung. |
− | * | + | * [[Installation TomEE-8]] |
− | * | + | * [[Betreiben hinter einem Apache-Server|Konfiguration Apache-Server]] |
− | * | + | |
+ | Zu Testzwecken wird empfohlen, den Produktionsserver und die neue TomEE8-Version parallel zu verwenden. | ||
+ | Siehe [[Umstieg von Glassfish 4.1 auf TomEE 8]] | ||
+ | |||
+ | Die folgenden Links zeigen auf die '''veraltelte Installation''' unter TomEE-7 oder Glassfish 4.1 | ||
+ | * [[Installation Glassfish Server|Installation Glassfish 4.1 - veraltet]] | ||
+ | * [[Installation TomEE Server|Installation TomEE 7 - veraltet]] | ||
+ | * [[Betreiben hinter einem Apache-Server]] | ||
+ | |||
+ | = globale Konfiguration = | ||
+ | Folgende Einstellungen sollte der [[Globaler Administrator|globale Administrator]] vornehmen: | ||
+ | * Anpassen der notwendigen Systemeinstellungen in der '''[[Globale Konfiguration|globalen Konfiguration]]'''. | ||
+ | ** [[Globale Konfiguration#Parameter für den Active-Directory-Login|Parameter]] für die Active-Directory oder LDAP Authentifikation | ||
+ | ** [[Globale Konfiguration#Parameter für den Serverbetrieb|Parameter]] für den Server-Betrieb | ||
+ | ** Wenn nur eine Schule vorhanden ist, die Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]] | ||
+ | ** Konfiguration des [[Globale Konfiguration#Allgemeine Konfiguration des Serververhaltens|Serververhaltens]] | ||
+ | * Konfiguration des [[Schultypen|Schultyps]] | ||
+ | * Anlegen einer neuen [[Schul-Konfiguration|Schule]] | ||
+ | * Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]] | ||
= Lizenz-Key einspielen = | = Lizenz-Key einspielen = | ||
Zeile 127: | Zeile 128: | ||
= Einspielen der Daten = | = Einspielen der Daten = | ||
* Das [[Datenimport|Einspielen der Daten]] wird bei einer Letto-Admin-Schulung erklärt | * Das [[Datenimport|Einspielen der Daten]] wird bei einer Letto-Admin-Schulung erklärt | ||
+ | |||
+ | = Konfiguration der globalen Einstellungen = | ||
+ | :[[Datei:ClipCapIt-190121-191552.PNG|200px]] | ||
+ | * Im Dialog "[[Globale Konfiguration]]" müssen noch die Parameter für Server, AD-Login und Schule eingestellt werden. | ||
+ | * Als globaler Administrator kann man mit dem Menüpunkt "[[AD-check]]" die Authentifikation an einem LDAP-Server oder an einem Active-Directory konfigurieren. | ||
= letzte wichtige Server-Konfigurationen = | = letzte wichtige Server-Konfigurationen = |
Version vom 15. September 2020, 14:46 Uhr
Inhaltsverzeichnis
Allgemeines
Der Letto-Server wurde in Java für JavaEE [1] Server entwickelt. Prinzipiell sollte Letto auf jedem JavaEE-Server unter Windows oder Linux lauffähig sein. Wir haben jedoch als Severumgebung nur Ubuntu-Server mit TomEE getestet und empfehlen deshalb auch diese Laufzeitumgebung.
Als Datenbank wird eine MySQL-Datenbank verwendet, welche idealerweise am gleichen Server wie der TomEE läuft. Es ist jedoch auch mögliche einen zentralen MySQL-Server zu verwenden welcher im LAN zur Verfügung steht.
Installation des Ubuntu Servers
Der Server kann entweder direkt auf einer PC-Hardware oder in einer virtuellen Umgebung installiert werden. Wir gehen hier nur auf die Direktinstallation ein, virtuelle Systeme sollten aber analog dazu installiert werden können.
Installation unter Ubuntu 18.04
- Download von Ubuntu Server [2] (Vorsicht nicht die Live-DVD verwenden!) und Erzeugung eines Boot Mediums [3] (zB. DVD)
- Installation mit einem Benutzer letto
- Installation der benötigten Packete:
# letzte Updates einspielen apt-get -y update apt-get -y upgrade apt-get -y dist-upgrade apt-get -y autoremove # Installation einer aktuellen Java8-JDK (hier die Open-JDK, es kann aber auch die Oracle-JDK verwendet werden) apt-get install -y openjdk-8-jre openjdk-8-jdk openjdk-8-demo openjdk-8-doc openjdk-8-jre-headless openjdk-8-source # Maxima,Inkscape,komprimierer apt-get install -y maxima inkscape arj zip unzip # Tex apt-get install -y tex-common texinfo texlive-latex-extra fig2ps ttm texlive-full texlive-plain-extra # Samba und cifs für die Autentifizierung an einer Windows Domain #apt-get install -y samba realmd sssd adcli libwbclient-sssd krb5-user sssd-tools packagekit #apt-get install -y samba-common samba-common-bin samba-libs # Installation von MySQL, wenn es am Server installiert wird apt-get install -y apache2 php mysql-server mysql-client phpmyadmin
Installation unter Ubuntu 20.04
- Download von Ubuntu Server [4]und Erzeugung eines Boot Mediums [5] (zB. DVD)
- Installation mit einem Benutzer letto
- Installation der benötigten Packete:
# letzte Updates einspielen apt-get -y update apt-get -y upgrade apt-get -y dist-upgrade apt-get -y autoremove # Installation einer aktuellen Java8-JDK (hier die Open-JDK, es kann aber auch die Oracle-JDK verwendet werden) apt-get install -y openjdk-8-jre openjdk-8-jdk openjdk-8-demo openjdk-8-doc openjdk-8-jre-headless openjdk-8-source # Maxima,Inkscape,komprimierer apt-get install -y maxima inkscape arj zip unzip scour # Tex apt-get install -y tex-common texinfo texlive-base texlive-latex-recommended texlive texlive-latex-extra texlive-full fig2ps ttm # Installation von Apache und MySQL, wenn es am Server installiert wird apt-get install -y apache2 php mysql-server mysql-client python3-certbot-apache net-tools software-properties-common
Einrichten der Datenbank
- Die Konfiguration kann über phpmyadmin,den mysql Konsolen-Client, MySQLWorkbench, oder irgend ein anderes Admin-Tool für die MySQL-Datenbank erfolgen.
- Anlegen eines Benutzers "letto" mit Zugriffsrecht auf die Datenbank "letto". Bitte verwenden sie keine Sonderzeichen oder Umlaute im Passwort, da dies zu Problemen bei der Datenbankverbindung führen kann!!
mysqldatabase=letto mysqluser=letto mysqlpassword=[passwort] mysqlltidatabase=lettolti mysqlltiuser=lettolti mysqlltipassword=[ltipasswort] echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;"|mysql -u root -h localhost mysql echo "flush privileges;"|mysql -u root -h localhost mysql echo "create database if not exists $mysqldatabase ;"|mysql -u root -h localhost echo "CREATE USER if not exists '$mysqluser'@'localhost' IDENTIFIED WITH mysql_native_password BY '$mysqlpassword';"|mysql -u root -h localhost mysql echo "GRANT ALL PRIVILEGES ON $mysqldatabase.* TO '$mysqluser'@'localhost';"|mysql -u root -h localhost mysql echo "create database if not exists $mysqlltidatabase;"|mysql -u root -h localhost echo "CREATE USER if not exists '$mysqlltiuser'@'localhost' IDENTIFIED WITH mysql_native_password BY '$mysqlltipassword';"|mysql -u root -h localhost mysql echo "GRANT ALL PRIVILEGES ON $mysqlltidatabase . * TO '$mysqlltiuser'@'localhost';"|mysql -u root -h localhost mysql echo "flush privileges;"|mysql -u root -h localhost mysql
- Den Rest erledigt der Letto-Server
- Einstellung an der Datei mysqld.cnf als root
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Am Ende der Datei einfügen:
[mysqld] sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" default-time-zone='SYSTEM'
- Mysql neu starten
service mysql restart
Installation des Webservers
Als Webserver wird von uns eine Kombination aus Apache-Server und TomEE 8 empfohlen. Der Apache-Server hostet alle statischen Dateien wie Images, Videos, Javascript-Libraries und stellt die Zertifikate für die https-Verbindung zur Verfügung.
Zu Testzwecken wird empfohlen, den Produktionsserver und die neue TomEE8-Version parallel zu verwenden. Siehe Umstieg von Glassfish 4.1 auf TomEE 8
Die folgenden Links zeigen auf die veraltelte Installation unter TomEE-7 oder Glassfish 4.1
- Installation Glassfish 4.1 - veraltet
- Installation TomEE 7 - veraltet
- Betreiben hinter einem Apache-Server
globale Konfiguration
Folgende Einstellungen sollte der globale Administrator vornehmen:
- Anpassen der notwendigen Systemeinstellungen in der globalen Konfiguration.
- Parameter für die Active-Directory oder LDAP Authentifikation
- Parameter für den Server-Betrieb
- Wenn nur eine Schule vorhanden ist, die Konfiguration der Schul-Parameter
- Konfiguration des Serververhaltens
- Konfiguration des Schultyps
- Anlegen einer neuen Schule
- Konfiguration der Schul-Parameter
Lizenz-Key einspielen
- Der Lizenz-Key wird einfach in das Feld "Lizenz-Key" kopiert und mit "Lizenz übernehmen" bestätigt
- Wird der Lizenz-Key korrekt angenommen, so ist letto danach einsatzbereit
Einspielen der Daten
- Das Einspielen der Daten wird bei einer Letto-Admin-Schulung erklärt
Konfiguration der globalen Einstellungen
- Im Dialog "Globale Konfiguration" müssen noch die Parameter für Server, AD-Login und Schule eingestellt werden.
- Als globaler Administrator kann man mit dem Menüpunkt "AD-check" die Authentifikation an einem LDAP-Server oder an einem Active-Directory konfigurieren.
letzte wichtige Server-Konfigurationen
Folgende Konfigurationen sollten noch vorgenommmen werden, werden aber in diesem Wiki nicht explizit beschrieben, sondern sollten von einem Linux/Unix-Fachmann vorgenommen werden.
- Letto beim Systemstart automatisch starten
- Datensicherung einrichten
- Firewall einrichten
- Zertifikat für den Glassfish für https
- Verlinkungen und Weiterleitungen auf den Server einrichten