Установка и настройка 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.

Шаг 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
Откройте в браузере http://

Остановите Tomcat перед созданием системного сервиса:
$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/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
Шаг 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 не используйте простые пароли.

Apache Tomcat 8.5 успешно установлен и проверен на Ubuntu 16.04.
Практическое руководство по безопасности и эксплуатация (Value add)
Important: эти рекомендации помогут повысить безопасность и управляемость Tomcat.
- Ограничьте доступ к manager/host-manager по IP вместо полного отключения RemoteAddrValve. Пример allow для подсети 10.0.0.0/24:
- Используйте сложные пароли, храните их в менеджере секретов, не в plaintext.
- Не оставляйте административные интерфейсы открытыми в интернет.
- Запускайте Tomcat за обратным прокси (Nginx/Apache) и включайте TLS там. Tomcat может использовать AJP/NIO/APR; для HTTPS часто проще настроить TLS в прокси.
- Установите обновления Java и Tomcat регулярно.
- Ограничьте права файлов: только tomcat должен владеть /opt/tomcat, конфиги только для чтения для группы root если нужно.
- Настройте ротацию логов (logrotate) для /opt/tomcat/logs/catalina.out.
- Отключите ненужные 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)
- Остановите сервис: systemctl stop tomcat
- Восстановите резервную копию /opt/tomcat (если была сделана) или удалите текущую установку:
rm -rf /opt/tomcat- Восстановите старую версию из архива и правьте владельца:
tar -xzvf apache-tomcat-.tar.gz -C /opt/
chown -R tomcat:tomcat /opt/tomcat - Запустите службу и проверьте логи.
Быстрые команды (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-сервис для автоматического запуска, подключите веб‑менеджеры и получите базовый набор мер безопасности и приёмочных критериев.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента