Obsah

Instalace a nastavení

OS a databáze

ZVK je většinou provozována na virtuálním pronajatém serveru (serverhosting). Je třeba mít zajištěnu vysokou dostupnost a veřejnou IP adresu. Nejlépe doménu 3. řádku - něco ve smyslu zakaznici.vodarna.cz

Ve firewallu Linuxu je třeba mít povolený port 3306 (MySQL, MariaDB) z veřejné IP adresy vodárny. Synchronizace funguje tak, že se Orsoft Open spojí JDBC přímo s databází na linuxu a synchronizuje data.

Instalace .war souboru a nastavení

Aplikace se nainstaluje přes WAR soubor - nebo jen rozzipuje na správné místo:

/opt/tomcat/webapps/ROOT

Nastavení připojení do DB

V souboru

$webapp$/WEB-INF/classes/hibernate.cfg.xml

jsou uvedeny přístupové údaje k MySQL a další parametry připojení k databázi. Je nutné nastavit minimálně tyto hodnoty:

Příklad nastavení:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <!--MySQLDialect  MySQL5Dialect-->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/spvs_zakaznici?useUnicode=true&amp;characterEncoding=UTF-8</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root</property> 
    <!-- JDBC connection pool (use the built-in) 
    7.1.2018 - Kk - nastaveno na 1 - protože asi přepínáním connectionů vypršuje spojení. autoReconnect asi nepomáhá
    -->
    <property name="connection.pool_size">1</property>
    <!-- Enable Hibernate's automatic session context management -->
    <property name="current_session_context_class">thread</property>
    <!-- Disable the second-level cache  -->
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">false</property>

    <property name="hibernate.connection.useUnicode">true</property>
    <property name="hibernate.connection.characterEncoding">UTF-8</property>   
    <property name="hibernate.connection.charSet">UTF-8</property>
    
    
    <mapping resource="model/db/ZvkFaktury.hbm.xml"/>
    <mapping resource="model/db/ZvkVodomery.hbm.xml"/>
    <mapping resource="model/db/ZvkPausaly.hbm.xml"/>
    <mapping resource="model/db/ZvkNahlasenestavy.hbm.xml"/>
    <mapping resource="model/db/ZvkOdberatele.hbm.xml"/>
    <mapping resource="model/db/ZvkPozadavky.hbm.xml"/>
    <mapping resource="model/db/ZvkTypypozadavku.hbm.xml"/>
    <mapping resource="model/db/ZvkOdbernamista.hbm.xml"/>
    <mapping resource="model/db/ZvkFaktury1.hbm.xml"/>
    <mapping resource="model/db/ZvkZalohy.hbm.xml"/>
    <mapping resource="model/db/ZvkOdberateleEx.hbm.xml"/>
    <mapping resource="model/db/ZvkOznameni.hbm.xml"/>
    <mapping resource="model/db/ZvkOznameniPrectena.hbm.xml"/>
    <mapping resource="model/db/ZvkSrazkovavoda.hbm.xml"/>
    <mapping resource="model/db/ZvkFakturyPdf.hbm.xml"/>
    <mapping resource="model/db/ZvkConfig.hbm.xml"/>
    <mapping resource="model/db/ZvkNezaplaceno.hbm.xml"/>
    <mapping resource="model/db/ZvkFakturovano.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

Rozchození certifikátu Lets encrypt

Návody:

https://computingforgeeks.com/tomcat-7-with-letsencrypt-ssl-certificate/

https://medium.com/@raupach/how-to-install-lets-encrypt-with-tomcat-3db8a469e3d2

Instalace Lets encrypt

          wget https://dl.eff.org/certbot-auto -P /usr/local/bin
          chmod a+x /usr/local/bin/certbot-auto

Vydání certifikátu

        certbot-auto certonly -d zakaznici.vaktu.cz

Instalace

      <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate
              certificateFile="conf/cert/cert.pem"
              certificateKeyFile="conf/cert/privkey.pem"
              certificateChainFile="conf/cert/chain.pem" />
        </SSLHostConfig>
      </Connector>

Obnova certifikátu