ApacheTomcat: различия между версиями
Wiki (обсуждение | вклад) (Новая страница: «= УСТАНОВКА СИСТЕМЫ = === Установка и настройка баз данных === ==== Установка и настройка баз...») |
Wiki (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 9: | Строка 9: | ||
xmdb# timedatectl set-timezone Europe/Moscow | xmdb# timedatectl set-timezone Europe/Moscow | ||
3) Включить NTP клиента | 3) Включить NTP клиента | ||
<code>xmdb# systemctl enable chronyd</code> | |||
<code>xmdb# systemctl start chronyd</code> | |||
4) Из под учетной записи суперпользователя сервера postgresql, необходимо создать пользователя БД: | 4) Из под учетной записи суперпользователя сервера postgresql, необходимо создать пользователя БД: | ||
<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> | |||
где, | где, | ||
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 | |||
=== Изменения в файлах с версией ядра === | |||
# Архивы 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''' - пароль для подключения к БД; | |||
'''database_name''' - имя БД; | |||
'''host''' - ip адрес хоста БД; | |||
'''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/ | |||
chmod +x bin/*.sh | |||
Создать | ==== Настройка Apache Tomee в качестве системного сервиса ==== | ||
Создать файл /etc/systemd/system/tomee.service следующего содержания: | |||
<code><nowiki>#</nowiki> Systemd unit file for default tomee</code> | |||
<code>#</code> | |||
<code><nowiki>#</nowiki> To create clones of this service:</code> | |||
<code><nowiki>#</nowiki> DO NOTHING, use tomee@.service instead.</code> | |||
< | <code>[Unit]</code> | ||
< | <code>Description=Apache TomEE</code> | ||
<code>After=syslog.target network.target</code> | |||
[ | <code>[Service]</code> | ||
<code>User=tomee</code> | |||
<code>Group=tomee</code> | |||
<code>Type=forking</code> | |||
<code>Environment=CATALINA_PID=/opt/tomee/tomee.pid</code> | |||
Environment= | <code>Environment=CATALINA_HOME=/opt/tomee</code> | ||
Environment= | <code>Environment=CATALINA_BASE=/opt/tomee</code> | ||
Environment= | <code>Environment='CATALINA_OPTS=-Xms4096M –Xmx8192M -server -XX:+UseParallelGC'</code> | ||
Environment=' | <code>Environment='JAVA_OPTS=-Djava.awt.headless=true</code> | ||
<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
Изменения в файлах с версией ядра
- Архивы VER1 и VER2 по умолчанию содержат схему sys_cubs. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить sys_cubs на имя схемы БД по умолчанию.
- Архивы VER1 и VER4 по умолчанию содержат имя пользователя dev_user. Необходимо разархивировать архивы и в файлах \DB_PG\script.sql заменить dev_user на имя созданного пользователя БД.
- Заархивировать версию с изменениями.
УСТАНОВКА ЯДРА
Файл 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