Installation TomEE-8: Unterschied zwischen den Versionen
Mayer (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
* /opt/letto | * /opt/letto | ||
In diesem Ordner liegen alle Daten, die von LeTTo gespeichert und verwendet werden. | In diesem Ordner liegen alle Daten, die von LeTTo gespeichert und verwendet werden. | ||
* /opt/letto/war | |||
In diesen Ordner wird die aktuelle Version der letto.war heruntergeladen (händisch oder vom Update-Script) | |||
* /opt/letto/images ... Speicherort für alle Bilder und Dateien, die innerhalb von Letto hochgeladen werden. | * /opt/letto/images ... Speicherort für alle Bilder und Dateien, die innerhalb von Letto hochgeladen werden. | ||
Zeile 34: | Zeile 37: | ||
== TomEE download und Installation== | == TomEE download und Installation== | ||
* Aktionen durchführen als user "letto" | * Aktionen durchführen als user "letto" | ||
* Download des Servers [https://mirror.klaus-uwe.me/apache/tomee/tomee-8.0. | ** Der user "letto" sollte Schreibrechte im Verzeichnis /opt haben, am einfachsten man trägt den Benutzer als Owner ein. | ||
<pre> | |||
sudo chown letto /opt | |||
sudo chmod 755 /opt | |||
</pre> | |||
* Download des Servers [https://mirror.klaus-uwe.me/apache/tomee/tomee-8.0.3/], entpacken der Datei, verschieben nach /opt und einen Link auf /opt/tomee legen | |||
<pre> | <pre> | ||
wget https://mirror.klaus-uwe.me/apache/tomee/tomee-8.0. | wget https://mirror.klaus-uwe.me/apache/tomee/tomee-8.0.3/apache-tomee-8.0.3-plume.tar.gz | ||
tar -xzf apache-tomee-8.0. | tar -xzf apache-tomee-8.0.3-plume.tar.gz | ||
sudo mv apache-tomee-plume-8.0. | sudo mv apache-tomee-plume-8.0.3 /opt/tomee8 | ||
cd /opt/letto | cd /opt/letto | ||
ln -s /opt/ | ln -s /opt/tomee8 /opt/tomee | ||
</pre> | </pre> | ||
* Kontrolle ob der Benutzer "letto" alle Recht im Verzeichnis /opt/ | * Kontrolle ob der Benutzer "letto" alle Recht im Verzeichnis /opt/tomee hat | ||
* MySQL Database-Connector [https://dev.mysql.com/downloads/connector/j/] herunterladen und ins TomEE-Verzeichnis kopieren: | * MySQL Database-Connector [https://dev.mysql.com/downloads/connector/j/] herunterladen und ins TomEE-Verzeichnis kopieren: | ||
<pre>wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.zip | <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 | unzip mysql-connector-java-5.1.47.zip | ||
cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /opt/ | cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /opt/tomee/lib/ | ||
</pre> | </pre> | ||
* Datenbank eintragen in der Datei '''/opt/ | * Datenbank eintragen in der Datei '''/opt/tomee/conf/tomee.xml''' | ||
<pre> | <pre> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
Zeile 73: | Zeile 81: | ||
</pre> | </pre> | ||
* Für die Funktion von Primefaces einfügen am Ende der Datei '''/opt/ | * Für die Funktion von Primefaces einfügen am Ende der Datei '''/opt/tomee/conf/catalina.properties''' | ||
<pre> | <pre> | ||
org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true | org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true | ||
</pre> | </pre> | ||
* In /opt/ | * In '''/opt/tomee/conf/context.xml''' => Kommentar löschen, sodass diese Zeile aktiv | ||
<pre> | <pre> | ||
<!-- Uncomment this to disable session persistence across Tomcat restarts --> | <!-- Uncomment this to disable session persistence across Tomcat restarts --> | ||
Zeile 84: | Zeile 92: | ||
</pre> | </pre> | ||
* Port Festlegen in der Datei '''/opt/ | * Port Festlegen in der Datei '''/opt/tomee/conf/server.xml''': <br> zB.: http(8088), https(8483), AJP(8089) | ||
<pre> | <pre> | ||
... | ... | ||
Zeile 100: | Zeile 108: | ||
</Service> | </Service> | ||
</Server> | </Server> | ||
</pre> | |||
* Damit mit den korrekten Dateirechten gespeichert wird suche in der Datei '''/opt/tomee/bin/catalina.sh''' nach | |||
<pre> | |||
# Set UMASK unless it has been overridden if [ -z "$UMASK" ]; then UMASK="0027" fi umask $UMASK | |||
</pre> | |||
und ersetze 0027 durch 002 : | |||
<pre> | |||
# Set UMASK unless it has been overridden if [ -z "$UMASK" ]; then UMASK="0002" fi umask $UMASK | |||
</pre> | </pre> | ||
== Einrichten des Security-Managers für das SourceCode-Plugin == | == Einrichten des Security-Managers für das SourceCode-Plugin == | ||
* Von der Konsole aus die Datei /opt/ | * Von der Konsole aus die Datei '''/opt/tomee/conf/catalina.policy''' bearbeiten | ||
* Am Ende anfügen: | * Am Ende anfügen: | ||
<pre> | <pre> | ||
Zeile 111: | Zeile 128: | ||
permission java.lang.RuntimePermission "setSecurityManager"; | permission java.lang.RuntimePermission "setSecurityManager"; | ||
permission java.security.SecurityPermission "getPolicy"; | permission java.security.SecurityPermission "getPolicy"; | ||
permission java.security.SecurityPermission "setPolicy"; | |||
permission java.lang.RuntimePermission "accessDeclaredMembers"; | permission java.lang.RuntimePermission "accessDeclaredMembers"; | ||
permission java.lang.RuntimePermission "setIO"; | permission java.lang.RuntimePermission "setIO"; | ||
permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; | permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; | ||
}; | }; | ||
</pre> | |||
== Setzen des Heap-Speichers für den TomEE Server == | |||
Der Heap-Speicher sollte für den Server auf 2/3 bis 3/4 vom physikalischen Speicher gesetzt werden. | |||
Dazu ist eine Datei '''/opt/tomee/bin/setenv.sh''' zu erstellen, in der der Speicher in Megabyte anzugeben ist. | |||
Hier ein Beispiel für einen Rechner mit 16GB physikalischem RAM und demnach 12GB Heap-Speicher: | |||
<pre> | |||
#!/bin/sh -e | |||
export CATALINA_OPTS="-Xms12000M -Xmx12000M\" | |||
</pre> | |||
Diese Datei ist dann noch mit Ausführungsrechten zu versehen. | |||
<pre> | |||
chmod 755 /opt/tomee/bin/setenv.sh | |||
</pre> | </pre> | ||
== TomEE starten== | == TomEE starten== | ||
<pre> | <pre> | ||
/opt/ | /opt/tomee/bin/startup.sh | ||
</pre> | </pre> | ||
== TomEE stoppen == | == TomEE stoppen == | ||
<pre> | <pre> | ||
/opt/ | /opt/tomee/bin/shutdown.sh | ||
</pre> | </pre> | ||
== letto.war deployen == | == letto.war deployen == | ||
<pre> | <pre> | ||
cd /opt/war | cd /opt/letto/war | ||
wget -q -c --user letto --password https://letto.at/download/letto/letto-daily.war | wget -q -c --user letto --password xxxPASSWORTyyy https://letto.at/download/letto/letto-daily.war | ||
cp letto-daily.war /opt/ | cp letto-daily.war /opt/tomee/webapps/letto.war | ||
</pre> | </pre> | ||
Das Passwort wird von uns auf Anfrage zur Verfügung gestellt. | |||
== Update der Anwendung == | == Update der Anwendung == |
Aktuelle Version vom 29. September 2020, 14:12 Uhr
Verzeichnisse einrichten
Empfohlene Verzeichnisstruktur
- /opt/letto
In diesem Ordner liegen alle Daten, die von LeTTo gespeichert und verwendet werden.
- /opt/letto/war
In diesen Ordner wird die aktuelle Version der letto.war heruntergeladen (händisch oder vom Update-Script)
- /opt/letto/images ... Speicherort für alle Bilder und Dateien, die innerhalb von Letto hochgeladen werden.
- /opt/letto/js ... Speicherort für Javascript-Dateien. Alle extern verwendeten Javaspript-Dateien können in der Letto-Konfiguration hierher kopiert werden, damit bei der Durchführung von Tests keine externen Daten benötigt werden. Damit kann die Firewall für User-Browser alle externen Zugriffe sperren.
Diese 2 Verzeichnisse (images, js) müssen auch in das [Apache|Apache-Base-Verzeichnis verlinkt] werden.
Der Ordner /opt/letto/images muss in das Backup eingebunden werden!
Die weiteren Ordner werden von LeTTo automatisch erzeugt:
- /opt/letto/pdf ... Ordner zum Zwischenspeichern von erzeugten User-PDF-Dokumenten.
- /opt/letto/tex ... Ordner zum Zwischenspeichern von erzeugten Tex-Dokumenten (Verwendung auch bei der Generierung von PDFs).
- /opt/letto/projekt ... In diesem Ordner werden Schülerprojekte gezippt für alle Abgaben abgelegt.
- /opt/letto/images/photos ... Speicherort für Schülerfotos: Bildname: SokratesID.jpg
Erzeugung der Ordner und Verlinkung zum Apache-Server
sudo mkdir /opt/letto/images sudo mkdir /opt/letto/js
Symbolische Links für Apache
cd /var/www/html ln -s /opt/letto/images images ln -s /opt/letto/js js
Installation TomEE 8 Server
TomEE download und Installation
- Aktionen durchführen als user "letto"
- Der user "letto" sollte Schreibrechte im Verzeichnis /opt haben, am einfachsten man trägt den Benutzer als Owner ein.
sudo chown letto /opt sudo chmod 755 /opt
- Download des Servers [1], entpacken der Datei, verschieben nach /opt und einen Link auf /opt/tomee legen
wget https://mirror.klaus-uwe.me/apache/tomee/tomee-8.0.3/apache-tomee-8.0.3-plume.tar.gz tar -xzf apache-tomee-8.0.3-plume.tar.gz sudo mv apache-tomee-plume-8.0.3 /opt/tomee8 cd /opt/letto ln -s /opt/tomee8 /opt/tomee
- Kontrolle ob der Benutzer "letto" alle Recht im Verzeichnis /opt/tomee hat
- MySQL Database-Connector [2] herunterladen und ins TomEE-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/tomee/lib/
- Datenbank eintragen in der Datei /opt/tomee/conf/tomee.xml
<?xml version="1.0" encoding="UTF-8"?> <tomee> <!-- see http://tomee.apache.org/containers-and-resources.html --> <!-- activate next line to be able to deploy applications in apps --> <!-- <Deployments dir="apps" /> --> <Resource id="jdbc/letto" type="DataSource"> JdbcDriver com.mysql.jdbc.Driver JdbcUrl jdbc:mysql://localhost/letto?autoReconnect=true UserName letto Password xxx-gewähltesPasswort-xxx jtaManaged = true testOnReturn = true testWhileIdle = true timeBetweenEvictionRunsMillis = 60 initialSize = 2 minIdle = 2 validationQuery = "select 1" </Resource> </tomee>
- Für die Funktion von Primefaces einfügen am Ende der Datei /opt/tomee/conf/catalina.properties
org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
- In /opt/tomee/conf/context.xml => Kommentar löschen, sodass diese Zeile aktiv
<!-- Uncomment this to disable session persistence across Tomcat restarts --> <Manager pathname="" />
- Port Festlegen in der Datei /opt/tomee/conf/server.xml:
zB.: http(8088), https(8483), AJP(8089)
... <Server port="8005" shutdown="SHUTDOWN"> ... <Service name="Catalina"> ... <Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8483" xpoweredBy="false" server="Apache TomEE" /> ... <Connector port="8089" protocol="AJP/1.3" redirectPort="8483" /> ... </Service> </Server>
- Damit mit den korrekten Dateirechten gespeichert wird suche in der Datei /opt/tomee/bin/catalina.sh nach
# Set UMASK unless it has been overridden if [ -z "$UMASK" ]; then UMASK="0027" fi umask $UMASK
und ersetze 0027 durch 002 :
# Set UMASK unless it has been overridden if [ -z "$UMASK" ]; then UMASK="0002" fi umask $UMASK
Einrichten des Security-Managers für das SourceCode-Plugin
- Von der Konsole aus die Datei /opt/tomee/conf/catalina.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"; };
Setzen des Heap-Speichers für den TomEE Server
Der Heap-Speicher sollte für den Server auf 2/3 bis 3/4 vom physikalischen Speicher gesetzt werden.
Dazu ist eine Datei /opt/tomee/bin/setenv.sh zu erstellen, in der der Speicher in Megabyte anzugeben ist.
Hier ein Beispiel für einen Rechner mit 16GB physikalischem RAM und demnach 12GB Heap-Speicher:
#!/bin/sh -e export CATALINA_OPTS="-Xms12000M -Xmx12000M\"
Diese Datei ist dann noch mit Ausführungsrechten zu versehen.
chmod 755 /opt/tomee/bin/setenv.sh
TomEE starten
/opt/tomee/bin/startup.sh
TomEE stoppen
/opt/tomee/bin/shutdown.sh
letto.war deployen
cd /opt/letto/war wget -q -c --user letto --password xxxPASSWORTyyy https://letto.at/download/letto/letto-daily.war cp letto-daily.war /opt/tomee/webapps/letto.war
Das Passwort wird von uns auf Anfrage zur Verfügung gestellt.
Update der Anwendung