Installation
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 getestet mit Glassfish 4.1 [2] 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.
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 [3] (Vorsicht nicht die Live-DVD verwenden!) und Erzeugung eines Boot Mediums [4] (zB. DVD)
- Installation mit einem Benutzer letto
- Installation der benötigten Packete:
# Repository für Java apt-add-repository -y ppa:webupd8team/java apt-get -y update # letzte Updates einspielen apt-get -y upgrade apt-get -y dist-upgrade # Java installieren apt-get install -y oracle-java8-installer # 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 am einer Windows Domain apt-get install -y samba realmd sssd adcli libwbclient-sssd krb5-user sssd-tools samba-common packagekit 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
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"
- Anlegen einer leeren Datenbank "letto"
- Den Rest erledigt der Letto-Server
Installation Glassfish Server
- Aktionen durchführen als user "letto"
- Download der glassfish-4.1.2.zip [5], entpacken der zip und verschieben nach /opt
wget http://download.java.net/glassfish/4.1.2/release/glassfish-4.1.2.zip unzip glassfish-4.1.2.zip sudo mv glassfish4 /opt/
- Kontrolle ob der Benutzer "letto" alle Recht im Verzeichnis /opt/glassfish4 hat
- Glassfish Secure Admin starten und Admin-Passwort setzen (altes Passwort ist nach einer Neuinstallation leer!)
/opt/glassfish4/glassfish/bin/asadmin --port 4848 change-admin-password
- Glassfish Server starten als Benutzer "letto"
/opt/glassfish4/glassfish/bin/asadmin start-domain
- Secure-Admin aktivieren
/opt/glassfish4/glassfish/bin/asadmin --port 4848 enable-secure-admin
- MySQL Database-Connector [6] herunterladen und ins Glassfish-Verzeichnis kopieren:
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.zip unzip mysql-connector-java-5.1.47.zip cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /opt/glassfish4/glassfish/domains/domain1/lib/
- Im Webbrowser die Glassfish-Admin-Konsole am Port 4848 öffnen und nun die Admin-Konsole konfigurieren
Glassfish Konfiguration in der Admin-Konsole
Einrichten der JPA-Datenbank-Verbindung
- Resources - JDBC - JDBC Connection Pools - New
Pool Name: letto Resource Type: java.sql.Driver Database Driver Vendor: MySql
-> Next
URL: jdbc:mysql://localhost/letto user: letto password: Passwort welches am MySQL-Server für den Benutzer letto angelegt wurde
-> Finish
- Resources - JDBC - JDBC Resources - New
JNDI-Name: jdbc/letto Pool-Name: letto
-> ok
Heap-Speicher setzen
Der Heap-Speicher sollte maximal so groß gesetzt werden, dass noch genug RAM für Linux übrig bleibt (zB. 70-80% das verfügbaren RAM-Speichers)
- Configuration - Server config - JVM settings - JVM Options
-Xmx8192m
Einrichten des Security-Managers für das SourceCode-Plugin
- Von der Konsole aus die Datei /opt/glassfish4/glassfish/domains/domain1/config/server.policy bearbeiten
- Am Ende anfügen:
grant { permission java.util.PropertyPermission "java.security.policy", "write"; permission java.lang.RuntimePermission "createSecurityManager"; permission java.lang.RuntimePermission "setSecurityManager"; permission java.security.SecurityPermission "getPolicy"; permission java.security.SecurityPermission "setPolicy"; permission java.lang.RuntimePermission "accessDeclaredMembers"; permission java.lang.RuntimePermission "setIO"; permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; };
- Suche nach
permission java.io.FilePermission "<<ALL FILES>>", "read,write";
wenn es gefunden wurde -> ändern auf:
permission java.io.FilePermission "<<ALL FILES>>","read";
Nach den Konfigurationen Glassfish neu starten
- Glassfish Server starten als Benutzer "letto"
/opt/glassfish4/glassfish/bin/asadmin stop-domain /opt/glassfish4/glassfish/bin/asadmin start-domain
letto.war deployen
- Die aktuelle Version von letto als Datei letto.war auf einem Client herunterladen
- Im Webbrowser die Glassfish-Admin-Konsole am Port 4848 öffnen
- Applications - Deploy
- Das war-File eintragen und ok
- Nun sollte auf Port 8080 der http und auf Port 8181 der https-Server im Verzeichnis /letto zugreifbar sein
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
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