Installation: Unterschied zwischen den Versionen

Aus Letto-Wiki
Wechseln zu: Navigation, Suche
(Einrichten der Datenbank)
(Einrichten der Datenbank)
(5 dazwischenliegende Versionen desselben Benutzers 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 getestet mit Glassfish 4.1 [https://javaee.github.io/glassfish/download] getestet und empfehlen deshalb auch diese Laufzeitumgebung.
+
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 Glassfish läuft. Es ist jedoch auch mögliche einen zentralen MySQL-Server zu verwenden welcher im LAN zur Verfügung steht.
+
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 15: Zeile 15:
 
<pre>
 
<pre>
 
# letzte Updates einspielen
 
# letzte Updates einspielen
 +
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)
 
# Installation einer aktuellen Java8-JDK (hier die Open-JDK, es kann aber auch die Oracle-JDK verwendet werden)
Zeile 33: Zeile 35:
 
# 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>
  
Zeile 38: Zeile 64:
 
* 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". Bitte verwenden sie '''keine Sonderzeichen oder Umlaute im Passwort''', da dies zu Problemen bei der Datenbankverbindung führen kann!!  
 
* 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!!  
* Anlegen einer leeren Datenbank "letto"
+
<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
 
* Einstellung an der Datei mysqld.cnf als root
Zeile 47: Zeile 89:
 
<pre>
 
<pre>
 
[mysqld]
 
[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
+
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
 
* Mysql neu starten
Zeile 69: Zeile 112:
  
 
= globale Konfiguration =
 
= globale Konfiguration =
Folgende Einstellungen sollte der [[Globaler Administrator|globle Administrator]] vornehmen:
+
Folgende Einstellungen sollte der [[Globaler Administrator|globale Administrator]] vornehmen:
 
* Anpassen der notwendigen Systemeinstellungen in der '''[[Globale Konfiguration|globalen Konfiguration]]'''.
 
* 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 Active-Directory-Login|Parameter]] für die Active-Directory oder LDAP Authentifikation

Version vom 15. September 2020, 13:46 Uhr

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

globale Konfiguration

Folgende Einstellungen sollte der globale Administrator vornehmen:

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

Konfiguration der globalen Einstellungen

ClipCapIt-190121-191552.PNG
  • 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