Как установить Tomcat 9 на CentOS / RHEL 8

Как установить Tomcat 9 на CentOS / RHEL 8
Андрей Васенин

Андрей Васенин

Автор статьи. Сфера интересов: ИТ-специалист (программирование, администрирование, DBA). Кандидат экономических наук. Подробнее .

Tomcat - это веб-сервер с открытым исходным кодом для приложений на основе Java, разработанный Apache Foundation. Мы используем Tomcat для развертывания приложений Java Servlet и JSP. В этом его отличие от "широкопрофильных" веб-серверов Apache и Nginx, - он узкоспециализирован на Java. Чтобы узнать больше об Apache Tomcat, посетите официальный сайт Apache Tomcat. Apache Tomcat 9 - это последняя версия, доступная для установки веб-сервера Tomcat в настроящее время.

Предварительные требования

  • доступ к оболочке (shell)
  • иметь привилегированный аккаунт (права на выполнение sudo)

Шаг 1 - Установите Java

Наличие Java является основным требованием для запуска Tomcat 9 в системе CentOS 8 Linux. Убедитесь, что в вашей системе установлена Java 8 или более поздняя версия. Используйте следующую команду для установки OpenJDK в вашей системе.

$ sudo dnf install openjdk

Затем проверьте установленную версию Java:

$ java -version

openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)

Шаг 2 - Создание пользователя Tomcat

Многие системные администраторы запускают Tomcat от имени пользователя root, что не является правильным способом в целях безопасности. Итак, создайте отдельную учетную запись для запуска вашего сервера Tomcat в вашей системе.

$ sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

Приведенная выше команда создаст пользователя с именем «tomcat» с группой «tomcat».

Шаг 3 - Загрузите дистрибутив Tomcat 9

Apache Tomcat доступен на официальных страницах загрузки, где вы можете выбрать ближайших пиров для быстрой загрузки Tomcat. Чтобы загрузить архивный файл Apache Tomcat с официального сервера загрузки Apache tomcat, используйте следующую команду:

$ wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz

Затем распакуйте архив и скопируйте все файлы в домашнюю директорию tomcat.

$ tar xzf apache-tomcat-9.0.30.tar.gz
$ sudo mv apache-tomcat-9.0.30/* /opt/tomcat/

 Кроме того, установите правильные права на все  файлы и директории.

$ sudo chown -R tomcat:tomcat /opt/tomcat/

Шаг 4 - Включить Host/Manager для удаленного IP

По умолчанию Tomcat manager и host-manager, страницам разрешен доступ только с локального хоста. Чтобы получить доступ к этим страницам из удаленной системы, вы должны указать свой IP-адрес или диапазон IP-адресов в файле context.xml для конкретного приложения.

  • Manager - /opt/tomcat/webapps/manager/META-INF/context.xml
  • Host Manager - /opt/tomcat/webapps/host-manager/META-INF/context.xml

Отредактируйте вышеуказанные файлы по одному и добавьте IP-адрес (например, 192.168.1.10) или диапазон IP-адресов, чтобы разрешить доступ. Для справки смотрите скриншот ниже.

Редактирование IP адресов  для доступа к Tomcat

Сохраните файлы и закройте.

Шаг 5 - Настройка учетных записей пользователей

Теперь настройте ваш tomcat с учетными записями пользователей для безопасного доступа к страницам администратора / менеджера. Для этого отредактируйте файл /opt/tomcat/conf/tomcat-users.xml в своем редакторе и вставьте следующий код в теги <tomcat-users> </ tomcat-users>. Мы рекомендуем изменить пароль в приведенной ниже конфигурации на надежный (и уж точно не тот, который по умолчанию)!

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="_SECRET_PASSWORD_" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />

Сохраните файл и закройте.

Шаг 6 - Создайте стартовый скрипт Tomcat

Tomcat предоставляет bash-скрипты для запуска и остановки сервиса. Но, чтобы упростить задачу, создайте сценарий запуска, который будет управлять Tomcat в качестве службы systemd. Давайте создадим файл tomcat.service со следующим содержимым:

$ sudo vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Перезагрузите службу демона systemd, чтобы применить изменения.

$ sudo systemctl daemon-reload

Затем включите и запустите службу Tomcat в вашей системе.

$ sudo systemctl enable tomcat.service
$ sudo systemctl start tomcat.service

Шаг 7 - Доступ к Tomcat в браузере

Сервер Tomcat работает на порту 8080 по умолчанию. Чтобы получить доступ к Tomcat через веб-браузер, подключите сервер к порту 8080.

Если вы подключаетесь с локальной машины, используйте localhost. Для подключения с удаленного компьютера используйте IP-адрес системы с портом:

 http://localhost:8080 

 Tomcat - запуск домашней страницы в браузере

Выводы

У вас работает сервер Tomcat 9 в системе CentOS 8. Возможно, вам потребуется создать виртуальный хост или настроить сертификат SSL в Tomcat, но это уже тема отдельных статей. 

Вас заинтересует / Intresting for you:

Установка OTRS (OTOBO) на Cent...
Установка OTRS (OTOBO) на Cent... 3584 просмотров Antoni Thu, 06 May 2021, 09:11:02
Как установить Wine 6 на CentO...
Как установить Wine 6 на CentO... 2414 просмотров Андрей Васенин Thu, 28 Jan 2021, 18:07:55
Сигналы в Linux: назначение и ...
Сигналы в Linux: назначение и ... 2066 просмотров Fortan Fri, 05 Nov 2021, 07:58:01
Развертывание серверов Linux в...
Развертывание серверов Linux в... 2977 просмотров Mike Thu, 11 Feb 2021, 20:00:44
Войдите чтобы комментировать

apv аватар
apv ответил в теме #9835 3 года 2 мес. назад
Рад стараться. сэр!)))
ildergun аватар
ildergun ответил в теме #9822 3 года 2 мес. назад
Отличный мануал! Спасибо, Андрей!