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

Установка Apache Tomcat 8.5 на CentOS 7

• 6 min read • Серверы • Обновлено 21 Nov 2025
Установка Apache Tomcat 8.5 на CentOS 7
Установка 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

Вывод пути 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 -plntu

Tomcat по умолчанию использует порт 8080. Откройте в браузере http://вашегосервера>:8080 и убедитесь, что видно страницу по умолчанию.

Проверка, что Tomcat запущен через netstat

Завершите тестовый запуск:

cd /opt/tomcat/bin/
./shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/

Остановка тестового сервера 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

Статус Tomcat в systemd

Шаг 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 остаётся открыт.

Открытие порта 8080 в firewalld

Шаг 8 — Тестирование доступа и панели управления

Откройте в браузере домашнюю страницу Tomcat:

http://192.168.1.120:8080

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

Перейдите в менеджер приложений:

http://192.168.1.120:8080/manager/html

Вход выполните пользователем admin и паролем, заданным в tomcat-users.xml.

Панель менеджера Apache Tomcat

Затем проверьте host-manager:

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

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

Поздравляем — 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 возможен для указанного пользователя и запрещён для неавторизованных.
  • Логи отсутствуют критические ошибки при старте.

Частые ошибки и устранение

  1. Tomcat не запускается — проверьте catalina.out и journalctl -u tomcat.
  2. Неверный JAVA_HOME — убедитесь, что указан путь к JRE/JDK, а не к пустой директории.
  3. Права на /opt/tomcat — проверьте владельца tomcat:tomcat и права на execute для bin/*.sh.
  4. Manager недоступен — проверьте tomcat-users.xml и не закомментированы ли нужные роли.

Быстрая отладка:

journalctl -u tomcat -b --no-pager | tail -n 100
tail -n 200 /opt/tomcat/logs/catalina.out

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

  1. Остановите службу: systemctl stop tomcat
  2. Восстановите каталог /opt/tomcat из резервной копии
  3. Если использовался systemd unit, откатите изменения в /etc/systemd/system/tomcat.service
  4. Убедитесь, что файлы прав и владельцев восстановлены: chown -hR tomcat:tomcat /opt/tomcat/
  5. Запустите службу и проверьте логи

Мини‑методология развёртывания (короткая)

  1. Подготовить ОС и установить Java.
  2. Настроить пользователя и директорию приложения.
  3. Развернуть бинарный пакет Tomcat в /opt/tomcat.
  4. Создать systemd unit и настроить автозапуск.
  5. Настроить доступность порта и менеджер пользователей.
  6. Провести тестирование и перейти в продуктив.

Сводка по командам (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 8.5 успешно установлен и готов к дальнейшей настройке под ваши приложения. Следующие шаги обычно включают подключение HTTPS, настройку обратного прокси (nginx/Apache) и интеграцию с системой мониторинга.

Поделиться: 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 быстро