Администрирование SMP и Tomcat. Linux

Все операции в консоли, не требующие привилегий root необходимо выполнять от имени пользователя ОС, от имени которого работает приложение (nausd4). В этом случае не возникнет проблем, вызванных отсутствием доступа к файлам или каталогам.

Установка Tomcat
  1. Создайте каталоги для сохранения дистрибутива:

    mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}

  2. Скачайте Tomcat нужной версии. Требуемая версия Tomcat указана в разделе Условия эксплуатации.

    В качестве примера приводится процедура установки версии 10.1.50:

    wget -P /opt/naumen/deploy/$(date +'%F')/update/ https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.50/bin/apache-tomcat-10.1.50.tar.gz

  3. Распакуйте архив в /opt/naumen:

    tar -xaf /opt/naumen/deploy/$(date +'%F')/update/apache-tomcat-10.1.50.tar.gz -C /opt/naumen/

  4. Создайте ссылку на каталог с Tomcat:

    ln -snf /opt/naumen/apache-tomcat-10.1.50/ /opt/naumen/tomcat

  5. Создайте структуру каталогов для инстанса Tomcat, в котором будет размещаться приложение:

    mkdir -p /opt/naumen/nausd4/tomcat/{conf/Catalina/localhost,bin,lib,logs,webapps/ROOT,temp}

  6. Скопируйте tomcat-juli.jar в каталог созданного инстанса Tomcat:

    cp /opt/naumen/tomcat/bin/tomcat-juli.jar /opt/naumen/nausd4/tomcat/bin/

  7. Скопируйте содержимое каталога с конфигурационными файлами в каталог созданного инстанса Tomcat:

    cp /opt/naumen/tomcat/conf/* /opt/naumen/nausd4/tomcat/conf/

Проверка версии Tomcat

Версию Tomcat можно узнать выполнив следующую команду:

export JAVA_HOME=/opt/naumen/java && /opt/naumen/tomcat/bin/version.sh

Обновление Tomcat

Обновление Tomcat необходимо проводить при остановленном приложении SMP (сервис tomcat).

  1. Создайте каталог для проведения обновления:

    mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}

  2. Скачайте Tomcat нужной версии. Требуемая версия Tomcat указана в разделе Условия эксплуатации. В качестве примера приводится процедура обновления с версии 10.1.14 на версию 10.1.50.

    wget -P /opt/naumen/deploy/$(date +'%F')/update/ https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.50/bin/apache-tomcat-10.1.50.tar.gz

  3. Скачайте преднастроенные файлы server.xml и setenv.sh для этой версии Tomcat с сайта NAUMEN (ссылка для скачивания) в каталог update.

  4. Распакуйте архив с дистрибутивом Tomcat в /opt/naumen:

    tar -xaf /opt/naumen/deploy/$(date +'%F')/update/apache-tomcat-10.1.50.tar.gz -C /opt/naumen/

  5. Сделайте резервные копии файлов:

    • setenv.sh:

      cp /opt/naumen/nausd4/tomcat/bin/setenv.sh /opt/naumen/deploy/$(date +'%F')/backup/

    • server.xml:

      cp /opt/naumen/nausd4/tomcat/conf/server.xml /opt/naumen/deploy/$(date +'%F')/backup/

  6. Создайте ссылку на каталог с Tomcat новой версии:

    ln -snf /opt/naumen/apache-tomcat-10.1.50/ /opt/naumen/tomcat

  7. Скопируйте новый tomcat-juli.jar:

    cp /opt/naumen/tomcat/bin/tomcat-juli.jar /opt/naumen/nausd4/tomcat/bin/

  8. Если обновление осуществляется на более высокую мажорную версию (изменяется первая или вторая цифра версии Tomcat), то скопируйте конфигурационные файлы новой версии Tomcat в каталог инстанса Tomcat приложения:

    cp /opt/naumen/tomcat/conf/* /opt/naumen/nausd4/tomcat/conf/

  9. Перенесите в server.xml для новой версии Tomcat настройки HTTP-коннектора из соответствующего файла, который использовался до выполнения обновления.

  10. Скопируйте новый файл server.xml в каталог инстанса Tomcat, используемого приложением:

    cp /opt/naumen/deploy/$(date +'%F')/update/server.xml /opt/naumen/nausd4/tomcat/conf/

  11. Переместите каталог старой версии Tomcat в каталог backup:

    mv /opt/naumen/apache-tomcat-10.1.14/ /opt/naumen/deploy/$(date +'%F')/backup/

Откат обновления Tomcat

Откат обновления Tomcat необходимо проводить при остановленном приложении SMP (сервис tomcat).

В качестве примера приводится процедура отката с версии 10.1.50 на версию 10.1.14.

  1. Восстановите из резервной копии каталог версии Tomcat:

    cp -r /opt/naumen/deploy/<Дата обновления>/backup/apache-tomcat-10.1.14/ /opt/naumen/

  2. Создайте ссылку на каталог с Tomcat восстанавливаемой версии:

    ln -snf /opt/naumen/apache-tomcat-10.1.14/ /opt/naumen/tomcat

  3. Если производится откат обновления с более высокой мажорной версии (изменяется первая или вторая цифра версии Tomcat), то скопируйте конфигурационные файлы восстанавливаемой версии Tomcat в каталог инстанса Tomcat приложения

    cp /opt/naumen/tomcat/conf/* /opt/naumen/nausd4/tomcat/conf/

  4. Восстановите резервные копии файлов:

    • setenv.sh:

      cp /opt/naumen/deploy/<Дата обновления>/backup/setenv.sh /opt/naumen/nausd4/tomcat/bin/

    • server.xml

      cp /opt/naumen/deploy/<Дата обновления>/backup/server.xml /opt/naumen/nausd4/tomcat/conf/

  5. Скопируйте tomcat-juli.jar:

    cp /opt/naumen/tomcat/bin/tomcat-juli.jar /opt/naumen/nausd4/tomcat/bin/

  6. Удалите каталог версии Tomcat, с которой производится откат:

    rm -rf /opt/naumen/apache-tomcat-10.1.50/

Установка SMP

Для работы приложения SMP на сервере должны быть установлены:

Дистрибутив SMP представляет собой файл формата Web Application Resource с расширением war: sdng-war-x.x.x.x.war .

  1. Создайте каталоги для сохранения дистрибутива:

    mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}

  2. Поместите в каталог update файл sdng-war-x.x.x.x.war (ссылку для скачивания можно получить по запросу у вашего персонального менеджера).

  3. Выполните контроль целостности war-файла путем сравнения его хэш-суммы SHA-1 с хэш-суммой, полученной вместе с дистрибутивом у вашего менеджера. Вычислить хэш-сумму по алгоритму SHA-1 можно при помощи следующей команды:

    sha1sum /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war

    Если вычисленная хэш-сумма не соответствует предоставленной, то проводить обновление этим дистрибутивом нельзя.

  4. Скачайте с сайта NAUMEN и поместите в каталог update подготовленные шаблоны файлов конфигурации:

    • Tomcat (ссылка для скачивания):

      • server.xml — параметры web-сервера Tomcat;

      • setenv.sh — параметры виртуальной машины java и окружения работы SMP;

      • tomcat.service — файл определения параметров сервиса Tomcat.

    • SMP (ссылка для скачивания):

      • dbaccess.properties — основной конфигурационный файл приложения;
      • log4j2.properties — файл конфигурации логирования приложения;
      • file-storage.xml — файл настроек файлового хранилища;
      • ldap-settings.xml — файл настроек ldap аутентификации.
  5. Создайте структуру каталогов приложения:

    mkdir -p /opt/naumen/nausd4/{conf,logs,data}

  6. Скопируйте war файл в каталог инстанса Tomcat приложения:

    cp /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war /opt/naumen/nausd4/tomcat/webapps/sd.war

  7. Скопируйте файлы конфигурации:

    • Задайте переменную, содержащую путь к каталогу с файлами для установки:

      update_path=/opt/naumen/deploy/$(date +'%F')/update

    • dbaccess.properties:

      cp $update_path\/dbaccess.properties /opt/naumen/nausd4/conf/

    • log4j2.properties:

      cp $update_path\/log4j2.properties /opt/naumen/nausd4/conf/

    • server.xml:

      cp $update_path\/server.xml /opt/naumen/nausd4/tomcat/conf/

    • setenv.sh:

      cp $update_path\/setenv.sh /opt/naumen/nausd4/tomcat/bin/

    Если путь установки приложения отличается от приведенного в настоящем руководстве (/opt/naumen), то в файле setenv.sh необходимо скорректировать пути, указаныне в переменных:
    - JAVA_HOME=/opt/naumen/java
    - NAUMEN_OPTS параметр -Dext.prop.dir=/opt/naumen/nausd4/conf.

  8. Пропишите параметры подключения к базе данных и базовую ссылку на приложение в dbaccess.properties (примеры определения параметров приведены в шаблоне). Подробное описание параметров, определяемых в dbaccess.properties, приведено в разделе dbaccess.properties:

    • db.driver;
    • db.url;
    • db.user;
    • db.password;
    • hibernate.dialect;
    • hibernate.default_schema;
    • baseurl.
  9. В log4j2.properties пропишите основные параметры логирования. Подробное описание параметров, определяемых в log4j2.properties, приведено в разделе log4j2.properties:

    • property.logbasepath — путь к основному логу приложения
    • property.archivelogmaxage — количество логов, которые нужно хранить.
  10. Задайте объем выделенной приложению памяти в файле /opt/naumen/nausd4/tomcat/bin/setenv.sh:

    • -Xms — стартовый размер области Heap;
    • -Xmx — максимальный размер области Heap.

    Подробное описание параметров в блоке Java Options приведено в разделе Конфигурация производительности Java-машины.

  11. Задайте HTTP-порт tomcat в файле /opt/naumen/nausd4/tomcat/bin/setenv.sh, где HTTP_PORT — порт, на который Tomcat принимает http-запросы.

    Убедитесь, что указанный порт не занят на сервере. Рекомендуется оставить порт таким, как он определен в шаблоне.

  12. Создайте сервис Tomcat.

    • Скопируйте файл сервиса Tomcat:

      sudo cp /opt/naumen/deploy/$(date +'%F')/update/tomcat.service /etc/systemd/system/tomcat.service

    • Перечитайте файлы systemd:

      sudo systemctl daemon-reload

    • Команда включает автозапуск сервиса при загрузке сервера. Если вам это не нужно, не выполняйте ее.

      sudo systemctl enable tomcat

    Описание сервиса в данном файле корректно для случая установки приложения согласно данному руководству: сервис работает от имени пользователя nausd4, пути установки соответствуют рекомендациям данного руководства.

  13. Настройте возможность пользователю nausd4 управлять сервисом Tomcat:

    cat  <<EOF | sudo tee /etc/sudoers.d/nausd4
    nausd4 ALL=(root) NOPASSWD: /bin/systemctl * tomcat*
    EOF
Обновление SMP

Обновление версии SMP заключается в замене файла /opt/naumen/nausd4/tomcat/webapps/sd.war (важно сохранить имя файла).

Выполняется при остановленном приложении.

Для возможности отката версии SMP до начала обновления должны быть сделаны резервные копии всех изменяющихся в рамках обновления компонентов:

- Создание резервной копии БД

- Создание резервной копии SMP

JDK и Tomcat должны иметь версии, соответствующие условиям эксплуатации для новой версии SMP. В случае несоответствия обновите их.
- Условия эксплуатации
- Проверка версии JDK
- Проверка версии Tomcat 
- Обновление JDK
- Обновление Tomcat

  1. Создайте каталог для проведения обновления:

    mkdir -p /opt/naumen/deploy/$(date +'%F')/{update,backup}

  2. Поместите в каталог update файл sdng-war-x.x.x.x.war (ссылку для скачивания можно получить по запросу у вашего персонального менеджера).

  3. Выполните контроль целостности war-файла путем сравнения его хэш-суммы SHA-1 с хэш-суммой, полученной вместе с дистрибутивом у вашего менеджера. Вычислить хэш-сумму по алгоритму SHA-1 можно при помощи следующей команды:

    sha1sum /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war

    Если вычисленная хэш-сумма не соответствует предоставленной, то проводить обновление этим дистрибутивом нельзя.

  4. Удалите из каталога webapps инстанса Tomcat приложения каталог sd и файл sd.war:

    rm -rf /opt/naumen/nausd4/tomcat/webapps/sd*

  5. Скопируйте war файл новой версии в каталог инстанса Tomcat приложения:

    cp /opt/naumen/deploy/$(date +'%F')/update/sdng-war-x.x.x.x.war /opt/naumen/nausd4/tomcat/webapps/sd.war

На момент запуска приложения при обновлении в каталоге /opt/naumen/nausd4/tomcat/webapps/ должен находиться один файл sd.war новой версии (файл sd.war и каталог sd предыдущей версии должны быть удалены).

Каталог /opt/naumen/nausd4/tomcat/webapps/ROOT при обновлении версии SMP необходимо оставить на месте.

Откат обновления SMP

Выполняется при остановленном приложении.

JDK и Tomcat должны иметь версии, соответствующие условиям эксплуатации для восстанавливаемой версии SMP. В случае несоответствия выполните откат их обновления.
- Условия эксплуатации
- Проверка версии JDK
- Проверка версии Tomcat 
- Откат обновления JDK
- Откат обновления Tomcat

  1. Удалите из каталога webapps инстанса Tomcat приложения каталог sd и файл sd.war:

    rm -rf /opt/naumen/nausd4/tomcat/webapps/sd*

  2. Восстановите из резервных копий, сделанных при обновлении файлы и базу данных:

    • Восстановите базу данных из резервной копии (см. Создание резервной копии БД).

    • Восстановите резервную копию файла sd.war:

      cp /opt/naumen/deploy/<Дата обновления>/backup/sd.war /opt/naumen/nausd4/tomcat/webapps/

    • Восстановите резервные копии файлов конфигурации:

      cp /opt/naumen/deploy/<Дата обновления>/backup/conf/* /opt/naumen/nausd4/conf/

На момент запуска приложения после отката обновления в каталоге /opt/naumen/nausd4/tomcat/webapps/ должен находиться один файл sd.war и каталог sd предыдущей версии (файл sd.war и каталог sd новой версии должны быть удалены).

Каталог /opt/naumen/nausd4/tomcat/webapps/ROOT при откате версии SMP необходимо оставить на месте.