Установка Apache Tomcat 8.5 на CentOS 7
Краткий план действий
- Установить Java 1.8 (JRE и JDK) из репозитория CentOS.
- Настроить переменную окружения JAVA_HOME.
- Создать пользователя tomcat и распаковать Tomcat в /opt/tomcat.
- Запустить Tomcat вручную и проверить работу на порту 8080.
- Создать systemd‑сервис для автоматического старта/остановки.
- Настроить пользователей для менеджера и host-manager.
- Открыть порт 8080 в firewalld.
Введение
Apache Tomcat — это реализация Java Servlet и сопутствующих спецификаций с открытым исходным кодом от Apache Software Foundation. Помимо сервлетов, Tomcat поддерживает JavaServer Pages (JSP), Java Expression Language и WebSocket. Tomcat обеспечивает HTTP‑сервер для Java‑приложений с поддержкой HTTP/2 и возможностью использования OpenSSL для JSSE и виртуального хостинга TLS.
Данное руководство показывает установку Tomcat 8.5 на CentOS 7 и предварительную настройку Java, необходимую для корректной работы Tomcat.
Требования
- Сервер с CentOS 7 (64‑бит)
- Рекомендуется 2 ГБ оперативной памяти или больше
- Права root или sudo
Шаг 1 — Установка Java (JRE и JDK)
Установите Java JRE и JDK из репозитория CentOS. В этом руководстве используем пакет OpenJDK 1.8.
Запустите команду:
yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64Дождитесь завершения установки.
Проверьте версию Java:
java -versionОжидаемый вывод похож на:
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)Важно: если на сервере уже установлены несколько версий Java, убедитесь, что используется нужная версия.
Шаг 2 — Настройка переменной окружения JAVA_HOME
Tomcat требует корректно настроенной переменной JAVA_HOME. Найдите путь к установленной Java:
sudo update-alternatives --config javaПример найденного каталога Java:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jreОткройте системный файл окружения:
vim /etc/environmentДобавьте строку:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre"Сохраните и закройте.
Также добавьте переменные в профиль пользователя (или в профиль пользователя tomcat позже):
vim ~/.bash_profileВставьте в конец:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATHПримените профиль:
source ~/.bash_profileПроверьте:
echo $JAVA_HOME
Важно: используйте точный путь, который вернул update-alternatives.
Шаг 3 — Установка Apache Tomcat 8.5
Создайте системную группу и пользователя tomcat без shell‑доступа и с домашним каталогом /opt/tomcat:
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcatКомментарии по опциям:
- -s /bin/false — отключает интерактивный вход по shell;
- -g tomcat — добавляет пользователя в группу tomcat;
- -d /opt/tomcat — домашний каталог для установки Tomcat.
Перейдите в /opt и скачайте архив Tomcat (в примере — билд 8.5.6):
cd /opt/
wget http://mirror.wanxp.id/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gzРаспакуйте и перенесите файлы в каталог tomcat:
tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6/* tomcat/Установите владельца каталога tomcat:
chown -hR tomcat:tomcat tomcatСовет: храните все сторонние серверные приложения в /opt для удобства управления.
Шаг 4 — Бырый тест запуска Tomcat
Запустите Tomcat вручную для проверки:
cd /opt/tomcat/bin/
./startup.shОжидаемый вывод: “Tomcat started”.
Проверьте открытые порты:
netstat -plntuTomcat по умолчанию использует порт 8080. Откройте в браузере http://

Завершите тестовый запуск:
cd /opt/tomcat/bin/
./shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/
Шаг 5 — Создание systemd‑сервиса для 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Сохраните и закройте файл.
Перезагрузите демон systemd, запустите службу и добавьте её в автозагрузку:
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcatПроверьте порты и статус:
netstat -plntu
systemctl status tomcat
Шаг 6 — Настройка пользователей Tomcat (manager и host-manager)
По умолчанию интерфейсы manager и host-manager защищены. Чтобы получить к ним доступ, добавьте пользователя с соответствующими ролями.
Откройте файл пользователей:
cd /opt/tomcat/conf/
vim tomcat-users.xmlДобавьте под строкой 43 (пример):
Затем откройте контексты manager и host-manager и отключите ограничение по адресу (комментированием remote valve). Это даёт доступ к графике из других хостов. Измените файлы:
cd /opt/tomcat/webapps/manager/META-INF/
vim context.xmlНайдите и закомментируйте строчку с Valve:
То же для host-manager:
cd /opt/tomcat/webapps/host-manager/META-INF/
vim context.xmlПосле правок перезапустите Tomcat:
systemctl restart tomcatЗамечание: в продуктивной среде не оставляйте простые пароли и не отключайте фильтр RemoteAddrValve без надёжной сетевой сегментации.
Шаг 7 — Настройка firewalld (открытие порта 8080)
В CentOS 7 используется firewalld. Запустите службу и добавьте правило для порта 8080:
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reloadПроверьте открытые порты и доступные сервисы:
firewall-cmd --list-ports
firewall-cmd --list-servicesПо умолчанию порт SSH остаётся открыт.

Шаг 8 — Тестирование доступа и панели управления
Откройте в браузере домашнюю страницу Tomcat:

Перейдите в менеджер приложений:
http://192.168.1.120:8080/manager/html
Вход выполните пользователем admin и паролем, заданным в tomcat-users.xml.

Затем проверьте host-manager:
http://192.168.1.120:8080/host-manager/html

Поздравляем — Apache Tomcat 8.5 установлен и доступен на CentOS 7.
Рекомендации по безопасности и доработке
Important: для боевой эксплуатации выполните следующие шаги:
- Измените учетные записи и используйте сложные пароли или интеграцию с LDAP/SSO.
- Ограничьте доступ к manager/host-manager с помощью RemoteAddrValve или сетевого firewall.
- Запустите Tomcat под отдельным неприоритетным пользователем (как сделано выше).
- Регулярно обновляйте Java и Tomcat до поддерживаемых версий.
- Настройте HTTPS (TLS) перед выводом сервера в публичную сеть.
Безопасный пример конфигурации Connector для SSL (в server.xml) — используйте сертификаты и отключайте слабые шифры.
Чек‑лист по ролям
DevOps:
- Установить Java и настроить JAVA_HOME
- Создать пользователя tomcat
- Настроить systemd unit
- Настроить бэкапы /opt/tomcat
Системный администратор:
- Открыть порт 8080 в firewalld или настроить обратный прокси (nginx)
- Отключить прямой доступ к manager/host-manager извне
- Настроить мониторинг (лог/метрики)
Разработчик:
- Развернуть WAR через manager или CI/CD
- Проверить правильность ClassPath и зависимостей
- Протестировать работоспособность приложения под Tomcat
Критерии приёмки
- Tomcat успешно стартует и статус systemd — active (running).
- Порт 8080 открыт и отвечает на HTTP‑запросы.
- Доступ к /manager/html возможен для указанного пользователя и запрещён для неавторизованных.
- Логи отсутствуют критические ошибки при старте.
Частые ошибки и устранение
- Tomcat не запускается — проверьте catalina.out и journalctl -u tomcat.
- Неверный JAVA_HOME — убедитесь, что указан путь к JRE/JDK, а не к пустой директории.
- Права на /opt/tomcat — проверьте владельца tomcat:tomcat и права на execute для bin/*.sh.
- Manager недоступен — проверьте tomcat-users.xml и не закомментированы ли нужные роли.
Быстрая отладка:
journalctl -u tomcat -b --no-pager | tail -n 100
tail -n 200 /opt/tomcat/logs/catalina.outПлан отката (rollback)
- Остановите службу: systemctl stop tomcat
- Восстановите каталог /opt/tomcat из резервной копии
- Если использовался systemd unit, откатите изменения в /etc/systemd/system/tomcat.service
- Убедитесь, что файлы прав и владельцев восстановлены: chown -hR tomcat:tomcat /opt/tomcat/
- Запустите службу и проверьте логи
Мини‑методология развёртывания (короткая)
- Подготовить ОС и установить Java.
- Настроить пользователя и директорию приложения.
- Развернуть бинарный пакет Tomcat в /opt/tomcat.
- Создать systemd unit и настроить автозапуск.
- Настроить доступность порта и менеджер пользователей.
- Провести тестирование и перейти в продуктив.
Сводка по командам (cheat sheet)
- Установка Java: yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
- Проверка Java: java -version
- Создание пользователя: groupadd tomcat; useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
- Запуск Tomcat: systemctl start tomcat
- Статус: systemctl status tomcat
- Открыть порт: firewall-cmd –zone=public –permanent –add-port=8080/tcp; firewall-cmd –reload
Короткий глоссарий
- Tomcat — контейнер сервлетов Apache для Java‑приложений.
- JAVA_HOME — системная переменная, указывающая на установленную Java.
- systemd — init‑система и менеджер сервисов в CentOS 7.
- firewalld — демон управления правилами файрвола в CentOS 7.
Дополнительные ссылки
- Официальный сайт Apache Tomcat: http://tomcat.apache.org/
Apache Tomcat 8.5 успешно установлен и готов к дальнейшей настройке под ваши приложения. Следующие шаги обычно включают подключение HTTPS, настройку обратного прокси (nginx/Apache) и интеграцию с системой мониторинга.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента