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

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

• 5 min read • Linux • Обновлено 19 Nov 2025
Установка Apache Tomcat на CentOS 7
Установка Apache Tomcat на CentOS 7

Version 1.0
Author: Srijan Kishore
Last edited: 28 августа 2014 г.

Предварительное замечание

Этот материал основан на установке и настройке на сервере CentOS 7.0. Перед началом убедитесь, что у вас выполнена базовая установка CentOS 7 и что система имеет статический IP-адрес. В примерах ниже используется IP 192.168.0.100 и hostname server1.example.com — замените их на ваши значения.

Важно: в оригинальном руководстве в одном месте встречается опечатка IP как 192.68.0.100 — проверяйте адрес на вашей машине.

Требования и предпосылки

  • Пользователь с правами root или sudo.
  • Работающий сетевой интерфейс с фиксированным IP.
  • Доступ в интернет для загрузки пакетов и архива Tomcat.

Коротко: Java (OpenJDK 7+), net-tools (по желанию), wget, unzip.

Установка Java и зависимостей

Сначала установите OpenJDK 7 (java-1.7.0-openjdk.x86_64) командой:

yum install java-1.7.0-openjdk.x86_64

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

java -version

Пример вывода:

[root@server1 ~]# java -version  
java version "1.7.0_65"  
OpenJDK Runtime Environment (rhel-2.5.1.2.el7_0-x86_64 u65-b17)  
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)  
[root@server1 ~]#

Установим полезные утилиты (если их нет):

yum install net-tools unzip wget

Примечание: в CentOS 7 для некоторых сетевых задач может использоваться iproute2 (команды ip), но net-tools (ifconfig/netstat) полезны для примеров и отладки.

Загрузка и распаковка Tomcat

Перейдите в /opt и загрузите архив Tomcat (пример для Tomcat 8.0.9):

cd /opt  
wget http://ftp.nluug.nl/internet/apache/tomcat/tomcat-8/v8.0.9/bin/apache-tomcat-8.0.9.zip  
unzip apache-tomcat-8.0.9.zip  
mv apache-tomcat-8.0.9 tomcat

Вы можете скачать другую версию Tomcat, но следите за совместимостью с вашей версией Java.

Настройка переменных окружения

Создайте файл /etc/profile.d/script.sh со следующими строками:

vi /etc/profile.d/script.sh

Вставьте:

#!/bin/bash
CATALINA_HOME=/opt/tomcat
PATH=$CATALINA_HOME/bin:$PATH
export PATH CATALINA_HOME
export CLASSPATH=.

Сделайте файл исполняемым и примените переменные:

chmod +x /etc/profile.d/script.sh
source /etc/profile.d/script.sh

Далее дайте права на выполнение скриптам запуска Tomcat:

chmod +x $CATALINA_HOME/bin/startup.sh  
chmod +x $CATALINA_HOME/bin/shutdown.sh  
chmod +x $CATALINA_HOME/bin/catalina.sh

Запуск Tomcat

Запустите сервер:

$CATALINA_HOME/bin/startup.sh

Пример вывода при запуске:

[root@server1 ~]# $CATALINA_HOME/bin/startup.sh

Using CATALINA_BASE:   /opt/tomcat

Using CATALINA_HOME:   /opt/tomcat

Using CATALINA_TMPDIR: /opt/tomcat/temp

Using JRE_HOME:        /usr

Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar

Tomcat started.

[root@server1 ~]#

Проверьте, что Tomcat слушает порт 8080:

netstat -an | grep 8080

Пример:

[root@server1 ~]# netstat -an | grep 8080

tcp6       0      0 :::8080                 :::*                    LISTEN

[root@server1 ~]#

Если команда netstat недоступна — используйте ss:

ss -ltnp | grep 8080

Настройка firewall-cmd (CentOS 7)

Откройте порт 8080 в зоне public:

firewall-cmd --zone=public --add-port=8080/tcp --permanent  
firewall-cmd --reload

Важно: если у вас включён firewalld с другой зоной по умолчанию, используйте соответствующую зону или добавьте правило для IP/интерфейса.

Создание пользователей для Manager и Admin

Чтобы получить доступ к административным страницам (Manager, Host Manager), добавьте пользователей в файл конфигурации Tomcat:

vi $CATALINA_HOME/conf/tomcat-users.xml

Пример фрагмента (вставляйте внутри тегов … ):







Важно: В примере используется логин/пароль admin/admin — это небезопасно. Обязательно замените их на надёжные учётные данные. После редактирования перезапустите Tomcat:

cd $CATALINA_HOME  
./bin/catalina.sh stop
./bin/catalina.sh start

Доступ к веб-интерфейсу

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

http://192.168.0.100:8080

Страница входа Tomcat

Введите учётные данные, которые вы указали в tomcat-users.xml. После входа нажмите Manager App:

Интерфейс Manager App Tomcat

Пример списка приложений в Manager:

Список приложений Manager App

Поздравляем — Tomcat запущен и доступен.

Рекомендации по безопасности и жёсткой настройке

Важно:

  • Никогда не используйте учётные данные по умолчанию (admin/admin) в production.
  • Разрешайте доступ к интерфейсу управления только с доверенных IP (через firewall или прокси).
  • Отключите или ограничьте Manager и Host Manager в production-среде.
  • Рассмотрите использование HTTPS (настраивается через Connector в server.xml) и безопасных сертификатов.
  • Проверьте SELinux: если он включён, возможно, потребуется настроить контексты или дать разрешения для /opt/tomcat.

Пример быстрого ограничения доступа по IP в конфигурации Manager (в server.xml или в context.xml приложения manager): используйте RemoteAddrValve, но применяйте осторожно и тестируйте изменения.

Systemd: запуск Tomcat как служба (рекомендуется)

Ручной запуск работает, но лучше создать systemd unit, чтобы Tomcat стартовал при загрузке и контролировался системой. Минимальные шаги:

  1. Создайте пользователя tomcat (без shell) и назначьте права на /opt/tomcat.
  2. Создайте unit-файл /etc/systemd/system/tomcat.service (пример не включён здесь — адаптируйте под вашу конфигурацию).
  3. Выполните: systemctl daemon-reload; systemctl enable tomcat; systemctl start tomcat.

Важно тестировать unit-файл и права доступа, чтобы сервис мог читать все необходимые файлы и запускался от непривилегированного пользователя.

Отладка и типичные проблемы

  • Tomcat не стартует: смотрите логи в $CATALINA_HOME/logs/catalina.out и других логах каталога logs.
  • Порт 8080 занят: используйте ss/netstat, измените Connector порт в conf/server.xml или остановите процесс, занимающий порт.
  • Проблемы с правами: проверьте пользователя, от которого запускается Tomcat, и права на /opt/tomcat.
  • SELinux блокирует доступ: временно проверьте, отключив SELinux в режим permissive, чтобы локализовать причину, затем применяйте политики.

Чек-лист по ролям

Для системного администратора:

  • Проверить, что Tomcat запускается и слушает порт 8080.
  • Добавить unit-файл systemd и включить автозапуск.
  • Настроить ротацию логов (logrotate) для каталога logs.

Для разработчика:

  • Убедиться, что среда исполнения Java совместима с приложениями.
  • Деплоить WAR через Manager или копированием в webapps (в зависимости от политики).
  • Тестировать приложение через менеджер и логировать ошибки.

Для инженера по безопасности:

  • Заменить пароли и ограничить доступ к Manager/Host Manager.
  • Включить HTTPS и настроить TLS.
  • Проверить и настроить SELinux и firewall.

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

  • Tomcat успешно запускается и отвечает на HTTP-запросы по порту 8080.
  • Доступ к Manager возможен с доверенного IP и только с валидной учётной записью.
  • Логи не содержат ошибок при старте приложения и отсутствуют ошибки прав доступа.
  • Сервис настроен на автоматический старт через systemd (опционально).

Тестовые сценарии (примеры)

  • Проверка старта: systemctl start tomcat / $CATALINA_HOME/bin/startup.sh — ожидать статус ACTIVE/“Tomcat started”.
  • Проверка порта: ss -ltnp | grep 8080 — ожидать слушающий процесс java/Tomcat.
  • Доступ к Manager: открыть URL и залогиниться валидной учётной записью.
  • Перезапуск и проверка устойчивости: несколько циклов stop/start, проверка логов.

Совместимость и миграция

  • Если вы мигрируете с более старой версии Tomcat или Java, проверяйте совместимость JSP/servlet API и используемые библиотеки.
  • Tomcat 8 требует соответствующей версии Java — для новых версий Tomcat используйте Java 8+.

Быстрые рекомендации по производительности

  • Настройте параметры JVM (Xms/Xmx) в каталоге bin/setenv.sh или systemd unit.
  • Разграничьте каталоги логов и временных файлов на отдельные диски, если это возможно.

Итог

Следуя этому руководству, вы установите и запустите Apache Tomcat на CentOS 7, настроите базовые переменные окружения, откроете порт в firewall и добавите администратора для доступа к Manager. Не забудьте заменить временные/демонстрационные пароли и настроить запуск через 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 быстро