Гид по технологиям

Установка Apache Tomcat 9.0.8 на Ubuntu 18.04 LTS

• 6 min read • DevOps • Обновлено 27 Nov 2025
Установка Apache Tomcat 9 на Ubuntu 18.04
Установка Apache Tomcat 9 на Ubuntu 18.04

Установите Java, создайте системного пользователя tomcat, распакуйте Tomcat в /opt/tomcat, задайте переменные окружения JAVA_HOME и CATALINA_HOME, создайте systemd‑сервис apache-tomcat и настройте доступ к manager/host-manager через tomcat-users.xml. В статье пошаговые команды, проверка запуска, рекомендации по безопасности, альтернативные подходы и чеклисты для эксплуатации.

Краткое описание

Apache Tomcat — это реализация Java Servlet с открытым исходным кодом от Apache Software Foundation. Помимо сервлетов, Tomcat поддерживает JavaServer Pages (JSP), Java Expression Language и Java WebSocket. Tomcat предоставляет HTTP‑сервер для Java‑приложений, поддерживающий HTTP/2, OpenSSL для JSSE и TLS с виртуальными хостами.

Ниже приведён подробный пошаговый туториал по установке Apache Tomcat 9.0.8 на Ubuntu 18.04 LTS. Кроме того, показано, как установить Java, настроить пользователя tomcat, запустить Tomcat как systemd‑сервис и протестировать веб‑интерфейсы.

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

  • Ubuntu 18.04 LTS — 64‑бит
  • Рекомендуемая оперативная память: от 2 ГБ
  • Права root или sudo

Важно: если сервер работает в прокси/за NAT, заранее проверьте проброс портов для 8080 и/или настроенных HTTPS портов.

Что мы сделаем

  1. Установим Java на Ubuntu 18.04
  2. Настроим переменные окружения Java
  3. Установим Apache Tomcat 9
  4. Настроим Tomcat как systemd‑сервис
  5. Настроим пользователей Tomcat для manager/host‑manager
  6. Протестируем работу сервера

Шаг 1 — Установка Java на Ubuntu 18.04

В этом шаге устанавливаем Java (JRE/JDK) из PPA. Для управления репозиториями сначала установим пакет software-properties-common.

Выполните:

sudo apt install software-properties-common -y

Добавьте PPA webupd8team (в исходном руководстве использовался webupd8team для Oracle Java 8):

sudo add-apt-repository ppa:webupd8team/java

Затем установите инсталлятор Oracle Java 8 (как в исходном руководстве):

sudo apt install oracle-java8-installer -y

Проверка версии Java:

java -version

Ожидаемый пример вывода:

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Java установлена.

Важно: альтернатива — использовать OpenJDK (см. раздел «Альтернативные подходы»).

Шаг 2 — Настройка окружения Java

Tomcat требует корректно заданной переменной JAVA_HOME, чтобы приложения находили установку Java.

Проверьте расположение Java:

sudo update-alternatives --config java

Конфигурация Java и вывод update-alternatives

В примере путь к Java: /usr/lib/jvm/java-8-oracle/jre.

Отредактируйте файл /etc/environment (для системной переменной) и добавьте:

JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"

Сохраните и выйдите.

Также добавьте в пользовательский профиль (~/.bashrc) экспорт переменных:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
export PATH=$JAVA_HOME/bin:$PATH

Перезагрузите профиль и проверьте:

source ~/.bashrc
echo $JAVA_HOME

Проверка переменной JAVA_HOME в терминале

Если вывод совпадает с директорией Java, окружение настроено.

Шаг 3 — Установка Apache Tomcat

Создадим системную группу и пользователя tomcat, под которым будет работать сервис.

groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Перейдите в /opt и загрузите архив Tomcat 9.0.8:

cd /opt/
wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz

Распакуйте и переименуйте каталог:

tar -xzvf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8/ tomcat/

Установите владельца и права:

chown -R tomcat:tomcat /opt/tomcat
chmod +x /opt/tomcat/bin/*

Задайте CATALINA_HOME в ~/.bashrc:

vim ~/.bashrc
# добавить
export CATALINA_HOME=/opt/tomcat

Примените и проверьте:

source ~/.bashrc
echo $CATALINA_HOME

Каталина переменная окружения CATALINA_HOME

Для запуска Tomcat вручную используйте:

$CATALINA_HOME/bin/startup.sh

Проверить открытые порты:

netstat -plntu

По умолчанию Tomcat слушает на порту 8080. Пример страницы при обращении по адресу http://192.168.10.100:8080/:

Главная страница Tomcat после запуска

Остановить Tomcat:

$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/

Остановка Tomcat и возврат прав

Шаг 4 — Запуск Tomcat как systemd‑сервис

Создайте systemd‑юнит для удобного управления:

cd /etc/systemd/system/
vim apache-tomcat.service

Вставьте конфигурацию:

[Unit]
Description=Apache Tomcat 9 Servlet Container
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

Перезагрузите демон systemd и включите сервис:

systemctl daemon-reload
systemctl start apache-tomcat
systemctl enable apache-tomcat

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

systemctl status apache-tomcat
netstat -plntu

Проверка статуса systemd‑сервиса Tomcat

Если сервис активен и слушает 8080, переходите к настройке пользователей.

Шаг 5 — Настройка пользователей Tomcat

Чтобы использовать web‑админки manager и host‑manager, добавим пользователя с ролями.

Откройте файл конфигурации пользователей:

cd /opt/tomcat/conf
vim tomcat-users.xml

Добавьте перед закрывающим тегом :


Редактирование tomcat-users.xml с добавлением пользователя

Разрешите удалённый доступ к manager и host-manager, закомментировав Valve, который ограничивает доступ по IP (по умолчанию разрешён только локальный доступ). Файл для manager:

cd /opt/tomcat/webapps/manager/META-INF/
vim context.xml

Закомментируйте строку allow, например так:

Для host-manager аналогично:

cd /opt/tomcat/webapps/host-manager/META-INF/
vim context.xml

После изменений перезапустите сервис:

systemctl restart apache-tomcat

Теперь можно зайти в manager по адресу http://192.168.10.100:8080/manager/html, используя добавленные учётные данные.

Шаг 6 — Тестирование

Откройте браузер и перейдите по адресу:

http://192.168.10.100:8080/

Tomcat работает как systemd‑сервис, главная страница

Откройте manager:

http://192.168.10.100:8080/manager/html

Войдите под:

  • Пользователь: hakase
  • Пароль: hakasepassword01

Manager Tomcat — страница приложений

Перейдите в host‑manager:

http://192.168.10.100:8080/host-manager/html

Войдите теми же учётными данными — вы увидите интерфейс управления виртуальными хостами.

Virtual Host Manager в Tomcat

Tomcat 9.0.8 успешно установлен и запущен на Ubuntu 18.04.


Альтернативные подходы и когда их использовать

  • Установка OpenJDK через apt (sudo apt install openjdk-8-jdk) — безопаснее и проще для обновлений в репозиториях. Используйте OpenJDK, если вы не требуете Oracle‑специфичных фич.
  • Установка из системного пакета (sudo apt install tomcat9) — быстрее и интегрируется с системой обновлений, но версия в репозитории может отличаться от требуемой 9.0.8.
  • Контейнеризация (Docker) — удобна для изоляции и масштабирования: официальный образ tomcat на Docker Hub позволяет быстро запускать экземпляры.

Когда не сработает текущая инструкция:

  • Если ваш сервер блокирует исходящий доступ к зеркалу Apache (wget не сможет скачать архив).
  • Если требуется интеграция с уже установленным менеджером пакетов и вы не хотите вручную управлять /opt/tomcat.

Ментальные модели и рекомендации

  • Разделение обязанностей: системный пакет для стабильных окружений, ручная установка в /opt для контроля версии.
  • Безопасность по умолчанию: не открывайте manager/host-manager в интернет без VPN/ограничений по IP.
  • Обновления: при ручной установке создайте процесс обновления распоряжением (SOP) — скачивание, тестирование на стенде, переключение.

Быстрый SOP для установки в ОС (шаблон)

  1. Проверить доступ к интернету и зеркало Apache.
  2. Установить Java (или выбрать OpenJDK).
  3. Создать пользователя tomcat.
  4. Скачать и распаковать Tomcat в /opt/tomcat.
  5. Настроить права и переменные окружения.
  6. Создать systemd‑юнит и включить сервис.
  7. Настроить tomcat-users.xml и ограничить доступ к manager.
  8. Проверить работу и добавить правила в брандмауэр (ufw/iptables).
  9. Создать резервную копию конфигураций.

Чеклист для эксплуатации (роль: инженер по DevOps)

  • Установлена Java и проверена версия
  • Пользователь tomcat создан
  • Tomcat в /opt/tomcat с нужной версией
  • systemd‑юнит присутствует и включён
  • Доступ к manager защищён VPN или IP‑фильтрами
  • Настроен мониторинг и логирование (rsyslog/journald и rotatelogs)
  • Резервные копии веб‑приложений и конфигураций

Критерии приёмки

  • Сервис apache-tomcat активен (systemctl status active)
  • Порт 8080 прослушивается (netstat/ss)
  • Доступна главная страница Tomcat по IP:8080
  • Войдена консоль manager с назначенным пользователем

Тестовые сценарии и критерии

  • TC1: Запуск сервиса — после systemctl start apache-tomcat сервис должен перейти в active в течение 10 с.
  • TC2: Доступность HTTP — GET / должен вернуть 200 OK и HTML страницы Tomcat.
  • TC3: Авторизация manager — вход под hakase должен быть успешным.
  • TC4: Остановка сервиса — systemctl stop должен корректно завершить процесс.

Риски и меры смягчения

  • Открытый manager в интернет — риск взлома. Смягчение: ограничить доступ по IP/VPN, использовать сильные пароли и двухфакторную аутентификацию в обходных решениях.
  • Устаревшая Java — риск уязвимостей. Смягчение: план регулярных обновлений, использовать OpenJDK с поддержкой.
  • Ошибки прав доступа — Tomcat может запускаться неправильно. Смягчение: проверять владельца и права (chown -R tomcat:tomcat).

Безопасность и рекомендации по жёсткой конфигурации

  • Никогда не используйте в продакшене простые пароли; используйте менеджеры секретов.
  • Запускайте Tomcat под непривилегированным пользователем (как tomcat в инструкции).
  • Используйте обратный прокси (nginx/apache) перед Tomcat для TLS‑терминации и добавления WAF‑правил.
  • Ограничьте доступ к manager/host-manager по IP или уберите приложения из webapps в продакшене.
  • Включите логирование и ротацию логов (/opt/tomcat/logs) и интеграцию с SIEM.

Совместимость и миграция

  • Tomcat 9 совместим с спецификациями Servlet 4.0 и JSP 2.3. Убедитесь, что ваши приложения совместимы с этими версиями.
  • При миграции с системного пакета на ручную установку перенесите конфигурации context, server.xml, и webapps.

Быстрый словарь (1‑строчные определения)

  • JAVA_HOME — путь к установленной Java.
  • CATALINA_HOME — корень установки Tomcat.
  • manager — веб‑интерфейс управления развернутыми приложениями.
  • host-manager — веб‑интерфейс для управления виртуальными хостами в Tomcat.

Ресурсы


Итоги

Tomcat 9.0.8 можно развернуть вручную в /opt/tomcat на Ubuntu 18.04 за несколько основных шагов: установка Java, создание пользователя, распаковка архива, настройка systemd и конфигурация пользователей. Для продакшена дополнительно примените рекомендации по безопасности, настройте мониторинг и автоматизацию обновлений.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро