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

Установка и настройка Apache Tomcat 8.5 на Ubuntu 16.04

• 6 min read • DevOps • Обновлено 27 Nov 2025
Apache Tomcat 8.5 на Ubuntu 16.04: установка и настройка
Apache Tomcat 8.5 на Ubuntu 16.04: установка и настройка

Цели и ключевые запросы

  • Основная цель: установка Apache Tomcat 8.5 на Ubuntu 16.04.
  • Варианты запросов: установка Tomcat на Ubuntu, Tomcat 8.5 установка, установка Java 8 Ubuntu, systemd Tomcat, настройка tomcat-manager.

Требования и примечания

  • Операционная система: Ubuntu 16.04 — 64‑bit. (Примечание: 16.04 — LTS релиз.)
  • Рекомендуемая память: 2 ГБ или больше.
  • Права: root или sudo.

Важно: в руководстве показано тестирование на локальном IP и портe 8080. Для боевого сервера используйте обратный прокси (Nginx/Apache) и TLS.


Шаг 1 — Установка Java (JRE и JDK)

В этом шаге мы установим Java 8 (JRE и JDK) из PPA для Ubuntu. Сначала нужен пакет для управления репозиториями python-software-properties.

Установите пакет:

sudo apt-get install python-software-properties -y

Добавьте PPA и обновите индекс пакетов:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Установите Java 8:

sudo apt-get install oracle-java8-installer -y

Установка займет время — дождитесь завершения.

Проверьте версию Java:

java -version

Пример вывода (он может отличаться по версии обновления):

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

Важно: если вы используете OpenJDK вместо Oracle JDK, команды установки будут отличаться (apt install openjdk-8-jdk).

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

Tomcat требует установленного JAVA_HOME, чтобы найти Java. Сначала определите текущую альтернативу Java:

sudo update-alternatives --config java

В примере путь к Java:

/usr/lib/jvm/java-8-oracle/jre

Отредактируйте глобальный файл окружения:

vim /etc/environment

Добавьте строку:

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

Сохраните.

Затем добавьте экспорт в ваш ~/.bashrc (или в профиль пользователя tomcat позже):

vim ~/.bashrc

Вставьте в конец:

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

Загрузите изменения:

source ~/.bashrc

Проверьте:

echo $JAVA_HOME

Вывод должен быть путём к Java.

Настройка переменной JAVA_HOME и проверка пути

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

Создадим системного пользователя и группу tomcat без shell доступа, и установим Tomcat в /opt/tomcat.

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

Перейдите в /opt и загрузите архив Tomcat (пример с зеркала; замените URL на актуальное зеркало Apache):

cd /opt/
wget http://mirror.wanxp.id/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz

Распакуйте и переименуйте директорию:

tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6 tomcat

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

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

Определите CATALINA_HOME для текущего пользователя (или для пользователя tomcat в /etc/default/tomcat или systemd EnvironmentFile):

vim ~/.bashrc

Добавьте:

export CATALINA_HOME=/opt/tomcat

Загрузите изменения:

source ~/.bashrc

Проверьте:

echo $CATALINA_HOME

Шаг 4 — Тестирование Apache Tomcat

Запустите Tomcat руками:

$CATALINA_HOME/bin/startup.sh

В логах должно появиться сообщение о старте. Tomcat по умолчанию слушает порт 8080. Проверьте занятые порты:

netstat -plntu

Проверка порта Tomcat

Откройте в браузере http://:8080 — вы должны увидеть стартовую страницу Tomcat.

Стартовая страница Apache Tomcat

Остановите Tomcat перед созданием системного сервиса:

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

Остановка Apache Tomcat

Шаг 5 — Создание systemd-сервиса для Tomcat

Чтобы Tomcat запускался как демон под пользователем tomcat, создадим unit-файл systemd.

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

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

[Unit]
Description=Apache Tomcat 8 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

Сохраните файл, затем примените и запустите сервис:

systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat

Проверьте открытые порты и статус службы:

netstat -plntu
systemctl status tomcat

Запуск Tomcat как systemd-сервиса и проверка статуса

Шаг 6 — Настройка пользователей Tomcat (manager и host-manager)

Чтобы использовать веб-интерфейс менеджера и host-manager, добавьте пользователей в файл tomcat-users.xml.

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

Добавьте, например, под строкой 43:


Важно: в реальной среде замените пароль на сложный и ограничьте доступ по IP.

Затем откройте context.xml для менеджера и для host-manager и снимите или адаптируйте RemoteAddrValve — в примере автор закомментировал проверку адреса, чтобы получить доступ извне.

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

Закомментируйте или измените следующий элемент:



Аналогично для /opt/tomcat/webapps/host-manager/META-INF/context.xml.

Перезапустите сервис:

systemctl restart tomcat

Шаг 7 — Проверка доступа к менеджеру и host-manager

Откройте в браузере:

  • http://:8080 — домашняя страница Tomcat
  • http://:8080/manager/html — менеджер приложений
  • http://:8080/host-manager/html — менеджер виртуальных хостов

Автор использует логин admin и пароль, заданный на шаге 6. В Production не используйте простые пароли.

Домашняя страница Tomcat Панель управления Tomcat Управление виртуальными хостами Tomcat

Apache Tomcat 8.5 успешно установлен и проверен на Ubuntu 16.04.


Практическое руководство по безопасности и эксплуатация (Value add)

Important: эти рекомендации помогут повысить безопасность и управляемость Tomcat.

  1. Ограничьте доступ к manager/host-manager по IP вместо полного отключения RemoteAddrValve. Пример allow для подсети 10.0.0.0/24:
  1. Используйте сложные пароли, храните их в менеджере секретов, не в plaintext.
  2. Не оставляйте административные интерфейсы открытыми в интернет.
  3. Запускайте Tomcat за обратным прокси (Nginx/Apache) и включайте TLS там. Tomcat может использовать AJP/NIO/APR; для HTTPS часто проще настроить TLS в прокси.
  4. Установите обновления Java и Tomcat регулярно.
  5. Ограничьте права файлов: только tomcat должен владеть /opt/tomcat, конфиги только для чтения для группы root если нужно.
  6. Настройте ротацию логов (logrotate) для /opt/tomcat/logs/catalina.out.
  7. Отключите ненужные sample-приложения (examples, docs) в production.

Краткий чек-лист безопасности:

  • Сильные пароли и ограничение IP
  • TLS через обратный прокси
  • Регулярные обновления Java/Tomcat
  • Минимизация прав на файлы
  • Ротация логов
  • Отключение demo-приложений

Стандартные проблемы и способы их решения

  • Tomcat не стартует — проверьте /opt/tomcat/logs/catalina.out и systemctl status tomcat. Частая причина — неправильные права или отсутствие JAVA_HOME.
  • Порт 8080 уже занят — проверьте с netstat или ss, смените порт в /opt/tomcat/conf/server.xml.
  • Ошибки прав при запуске systemd — убедитесь, что unit-файл запускается от пользователя tomcat и что файлы принадлежат tomcat:tomcat.
  • 401 при входе в manager — проверьте tomcat-users.xml, роли и правильность синтаксиса XML.

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

Приёмка установки считается успешной, если выполнены все пункты:

  • Сервис tomcat активен: systemctl status tomcat показывает active (running).
  • Порт 8080 слушает процесс java/tomcat: netstat/ss показывает процесс.
  • Доступна стартовая страница Tomcat по http://:8080.
  • Доступен manager/html при корректных правах и логине.
  • Логи не содержат ошибок при старте (в пределах ожидаемых информационных сообщений).

План отката (rollback)

  1. Остановите сервис: systemctl stop tomcat
  2. Восстановите резервную копию /opt/tomcat (если была сделана) или удалите текущую установку:
rm -rf /opt/tomcat
  1. Восстановите старую версию из архива и правьте владельца:
tar -xzvf apache-tomcat-.tar.gz -C /opt/
chown -R tomcat:tomcat /opt/tomcat
  1. Запустите службу и проверьте логи.

Быстрые команды (cheatsheet)

  • Запустить: systemctl start tomcat
  • Остановить: systemctl stop tomcat
  • Перезапустить: systemctl restart tomcat
  • Просмотр логов: tail -f /opt/tomcat/logs/catalina.out
  • Статус: systemctl status tomcat

Мини‑глоссарий (1‑строчники)

  • JAVA_HOME — корневая папка JRE/JDK. Tomcat использует это для запуска.
  • CATALINA_HOME — корневая папка установки Tomcat (/opt/tomcat в примере).
  • manager — веб‑интерфейс для управления приложениями Tomcat.
  • host-manager — веб‑интерфейс для управления виртуальными хостами.

Роль‑ориентированный чек‑лист

  • Для системного администратора:
    • Убедиться, что systemd unit корректен и автозапуск включён.
    • Настроить ротацию логов.
  • Для DevOps:
    • Интегрировать Tomcat с CI/CD (деплой приложений через manager/ssh).
    • Настроить мониторинг (ресурсы JVM, uptime).
  • Для специалиста по безопасности:
    • Ограничить доступ к менеджеру по IP.
    • Настроить обратный прокси и TLS.

Ссылки


Короткое резюме: следуя этому руководству, вы установите Java 8 и Apache Tomcat 8.5 на Ubuntu 16.04, настроите 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 быстро