Apache Tomcat — это популярный открытый контейнер сервлетов Java, разработанный Фондом программного обеспечения Apache (ASF). Он функционирует как веб-сервер для Java-приложений и является незаменимым инструментом для разработчиков, работающих с сервлетами Java и JavaServer Pages (JSP). В данном руководстве мы рассмотрим процесс установки Tomcat 11 на операционных системах Ubuntu, Debian и Linux Mint.
Предупреждение:
Обратите внимание, что на момент написания этого руководства версия Apache Tomcat 11 находится на альфа-стадии. Эта версия считается нестабильной и не предназначена для использования в производственной среде. Если вам нужна стабильная версия Tomcat для производственных нужд, рекомендуем установить Tomcat 9 или Tomcat 10 по следующим ссылкам:
Для установки Tomcat 11 вам понадобятся Java Development Kit (JDK) версии 11 или выше. Убедитесь, что у вас установлена актуальная версия Java, проверив командой java -version. Также рекомендуется установить wget и unzip для загрузки и распаковки файлов.
Начните с загрузки последнего релиза Tomcat 11 с официального сайта Apache. После загрузки используйте следующую команду для распаковки архива: tar xvf apache-tomcat-11.x.xx.tar.gz. Затем переместите его в желаемую директорию, например, /opt/tomcat.
Не забудьте настроить переменные окружения и права доступа, чтобы обеспечить корректную работу Tomcat. Для удобства, вы можете создать системный сервис, чтобы управлять Tomcat с помощью системного менеджера.
Содержание статьи
- 1 Предварительные условия
- 2 Установка Java Development Kit (JDK)
- 3 Скачайте Tomcat 11
- 4 Установите Tomcat 11
- 5 Создание системного пользователя Tomcat
- 6 Обновление прав доступа
- 7 Создание файла службы systemd
- 8 Настройка доступа к веб-интерфейсу Tomcat
- 9 Разрешение удаленного доступа к веб-интерфейсу Tomcat
- 10 Проверка установки
Предварительные условия
Перед тем как начать установку, убедитесь, что у вас есть:
- Система, работающая на базе Ubuntu, Debian или Linux Mint.
- Привилегии sudo или доступ к учетной записи root.
- На вашем компьютере установлен Java Development Kit (JDK). Tomcat 11 требует JDK 8 или более поздней версии.
- Доступ к интернету для загрузки необходимых пакетов и обновлений.
- Рекомендуется иметь резервную копию важных данных на случай непредвиденных обстоятельств во время установки.
- Знание командной строки Linux для выполнения установки и настройки.
- Проверка наличия необходимых системных ресурсов (оперативная память, процессор и место на диске) для корректной работы Tomcat.
Установка Java Development Kit (JDK)
Для работы Tomcat 11 требуется Java. Если Java у вас еще не установлена, вы можете установить пакет JDK по умолчанию из репозитория вашей дистрибуции.
sudo apt update sudo apt install default-jdk
После установки JDK рекомендуется проверить, что он был установлен правильно. Вы можете сделать это, выполнив команду:
java -version
Эта команда выведет установленную версию Java. Убедитесь, что версия соответствует требованиям Tomcat 11.
Если вы хотите установить конкретную версию JDK, вы можете использовать альтернативные пакеты, такие как openjdk-11-jdk или openjdk-17-jdk. Чтобы установить, например, OpenJDK 11, выполните:
sudo apt install openjdk-11-jdk
Не забудьте также настроить переменные окружения, такие как JAVA_HOME, чтобы приложения могли корректно находить установленную версию Java. Это можно сделать, добавив следующие строки в файл ~/.bashrc:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
После внесения изменений не забудьте выполнить команду source ~/.bashrc для обновления текущей сессии.
Кроме того, для удобства управления версиями Java вы можете использовать Jabba или SDKMAN!. Эти инструменты позволяют легко устанавливать и переключаться между разными версиями JDK.
Также учтите, что для некоторых приложений может потребоваться установка дополнительных библиотек, таких как maven или gradle. Вы можете установить их с помощью следующих команд:
sudo apt install maven
sudo apt install gradle
Наконец, не забудьте периодически проверять обновления для установленного JDK, чтобы быть в курсе последних исправлений безопасности и улучшений производительности. Вы можете использовать команду:
sudo apt update && sudo apt upgrade
Скачайте Tomcat 11
Выполните следующую команду, чтобы скачать Tomcat 11:
wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.0-M17/bin/apache-tomcat-11.0.0-M17.tar.gz
После завершения загрузки распакуйте архив с помощью команды:
tar -xzf apache-tomcat-11.0.0-M17.tar.gz
Это создаст каталог apache-tomcat-11.0.0-M17, который будет содержать все необходимые файлы для работы сервера.
Перед тем как запускать Tomcat, убедитесь, что у вас установлены Java Development Kit (JDK) версии 11 или выше, так как это требование для работы Tomcat 11.
Чтобы запустить Tomcat, перейдите в созданный каталог и выполните следующую команду:
cd apache-tomcat-11.0.0-M17/bin
Затем запустите сервер с помощью:
./catalina.sh start
Теперь вы сможете открыть ваш веб-браузер и перейти по адресу http://localhost:8080, чтобы убедиться, что Tomcat работает корректно.
Не забудьте ознакомиться с документацией Tomcat для более подробной информации о настройке и использовании сервера.
Установите Tomcat 11
После завершения загрузки необходимо распаковать архив Tomcat и переместить его в соответствующее место.
Извлеките архив:
tar -xvzf apache-tomcat-11.0.0-M17.tar.gz
sudo mv apache-tomcat-11.0.0-M17 /opt/tomcat11
Теперь установите необходимые права доступа, чтобы пользователь мог управлять Tomcat:
sudo chown -R $(whoami):$(whoami) /opt/tomcat11
Для удобного запуска Tomcat создайте символическую ссылку:
sudo ln -s /opt/tomcat11/bin/startup.sh /usr/local/bin/tomcat-start
Теперь вы можете запускать Tomcat с помощью команды tomcat-start.
Не забудьте также настроить файл server.xml, чтобы изменить настройки порта и другие параметры при необходимости.
Чтобы проверить, работает ли Tomcat, откройте веб-браузер и введите http://localhost:8080. Вы должны увидеть страницу приветствия Tomcat.
Создание системного пользователя Tomcat
Для повышения безопасности Tomcat не следует запускать от имени пользователя root. Создайте нового пользователя и группу, которые будут управлять сервисом Tomcat. Это поможет изолировать процессы Tomcat от других системных сервисов и минимизировать потенциальные риски.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat11 tomcat
После создания пользователя, рекомендуется установить права на директорию, в которой будет располагаться Tomcat, чтобы новый пользователь мог выполнять необходимые операции:
sudo chown -R tomcat:tomcat /opt/tomcat11
Также стоит добавить нового пользователя в необходимые группы, если это требуется для выполнения определённых задач:
sudo usermod -aG дополнительная_группа tomcat
Не забудьте настроить файлы конфигурации и учётные записи, чтобы обеспечить правильную работу Tomcat под новым пользователем. Это включает в себя редактирование файлов конфигурации сервиса для указания пользователя Tomcat в качестве владельца.
После создания пользователя и настройки прав, вам необходимо убедиться, что службы Tomcat будут автоматически перезапускаться при перезагрузке системы. Для этого создайте файл службы systemd:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=simple
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat11
Environment=CATALINA_BASE=/opt/tomcat11
ExecStart=/opt/tomcat11/bin/startup.sh
ExecStop=/opt/tomcat11/bin/shutdown.sh
RestartSec=10
Restart=always
Сохраните файл как /etc/systemd/system/tomcat.service, затем активируйте его:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
Теперь Tomcat будет автоматически запускаться при загрузке системы. Также не забудьте настроить файрвол, чтобы открыть необходимые порты для доступа к вашему приложению.
Обновление прав доступа
Измените владельца директории Tomcat на пользователя и группу, созданные ранее. Это необходимо для обеспечения правильной работы сервера приложений и защиты от несанкционированного доступа.
sudo chown -R tomcat:tomcat /opt/tomcat11
После выполнения этой команды все файлы и подкаталоги в указанной директории будут принадлежать пользователю tomcat и группе tomcat. Это позволяет Tomcat корректно управлять своими ресурсами, такими как логи и временные файлы.
Важно также убедиться, что соответствующие права доступа к файлам и папкам настроены правильно. Обычно достаточно установить права 755 для каталогов и 644 для файлов. Это можно сделать с помощью команды:
sudo find /opt/tomcat11 -type d -exec chmod 755 {} \;
sudo find /opt/tomcat11 -type f -exec chmod 644 {} \;
Регулярно проверяйте права доступа, чтобы предотвратить возможные проблемы с безопасностью.
Создание файла службы systemd
Чтобы управлять Tomcat как службой, создайте файл службы systemd.
Откройте новый файл в /etc/systemd/system с помощью вашего любимого текстового редактора, например:
sudo nano /etc/systemd/system/tomcat.service
Добавьте следующий содержимое в файл:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=simple
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
После редактирования файла сохраните изменения и закройте редактор.
Теперь перезагрузите демон systemd, чтобы он распознал новую службу:
sudo systemctl daemon-reload
Включите Tomcat, чтобы он запускался при загрузке системы:
sudo systemctl enable tomcat
И запустите службу:
sudo systemctl start tomcat
Чтобы проверить статус службы, используйте следующую команду:
sudo systemctl status tomcat
Если все настроено правильно, вы должны увидеть информацию о состоянии Tomcat. Для остановки службы используйте:
sudo systemctl stop tomcat
И для перезапуска:
sudo systemctl restart tomcat
Настройка доступа к веб-интерфейсу Tomcat
Для управления сервером Tomcat через веб-интерфейс необходимо создать пользовательские роли и пользователя с правами доступа. Эти настройки производятся в файле tomcat-users.xml.
Откройте файл tomcat-users.xml, расположенный в /opt/tomcat11/conf/:
sudo nano /opt/tomcat11/conf/tomcat-users.xml
Данная конфигурация предоставляет администратору доступ к веб-интерфейсу для выполнения задач (manager-gui) и администрирования (admin-gui).
Пример настройки пользователя с соответствующими ролями:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
Не забудьте заменить «admin» и «password» на свои значения для повышения безопасности. После внесения изменений сохраните файл и перезапустите Tomcat для применения новых настроек:
sudo systemctl restart tomcat11
Теперь вы сможете получить доступ к веб-интерфейсу, перейдя по адресу: http://your-server-ip:8080/manager/html для manager-gui и http://your-server-ip:8080/admin/html для admin-gui. Убедитесь, что в файле server.xml разрешены необходимые IP-адреса, если доступ ограничен.
Дополнительные рекомендации:
- Рекомендуется использовать сильные пароли и регулярно их обновлять.
- Для повышения безопасности вы можете настроить брандмауэр, чтобы ограничить доступ к портам 8080 и 8005 только с определённых IP-адресов.
- Рассмотрите возможность использования SSL для шифрования трафика при доступе к веб-интерфейсу.
- Регулярно обновляйте Tomcat до последней версии, чтобы получать исправления безопасности.
- Проверьте логи Tomcat на наличие подозрительной активности для своевременного реагирования на возможные угрозы.
Теперь этот раздел содержит дополнительные рекомендации по безопасности и управлению доступом к веб-интерфейсу Tomcat.
Разрешение удаленного доступа к веб-интерфейсу Tomcat
По умолчанию сервер Tomcat разрешает доступ к веб-интерфейсу только с локальной машины. Чтобы предоставить доступ с других устройств в вашей сети, потребуется изменить настройки для приложений Manager и Host Manager.
Откройте файл context.xml, находящийся в директориях manager/META-INF/ и host-manager/META-INF/ вашей установки Tomcat:
sudo nano /opt/tomcat11/webapps/manager/META-INF/context.xml
sudo nano /opt/tomcat11/webapps/host-manager/META-INF/context.xml
sudo systemctl restart tomcat
После выполнения этих действий у вас появится возможность войти в веб-интерфейс Tomcat, используя учетные данные, указанные в файле tomcat-users.xml. Имейте в виду, что открытие удаленного доступа к веб-интерфейсу Tomcat может создать риски для безопасности. Убедитесь, что ваша сеть защищена, и подумайте о внедрении дополнительных мер безопасности, таких как брандмауэры и VPN, чтобы защитить свой сервер Tomcat.
Кроме того, рекомендуется настроить ограничение доступа по IP-адресам в файле context.xml. Это можно сделать, добавив элементы <Context> с атрибутом Valve для ограничения доступа только для определённых адресов:
<Context>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.1\.\d+|127\.0\.0\.1" />
</Context>
Также следите за обновлениями Tomcat и применяйте патчи безопасности. Убедитесь, что ваш сервер и приложения работают на последних версиях для минимизации уязвимостей.
Наконец, рассмотрите возможность использования HTTPS для защиты передаваемых данных. Настройка SSL-сертификатов обеспечит шифрование связи и повысит уровень безопасности вашего веб-интерфейса.
Проверка установки
После старта Tomcat вы можете убедиться в его работоспособности, перейдя на страницу по умолчанию. Откройте веб-браузер и введите http://your_server_ip:8080.
Вы должны увидеть страницу приветствия Tomcat, что будет свидетельствовать о корректной установке и работе Tomcat.
Поздравляем! Вы успешно установили Apache Tomcat 11 на вашу систему Ubuntu, Debian или Linux Mint. Теперь вы можете развертывать свои Java веб-приложения и использовать Tomcat в качестве веб-сервера. Для дополнительной настройки и возможностей развертывания обратитесь к официальной документации Tomcat.
Поздравляем! Вы успешно установили Apache Tomcat 11 на вашу систему Ubuntu, Debian или Linux Mint. Теперь вы можете развертывать свои Java веб-приложения и использовать Tomcat в качестве веб-сервера. Для дополнительной настройки и возможностей развертывания обратитесь к официальной документации Tomcat.

