Installation: Unterschied zwischen den Versionen

Aus Letto-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 57: Zeile 57:
</pre>
</pre>


= Installation Glassfish Server=
= Installation des Webservers =
* Aktionen durchführen als user "letto"
Als Webserver wurde von uns der Glassfish 4.1.2 und TomEE 7.1.0 getestet.  
* Download der glassfish-4.1.2.zip [https://javaee.github.io/glassfish/download], entpacken der zip und verschieben nach /opt
* [[Installation Glassfish Server]]
<pre>wget http://download.java.net/glassfish/4.1.2/release/glassfish-4.1.2.zip
* [[Installation TomEE Server]]
unzip glassfish-4.1.2.zip
sudo mv glassfish4 /opt/
</pre>
* 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!)
<pre>/opt/glassfish4/glassfish/bin/asadmin --port 4848 change-admin-password
</pre>
* Glassfish Server starten als Benutzer "letto"
<pre>/opt/glassfish4/glassfish/bin/asadmin start-domain
</pre>
* Secure-Admin aktivieren
<pre>/opt/glassfish4/glassfish/bin/asadmin --port 4848 enable-secure-admin
</pre>
* MySQL Database-Connector [https://dev.mysql.com/downloads/connector/j/] herunterladen und ins Glassfish-Verzeichnis kopieren:
<pre>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/
</pre>
* 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
<pre>Pool Name: letto
Resource Type: java.sql.Driver
Database Driver Vendor: MySql
</pre>
-> Next
<pre>URL: jdbc:mysql://localhost/letto
user: letto
password: Passwort welches am MySQL-Server für den Benutzer letto angelegt wurde
</pre>
-> Finish
*Resources - JDBC - JDBC Resources - New
<pre>
JNDI-Name: jdbc/letto
Pool-Name: letto
</pre>
-> 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
<pre>-Xmx8192m
</pre>
== 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:
<pre>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";
};
</pre>
* Suche nach
<pre>permission java.io.FilePermission      "<<ALL FILES>>", "read,write";
</pre>
wenn es gefunden wurde -> ändern auf:
<pre>permission java.io.FilePermission "<<ALL FILES>>","read";
</pre>
== Nach den Konfigurationen Glassfish neu starten ==
* Glassfish Server starten als Benutzer "letto"
<pre>/opt/glassfish4/glassfish/bin/asadmin stop-domain
/opt/glassfish4/glassfish/bin/asadmin start-domain
</pre>
 
= 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
* Beim Ersten Zugriff auf den Server muss der [[Globaler Administrator|globale Administrator]] gesetzt werden.
:[[Datei:ClipCapIt-190125-224854.PNG|600px]]
* Danach kann man mit dem globalen Administrator einloggen und den Server weiter konfigurieren
 
= globale Konfiguration =
= globale Konfiguration =
Folgende Einstellungen sollte der [[Globaler Administrator|globle Administrator]] vornehmen:
Folgende Einstellungen sollte der [[Globaler Administrator|globle Administrator]] vornehmen:

Version vom 28. März 2019, 13:17 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 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 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

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
  • 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_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • Mysql neu starten
service mysql restart

Installation des Webservers

Als Webserver wurde von uns der Glassfish 4.1.2 und TomEE 7.1.0 getestet.

globale Konfiguration

Folgende Einstellungen sollte der globle 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

  • 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