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
- 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&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
- 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