LeTTo Doc

Installation TomEE-8

Verzeichnisse einrichten

Empfohlene Verzeichnisstruktur

Diese 2 Verzeichnisse (images, js) müssen auch in das [verlinkt](Apache Apache-Base-Verzeichnis) werden.

Der Ordner /opt/letto/images muss in das Backup eingebunden werden!

Die weiteren Ordner werden von LeTTo automatisch erzeugt:

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

sudo chown letto /opt
sudo chmod 755 /opt
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
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/
<?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>
org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
  <Manager pathname="" />
...
<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>
# Set UMASK unless it has been overridden                                                                                                                                   if [ -z "$UMASK" ]( -z "$UMASK" ); then                                                                                                                                                        UMASK="0027"                                                                                                                                                            fi                                                                                                                                                                          umask $UMASK 

und ersetze 0027 durch 002 :

# Set UMASK unless it has been overridden                                                                                                                                   if [ -z "$UMASK" ]( -z "$UMASK" ); then                                                                                                                                                        UMASK="0002"                                                                                                                                                            fi                                                                                                                                                                          umask $UMASK 

Einrichten des Security-Managers für das SourceCode-Plugin

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

siehe Update TomEE

siehe auch