ApacheTomcat: различия между версиями

Материал из Intellex
Перейти к навигации Перейти к поиску
(Новая страница: «= УСТАНОВКА СИСТЕМЫ = === Установка и настройка баз данных === ==== Установка и настройка баз...»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 9: Строка 9:
  xmdb# timedatectl set-timezone Europe/Moscow
  xmdb# timedatectl set-timezone Europe/Moscow
3) Включить NTP клиента
3) Включить NTP клиента
xmdb# systemctl enable chronyd


xmdb# systemctl start chronyd
<code>xmdb# systemctl enable chronyd</code>
 
<code>xmdb# systemctl start chronyd</code>
 
4) Из под учетной записи суперпользователя сервера postgresql, необходимо создать пользователя БД:
4) Из под учетной записи суперпользователя сервера postgresql, необходимо создать пользователя БД:
xmdb# su postgres


xmdb$ psql
<code>xmdb# su postgres</code>
 
<code>xmdb$ psql</code>
 
<code>postgres=# CREATE ROLE xm_user NOINHERIT NOREPLICATION LOGIN PASSWORD <nowiki>''</nowiki>xm_user_pass';</code>


postgres=# CREATE ROLE xm_user NOINHERIT NOREPLICATION LOGIN PASSWORD <nowiki>''</nowiki>xm_user_pass';
где,
где,


xm_user - имя пользователя, <nowiki>''</nowiki>xm_user_pass'- пароль.
'''xm_user''' - имя пользователя,  
 
'''<nowiki>''</nowiki>xm_user_pass''''- пароль.


5) Создать базу данных на сервере postgresql
5) Создать базу данных на сервере postgresql


postgres=# CREATE DATABASE database_name
<code>postgres=# CREATE DATABASE database_name</code>


WITH
<code>WITH</code>


OWNER = xm_user  
<code>OWNER = xm_user</code>


ENCODING = 'UTF8'
<code>ENCODING = 'UTF8'</code>


LC_COLLATE = 'ru_RU.UTF-8'
<code>LC_COLLATE = 'ru_RU.UTF-8'</code>


LC_CTYPE = 'ru_RU.UTF-8'
<code>LC_CTYPE = 'ru_RU.UTF-8'</code>


CONNECTION LIMIT = -1
<code>CONNECTION LIMIT = -1</code>


TEMPLATE template0;
<code>TEMPLATE template0;</code>


где database_name имя базы, xm_user  пользователь из пункта 1
где ,


1.2 Изменения в файлах с версией ядра
'''database_name -'''  имя базы,


'''xm_user'''  - пользователь из пункта 1
=== Изменения в файлах с версией ядра ===
# Архивы VER1 и VER2 по умолчанию содержат схему sys_cubs. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить sys_cubs на имя схемы БД по умолчанию.
# Архивы VER1 и VER2 по умолчанию содержат схему sys_cubs. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить sys_cubs на имя схемы БД по умолчанию.
# Архивы VER1 и VER4 по умолчанию содержат имя пользователя dev_user. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить dev_user на имя созданного пользователя БД.
# Архивы VER1 и VER4 по умолчанию содержат имя пользователя dev_user. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить dev_user на имя созданного пользователя БД.
Строка 53: Строка 62:
Содержимое файла bases.xml:
Содержимое файла bases.xml:


<conf>
<code><conf></code>


 <BaseConfig>
<code> <BaseConfig></code>


<configName>XM</configName>
<code><configName>XM</configName></code>


<userName>user </userName>
<code><userName>user </userName></code>


<userPassword>password </userPassword>
<code><userPassword>password </userPassword></code>


<serviceName>database_name</serviceName>
<code><serviceName>database_name</serviceName></code>


<ipName>host</ipName>
<code><ipName>host</ipName></code>


<portName>port</portName>
<code><portName>port</portName></code>


<baseType>Postgre</baseType>
<code><baseType>Postgre</baseType></code>


<defaultSchemaName>sсheme_name</defaultSchemaName>
<code><defaultSchemaName>sсheme_name</defaultSchemaName></code>


 </BaseConfig>
<code> </BaseConfig></code>


</conf>
<code></conf></code>


user - имя пользователя для подключения к БД;
где,


password - пароль для подключения к БД;
'''user''' - имя пользователя для подключения к БД;


database_name - имя БД;
'''password''' - пароль для подключения к БД;


host - ip адрес хоста БД;
'''database_name''' - имя БД;


port - порт БД;
'''host''' - ip адрес хоста БД;


scheme_name - имя схемы БД.
'''port''' - порт БД;


Параметр baseType не менять!
'''scheme_name''' - имя схемы БД.
 
<big><u>Параметр baseType не менять!</u></big>


1) С любого компьютера с ОС Windows, у которого есть доступ к БД и установлена Oracle Java Runtime Environment 8 (JRE 8), выполнить.
1) С любого компьютера с ОС Windows, у которого есть доступ к БД и установлена Oracle Java Runtime Environment 8 (JRE 8), выполнить.
Строка 112: Строка 123:


Скачать apache-tomee-8.0.6-plus.tar.gz и распаковать архив:
Скачать apache-tomee-8.0.6-plus.tar.gz и распаковать архив:
 
xmapp*# tar zxvf apache-tomee-8.0.6-plus.tar.gz
xmapp*# tar zxvf apache-tomee-8.0.6-plus.tar.gz
 
Перенести распакованное дерево папок на постоянное место:
Перенести распакованное дерево папок на постоянное место:
xmapp*# mv apache-tomee-8.0.6-plus.tar.gz /opt/tomee
Создать учетную запись пользователя, под которым будет исполняться сервер приложений:
xmapp*# useradd -r tomee --shell /bin/false
Передать её права на дерево папок:
xmapp*# chown -R tomee:tomee /opt/tomee/


xmapp*# mv apache-tomee-8.0.6-plus.tar.gz /opt/tomee
chmod +x bin/*.sh


Создать учетную запись пользователя, под которым будет исполняться сервер приложений:
==== Настройка Apache Tomee в качестве системного сервиса ====
Создать файл /etc/systemd/system/tomee.service следующего содержания:


xmapp*# useradd -r tomee --shell /bin/false
<code><nowiki>#</nowiki> Systemd unit file for default tomee</code>


Передать её права на дерево папок:
<code>#</code>


xmapp*# chown -R tomee:tomee /opt/tomee/
<code><nowiki>#</nowiki> To create clones of this service:</code>


chmod +x bin/*.sh
<code><nowiki>#</nowiki> DO NOTHING, use tomee@.service instead.</code>


==== Настройка Apache Tomee в качестве системного сервиса ====
Создать файл /etc/systemd/system/tomee.service следующего содержания:


<nowiki>#</nowiki> Systemd unit file for default tomee


<nowiki>#</nowiki>


<nowiki>#</nowiki> To create clones of this service:
<code>[Unit]</code>


<nowiki>#</nowiki> DO NOTHING, use tomee@.service instead.
<code>Description=Apache TomEE</code>


<code>After=syslog.target network.target</code>


[Unit]
<code>[Service]</code>


Description=Apache TomEE
<code>User=tomee</code>


After=syslog.target network.target
<code>Group=tomee</code>


[Service]
<code>Type=forking</code>


User=tomee


Group=tomee


Type=forking


<code>Environment=CATALINA_PID=/opt/tomee/tomee.pid</code>


Environment=CATALINA_PID=/opt/tomee/tomee.pid
<code>Environment=CATALINA_HOME=/opt/tomee</code>


Environment=CATALINA_HOME=/opt/tomee
<code>Environment=CATALINA_BASE=/opt/tomee</code>


Environment=CATALINA_BASE=/opt/tomee
<code>Environment='CATALINA_OPTS=-Xms4096M –Xmx8192M -server -XX:+UseParallelGC'</code>


Environment='CATALINA_OPTS=-Xms4096M –Xmx8192M -server -XX:+UseParallelGC'
<code>Environment='JAVA_OPTS=-Djava.awt.headless=true</code>


Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
<code>-Djava.security.egd=file:/dev/./urandom'</code>




ExecStart=/opt/tomee/bin/startup.sh
<code>ExecStart=/opt/tomee/bin/startup.sh</code>




ExecStop=/opt/tomee/bin/shutdown.sh
<code>ExecStop=/opt/tomee/bin/shutdown.sh</code>


Restart=on-failure
<code>Restart=on-failure</code>




WorkingDirectory=/opt/tomee
<code>WorkingDirectory=/opt/tomee</code>




[Install]
<code>[Install]</code>


WantedBy=multi-user.target
<code>WantedBy=multi-user.target</code>


После сохранения файла, обновить статус системных служб:
После сохранения файла, обновить статус системных служб:


xmapp*# systemctl daemon-reload
<code>xmapp*# systemctl daemon-reload</code>


Открыть порты в файерволе:
Открыть порты в файерволе:


xmapp*# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
<code>xmapp*# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT</code>


xmapp*# iptables-save
<code>xmapp*# iptables-save</code>


В файле \opt\tomee\conf\tomcat-users.xml добавить логин для доступа к менеджеру веб-сервера:
В файле \opt\tomee\conf\tomcat-users.xml добавить логин для доступа к менеджеру веб-сервера:


<role rolename="tomee-admin" />
<code><role rolename="tomee-admin" /></code>


<user username="ide" password="ide$Admin1" roles="tomee-admin,manager-gui,admin-gui" />
<code><user username="ide" password="ide$Admin1" roles="tomee-admin,manager-gui,admin-gui" /></code>


Запустить службу:
Запустить службу:


xmapp*# systemctl start tomee
<code>xmapp*# systemctl start tomee</code>


Включить автозапуск:
Включить автозапуск:


xmapp*# systemctl enable tomee
<code>xmapp*# systemctl enable tomee</code>


Проверить статус:
Проверить статус:


xmapp*# systemctl status tomee
<code>xmapp*# systemctl status tomee</code>


Вывод команды должен показать состояние сервиса "Active" и отсутствие ошибок.
Вывод команды должен показать состояние сервиса "Active" и отсутствие ошибок.


Проверить работу ApacheTomee в браузере вызвав соответствующий адрес <nowiki>http://server-ip-address:8080/</nowiki> , где server-ip-address - адрес сервера
Проверить работу ApacheTomee в браузере вызвав соответствующий адрес <u><nowiki>http://server-ip-address:8080/</nowiki></u> , где server-ip-address - адрес сервера


==== Сопряжение БД и сервера приложений. ====
==== Сопряжение БД и сервера приложений. ====
На каждом сервере приложений, в конфигурационный файл Tomee /opt/tomee/conf/server.xml добавить ресурс в GlobalNamingResources:
На каждом сервере приложений, в конфигурационный файл Tomee /opt/tomee/conf/server.xml добавить ресурс в GlobalNamingResources:


<Resource name="jdbc/appServerPool"
<code><Resource name="jdbc/appServerPool"</code>


             global="jdbc/appServerPool"
<code>             global="jdbc/appServerPool"</code>


          auth="Container"
<code>          auth="Container"</code>


             type="javax.sql.DataSource"
<code>             type="javax.sql.DataSource"</code>


             driverClassName="org.postgresql.Driver"
<code>             driverClassName="org.postgresql.Driver"</code>


             factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
<code>             factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"</code>


          url="jdbc:postgresql://server-ip-address:port/database_name?ApplicationName= app1"
<code>          url="jdbc:postgresql://server-ip-address:port/database_name?ApplicationName= app1"</code>


          username="xm_user"
<code>          username="xm_user"</code>


          password="xm_user_pass"
<code>          password="xm_user_pass"</code>


          maxIdle="10"
<code>          maxIdle="10"</code>


          maxWait="-1"
<code>          maxWait="-1"</code>


          maxTotal="100"
<code>          maxTotal="100"</code>


/>
/>
Строка 247: Строка 257:
В конфигурационный файл Tomee <tomee_home>/conf/context.xml добавить в контекст:
В конфигурационный файл Tomee <tomee_home>/conf/context.xml добавить в контекст:


 <JarScanner scanManifest="false"/>
 <code><JarScanner scanManifest="false"/></code>


 <ResourceLink name="jdbc/appServerPool"
<code> <ResourceLink name="jdbc/appServerPool"</code>


                global="jdbc/appServerPool"
<code>                global="jdbc/appServerPool"</code>


             auth="Container"
<code>             auth="Container"</code>


                type="javax.sql.DataSource" />
<code>                type="javax.sql.DataSource" /></code>


Для доступа к manager, в файлe
Для доступа к manager, в файлe


Tomee <tomee_home>/webapps/manager/META-INF/context.xml закомментировать строку:
Tomee <tomee_home>/webapps/manager/META-INF/context.xml закомментировать строку:
 <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->


 <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
 <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
Строка 435: Строка 449:
woodstox-core-asl.jar
woodstox-core-asl.jar


== Установка веб-приложений ==
== УСТАНОВКА ВЕБ-ПРИЛОЖЕНИЙ ==


=== Установка приложения модуля «Сервер приложений» ===
=== Установка приложения модуля «Сервер приложений» ===

Текущая версия на 09:04, 31 августа 2021

УСТАНОВКА СИСТЕМЫ

Установка и настройка баз данных

Установка и настройка базы данных для сервера PostgreSQL

1) Если не установлена русская locale:

xmdb# dnf install glibc-langpack-ru

2) Если не установлен часовой пояс Москва:

xmdb# timedatectl set-timezone Europe/Moscow

3) Включить NTP клиента

xmdb# systemctl enable chronyd

xmdb# systemctl start chronyd

4) Из под учетной записи суперпользователя сервера postgresql, необходимо создать пользователя БД:

xmdb# su postgres

xmdb$ psql

postgres=# CREATE ROLE xm_user NOINHERIT NOREPLICATION LOGIN PASSWORD ''xm_user_pass';

где,

xm_user - имя пользователя,

''xm_user_pass'- пароль.

5) Создать базу данных на сервере postgresql

postgres=# CREATE DATABASE database_name

WITH

OWNER = xm_user

ENCODING = 'UTF8'

LC_COLLATE = 'ru_RU.UTF-8'

LC_CTYPE = 'ru_RU.UTF-8'

CONNECTION LIMIT = -1

TEMPLATE template0;

где ,

database_name - имя базы,

xm_user  - пользователь из пункта 1

Изменения в файлах с версией ядра

  1. Архивы VER1 и VER2 по умолчанию содержат схему sys_cubs. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить sys_cubs на имя схемы БД по умолчанию.
  2. Архивы VER1 и VER4 по умолчанию содержат имя пользователя dev_user. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить dev_user на имя созданного пользователя БД.
  3. Заархивировать версию с изменениями.

УСТАНОВКА ЯДРА

Файл bases.xml должен лежать рядом с папкой lib и Installer2##2.8.64

Содержимое файла bases.xml:

<conf>

 <BaseConfig>

<configName>XM</configName>

<userName>user </userName>

<userPassword>password </userPassword>

<serviceName>database_name</serviceName>

<ipName>host</ipName>

<portName>port</portName>

<baseType>Postgre</baseType>

<defaultSchemaName>sсheme_name</defaultSchemaName>

 </BaseConfig>

</conf>

где,

user - имя пользователя для подключения к БД;

password - пароль для подключения к БД;

database_name - имя БД;

host - ip адрес хоста БД;

port - порт БД;

scheme_name - имя схемы БД.

Параметр baseType не менять!

1) С любого компьютера с ОС Windows, у которого есть доступ к БД и установлена Oracle Java Runtime Environment 8 (JRE 8), выполнить.

2) Installer2##2.8.64 двойным кликом, выбрать подключение к БД, нажать «Далее».

3) Поставить галочку на «Единичная версия», выбрать файл с версией VER1.zip, нажать «Далее».

4) Проставить галочку «Я ознакомлен с изменениями в версии». Нажать «Установить».

5) Установка завершена. Нажать «Далее» для просмотра логов и «Закрыть» для выхода.

6) Установить остальные файлы с архивами версий (VER2.zip, VER3.zip, VER4.zip, VER5.zip).

Установка и настройка сервера приложений

Установка сервера приложений ApacheTomee

На каждом сервере приложений устанавливается идентичным образом.

Установка ApacheTomEE

Установить JDK 1.8.0_201.

Скачать apache-tomee-8.0.6-plus.tar.gz и распаковать архив:

xmapp*# tar zxvf apache-tomee-8.0.6-plus.tar.gz

Перенести распакованное дерево папок на постоянное место:

xmapp*# mv apache-tomee-8.0.6-plus.tar.gz /opt/tomee

Создать учетную запись пользователя, под которым будет исполняться сервер приложений:

xmapp*# useradd -r tomee --shell /bin/false

Передать её права на дерево папок:

xmapp*# chown -R tomee:tomee /opt/tomee/
chmod +x bin/*.sh

Настройка Apache Tomee в качестве системного сервиса

Создать файл /etc/systemd/system/tomee.service следующего содержания:

# Systemd unit file for default tomee

#

# To create clones of this service:

# DO NOTHING, use tomee@.service instead.



[Unit]

Description=Apache TomEE

After=syslog.target network.target

[Service]

User=tomee

Group=tomee

Type=forking



Environment=CATALINA_PID=/opt/tomee/tomee.pid

Environment=CATALINA_HOME=/opt/tomee

Environment=CATALINA_BASE=/opt/tomee

Environment='CATALINA_OPTS=-Xms4096M –Xmx8192M -server -XX:+UseParallelGC'

Environment='JAVA_OPTS=-Djava.awt.headless=true

-Djava.security.egd=file:/dev/./urandom'


ExecStart=/opt/tomee/bin/startup.sh


ExecStop=/opt/tomee/bin/shutdown.sh

Restart=on-failure


WorkingDirectory=/opt/tomee


[Install]

WantedBy=multi-user.target

После сохранения файла, обновить статус системных служб:

xmapp*# systemctl daemon-reload

Открыть порты в файерволе:

xmapp*# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

xmapp*# iptables-save

В файле \opt\tomee\conf\tomcat-users.xml добавить логин для доступа к менеджеру веб-сервера:

<role rolename="tomee-admin" />

<user username="ide" password="ide$Admin1" roles="tomee-admin,manager-gui,admin-gui" />

Запустить службу:

xmapp*# systemctl start tomee

Включить автозапуск:

xmapp*# systemctl enable tomee

Проверить статус:

xmapp*# systemctl status tomee

Вывод команды должен показать состояние сервиса "Active" и отсутствие ошибок.

Проверить работу ApacheTomee в браузере вызвав соответствующий адрес http://server-ip-address:8080/ , где server-ip-address - адрес сервера

Сопряжение БД и сервера приложений.

На каждом сервере приложений, в конфигурационный файл Tomee /opt/tomee/conf/server.xml добавить ресурс в GlobalNamingResources:

<Resource name="jdbc/appServerPool"

             global="jdbc/appServerPool"

          auth="Container"

             type="javax.sql.DataSource"

             driverClassName="org.postgresql.Driver"

             factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

          url="jdbc:postgresql://server-ip-address:port/database_name?ApplicationName= app1"

          username="xm_user"

          password="xm_user_pass"

          maxIdle="10"

          maxWait="-1"

          maxTotal="100"

/>

где: server-ip-address ip адрес сервера, port  порт базы database_name имя базы, xm_user  пользователь из пункта 1

В конфигурационный файл Tomee <tomee_home>/conf/context.xml добавить в контекст:

 <JarScanner scanManifest="false"/>

 <ResourceLink name="jdbc/appServerPool"

                global="jdbc/appServerPool"

             auth="Container"

                type="javax.sql.DataSource" />

Для доступа к manager, в файлe

Tomee <tomee_home>/webapps/manager/META-INF/context.xml закомментировать строку:

 

 

Удалить из install/tomee/lib файл ejb-core-1.0.jar

Скопировать из дистрибутива библиотеки:

install/tomee/lib/

в <tomee_home>/lib:

amqp-client-4.0.2.jar

apache-log4j-extras-1.2.17.jar

caffeine-2.3.5.jar

commons-cli-1.3.1.jar

commons-lang3-3.4.jar

compiler-0.8.13.jar

compress-lzf-1.0.2.jar

dom4j-1.6.1.jar

ejb-core-1.0.jar

elasticsearch-2.3.1.jar

FastInfoset.jar

gmbal-api-only.jar

groovy-all-2.4.15.jar

gson-2.2.2.jar

guava-18.0.jar

guava-19.0.jar

ha-api.jar

HdrHistogram-2.1.6.jar

hppc-0.7.1.jar

jackson-dataformat-cbor-2.6.2.jar

jackson-dataformat-smile-2.6.2.jar

jackson-dataformat-yaml-2.6.2.jar

JasLibrary.jar

jas-ejb-core-1.2.6.jar

javax.annotation-api.jar

javax.mail.jar

javax.xml.soap-api.jar

jaxb-api.jar

jaxb-core.jar

jaxb-impl.jar

jaxb-jxc.jar

jaxb-xjc.jar

jaxws-api.jar

jaxws-rt.jar

jaxws-tools.jar

jcifs-1.3.15.jar

jna-4.3.0.jar

jna-platform-4.3.0.jar

joda-convert-1.2.jar

joda-time-2.8.2.jar

jsr166e-1.1.0.jar

jsr181-api.jar

jts-1.13.jar

log4j-1.2.17.jar

lucene-analyzers-common-5.5.0.jar

lucene-backward-codecs-5.5.0.jar

lucene-core-5.5.0.jar

lucene-grouping-5.5.0.jar

lucene-highlighter-5.5.0.jar

lucene-join-5.5.0.jar

lucene-memory-5.5.0.jar

lucene-misc-5.5.0.jar

lucene-queries-5.5.0.jar

lucene-queryparser-5.5.0.jar

lucene-sandbox-5.5.0.jar

lucene-spatial-5.5.0.jar

lucene-spatial3d-5.5.0.jar

lucene-suggest-5.5.0.jar

management-api.jar

mimepull.jar

netty-3.10.5.Final.jar

ojdbc7.jar

orai18n.jar

policy.jar

postgresql-42.2.18.jar

saaj-impl.jar

securesm-1.0.jar

slf4j-api-1.7.25.jar

slf4j-simple-1.7.25.jar

snakeyaml-1.15.jar

spatial4j-0.5.jar

stax-ex.jar

stax2-api.jar

streambuffer.jar

t-digest-3.0.jar

tomcat-juli-adapters.jar

tomcat-juli.jar

ucp.jar

waffle-jna-1.9.1.jar

waffle-tomcat7-1.9.1.jar

woodstox-core-asl.jar

УСТАНОВКА ВЕБ-ПРИЛОЖЕНИЙ

Установка приложения модуля «Сервер приложений»

Открыть web-интерфейс управления TomEE http://<tomee>:8080/manager/html

В разделе «WAR file to deploy/WAR файл для развёртывания» выбрать файл AppServer.war и нажать кнопку  Deploy/Развернуть

Результаты развертывания и рабочего процесса, можно посмотреть, в файлах логов томката и сервлета:

<tomee_home>/logs/webapps/AppServer/AppServer.log

Установка приложения модуля

Открыть web-интерфейс управления TomEE

http://<tomee>:8080/manager/html

В разделе «WAR file to deploy/WAR файл для развёртывания» выбрать файл WebShell.war и нажать кнопку  Deploy/Развернуть.

Результаты развертывания и рабочего процесса, можно посмотреть, в файлах логов томката:

<tomee_home>/logs/catalina.out