Orsoft Doku
Dokumentace a nápověda pro IS Orsoft Open

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

  • Doporučený OS: Linux (např. CentOS)
  • Databáze MariaDB (příp. MySQL)
    • vlastní databáze se jmenuje xxxx_zakaznici
    • Typ - InnoDB, utf8_general_ci
  • Aplikační server Tomcat
    • JRE min 1.8 a vyšší

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:

  • Dialekt: org.hibernate.dialect.MySQL5Dialect
  • Driver class: com.mysql.jdbc.Driver
  • Connection
    jdbc:mysql://localhost:3306/spvs_zakaznici?useUnicode=true&characterEncoding=UTF-8
  • Username a password
  • connection.pool_size: 1
  • UTF-8 parametry

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

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

  • NEMUSÍ se už ty PEM dávat do JKS!
  • zkopírovat *.pem (follow symlinks) z /etc/letsencrypt/live/zakaznici.vaktu.cz do /opt/tomcat/conf/cert
  • dám chdmod 666 /opt/tomcat/conf/cert/*.pem
  • nastavit server.xml
      <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

  • STOP tomcat (root: systemctl stop tomcat)
  • STOP firewall (root: systemctl stop firewalld)
  • certbot-auto certonly –standalone -d zakaznici.vaktu.cz
  • zkopírovat znovu *.pem z /etc/…. (viz bod 3.1)
  • dám chdmod 666 /opt/tomcat/conf/cert/*.pem