Установка Apache Tomcat 9.0.8 на Ubuntu 18.04 LTS
Установите 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 портов.
Что мы сделаем
- Установим Java на Ubuntu 18.04
- Настроим переменные окружения Java
- Установим Apache Tomcat 9
- Настроим Tomcat как systemd‑сервис
- Настроим пользователей Tomcat для manager/host‑manager
- Протестируем работу сервера
Шаг 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: /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, окружение настроено.
Шаг 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
Для запуска Tomcat вручную используйте:
$CATALINA_HOME/bin/startup.shПроверить открытые порты:
netstat -plntuПо умолчанию Tomcat слушает на порту 8080. Пример страницы при обращении по адресу http://192.168.10.100:8080/:

Остановить Tomcat:
$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/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
Если сервис активен и слушает 8080, переходите к настройке пользователей.
Шаг 5 — Настройка пользователей Tomcat
Чтобы использовать web‑админки manager и host‑manager, добавим пользователя с ролями.
Откройте файл конфигурации пользователей:
cd /opt/tomcat/conf
vim 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 — Тестирование
Откройте браузер и перейдите по адресу:

Откройте manager:
http://192.168.10.100:8080/manager/html
Войдите под:
- Пользователь: hakase
- Пароль: hakasepassword01

Перейдите в host‑manager:
http://192.168.10.100:8080/host-manager/html
Войдите теми же учётными данными — вы увидите интерфейс управления виртуальными хостами.

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 для установки в ОС (шаблон)
- Проверить доступ к интернету и зеркало Apache.
- Установить Java (или выбрать OpenJDK).
- Создать пользователя tomcat.
- Скачать и распаковать Tomcat в /opt/tomcat.
- Настроить права и переменные окружения.
- Создать systemd‑юнит и включить сервис.
- Настроить tomcat-users.xml и ограничить доступ к manager.
- Проверить работу и добавить правила в брандмауэр (ufw/iptables).
- Создать резервную копию конфигураций.
Чеклист для эксплуатации (роль: инженер по 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: http://tomcat.apache.org/
Итоги
Tomcat 9.0.8 можно развернуть вручную в /opt/tomcat на Ubuntu 18.04 за несколько основных шагов: установка Java, создание пользователя, распаковка архива, настройка systemd и конфигурация пользователей. Для продакшена дополнительно примените рекомендации по безопасности, настройте мониторинг и автоматизацию обновлений.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента