Tickets - postup inštalácie
<viewsecurity consultant />
Obsah
Vytvorenie databázovej schémy a používateľa
TitanTickets využíva postgres. Po nainštalovaní je potrebné vytvoriť databázu, používateľ a schému podľa skriptov nižšie.
\connect postgres CREATE ROLE titan_tickets WITH PASSWORD 'titan_tickets' CREATEDB CREATEROLE SUPERUSER LOGIN; CREATE DATABASE titan_tickets_01 WITH OWNER titan_tickets; --ENCODING 'utf8'; \connect titan_tickets_01 CREATE SCHEMA titan_tickets AUTHORIZATION titan_tickets; GRANT ALL PRIVILEGES ON DATABASE titan_tickets_01 TO titan_tickets; GRANT ALL PRIVILEGES ON SCHEMA titan_tickets TO titan_tickets; CREATE LANGUAGE plpgsql;
Konfigurácia security vrstvy v JBoss
Tieto sa dopĺňajú do súboru standalone.xml, ktorý je v ..\jboss-eap-6.2\standalone\configuration\, medzi tagy <security-domains>.
<subsystem xmlns="urn:jboss:domain:security:1.2">
<security-domains>
<security-domain name="titan-tickets" cache-type="default"> <authentication> <login-module code="Database" flag="required"> <module-option name="dsJndiName" value="java:jboss/datasources/PostgreSQL-TitanTickets"/> <module-option name="principalsQuery" value="select PASSWORD from USER_APP where LOGIN=?"/> <module-option name="rolesQuery" value="select B.CODE, cast('Roles' as varchar) from USER_APP A join USER_AUTHORITY B on A.USER_AUTHORITY_ID=B.ID where A.LOGIN=?"/> <module-option name="hashAlgorithm" value="MD5"/> <module-option name="hashEncoding" value="base64"/> <module-option name="hashCharset" value="UTF-8"/> </login-module> </authentication> </security-domain> <security-domain name="EncryptedPassword-TitanTickets"> <authentication> <login-module code="SecureIdentity" flag="required"> <module-option name="username" value="titan_tickets"/> <module-option name="password" value="192eef7eb3b720e84ef8eecb85dc4d86"/> </login-module> </authentication> </security-domain>
</security-domains>
</subsystem>
Konfigurácia datasource vrstvy pre JBoss
Tieto sa dopĺňajú do súboru standalone.xml, ktorý je v ..\jboss-eap-6.2\standalone\configuration\, medzi tagy <datasources>.
<subsystem xmlns="urn:jboss:domain:datasources:1.2">
<datasources>
<datasource jndi-name="java:jboss/datasources/PostgreSQL-TitanTickets" pool-name="PostgreSQL-TitanTickets" enabled="true" use-java-context="true"> <connection-url>jdbc:postgresql://localhost:5432/titan_tickets_01</connection-url> <driver>postgresql</driver> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> <prefill>true</prefill> </pool> <security> <security-domain>EncryptedPassword-TitanTickets</security-domain> </security> </datasource> <drivers> <driver name="postgresql" module="org.postgresql"> <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> </driver> </drivers>
</datasources>
</subsystem>
Systémové parametre pre JBoss
Tieto sa dopĺňajú do súboru standalone.xml, ktorý je v ..\jboss-eap-6.2\standalone\configuration\, medzi tagy <system-properties>. Pozor, ak zákazník na tom istom jBoss používa aj Kassandru, potom už tam sú nastavenia pre Kassandru a tieto nesmú byť zmazané ani upravované.
<system-properties>
<property name="org.apache.el.parser.COERCE_TO_ZERO" value="false"/> <property name="sk.asol.titan.tickets.maxTicketsPerEvent" value="500000"/> <property name="sk.asol.titan.tickets.gridMaxRowsPerPage" value="20"/>
</system-properties>
Modules
V prípade, že je problém so štartom a deploy Tickets, potom postačuje prekopírovať celý adresár org do adresára modules (..\jboss-eap-6.2\modules\) v jboss.
deploy Tickets.war
Pri štarte aplikácie resp. pri deployi warka sa spustia update-y, ktoré vytvoria základnú DB štruktúru.