Содержание:

Apache Tomcat — программное обеспечение, предназначенное для запуска Веб-приложений на языке Java.
Она поддерживает специфику сервлетов(интерфейс Java, реализация которого расширяет функциональные возможности сервера), спецификацию JSP и JSF.
В данной статье мы рассмотрим его установку на сервере с Ubuntu 24.04
Выбирайте VDS
Если вы в поисках надежного VPS-сервера, то смотрите подборку лучших VDS.
ПерейтиПредварительная настройка VPS
Первым действием мы обновим все пакеты на сервере до последней версии:
apt updateНа сайте Tomcat (https://tomcat.apache.org/whichversion.html) можно посмотреть с каких минимальных версий Java можно использовать определенные версии Tomcat. Для этого нужно сопоставить колонки Apache Tomcat Version и Supported Java Versions.

Определившись с версией Tomcat нам необходимо установить Java на сервер. Это можно сделать двумя способами:
- установить стандартную версию Java;
- установить определенную версию Java.
В этой статье мы установим Java первым способом. Для этого на сервере выполним команду:
apt install default-jdk
Как установка закончится, мы проверяем корректность установки Java на сервер:
java -version
После выполнения команды мы видим, что Java успешно установилась на сервер. Так же в выводе указывается версия Java
Для окончания первоначальной настройки нам необходимо будет создать пользователя, чтобы в дальнейшем мы могли настроить службу, которая будет запускаться вместе с сервером:
useradd tomcat -U -s /bin/false -d /opt/tomcat -mУстановка Apache Tomcat на VDS
Приступаем к установке Tomcat на сервер. Для этого мы переходим по ссылке https://tomcat.apache.org/download-11.cgi и нам необходимо будет скопировать ссылку на файл формата tar.gz в Binary Distributions/Core

На сервере мы скачиваем архив через wget:
wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.14/bin/apache-tomcat-11.0.14.tar.gz
Распаковываем файлы в созданный нами ранее каталог:
tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components 1--strip-components 1 нужен для того, чтобы все наши файлы не распаковались в подпапку apache-tomcat-11.0.14

Изменим владельца файлов и подкаталогов:
chown -R tomcat:tomcat /opt/tomcat![]()
Сейчас Tomcat при перезагрузке сервера не запустится автоматически. Чтобы он запускался автоматически, нужно создать службу tomcat.service
Выведем все доступные версии Java на сервере и скопируем директорию нужной нам версии:
update-java-alternatives -l![]()
Далее в директории /etc/systemd/system/ создаем текстовый файл tomcat.service с помощью nano:
nano /etc/systemd/system/tomcat.serviceВ файле мы указываем следующий код:
[Unit]
Description=Apache Tomcat Server
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.21.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetВ этом коде необходимо будет изменить директорию JAVA_HOME на /usr/lib/jvm/java-1.21.0-openjdk-amd64 (директория может отличаться из-за версии Java).

Для применения настроек мы перезагружаем демона, запускаем созданную нами службу, проверяем её работу и включаем автозапуск:
systemctl daemon-reloadsystemctl start tomcatsystemctl status tomcatsystemctl enable tomcat
После этого, в веб-интерфейс Tomcat можно попасть по ссылке http://IP_сервера:8080 Должна открыться стартовая страница Tomcat
Настройка веб-интерфейса Apache Tomcat
У Tomcat есть веб-интерфейс для управления разными проектами, но по умолчанию доступ ограничен. Следующими действиями мы создадим пользователя, из-под которого мы сможем зайти в пункты управления веб-интерфейса Tomcat. Для этого открываем в редакторе файл
nano /opt/tomcat/conf/tomcat-users.xmlПеред </tomcat-users> добавляем следующий код:
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="host-manager"/>
<user username="ИМЯ_ПОЛЬЗОВАТЕЛЯ" password="ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ" roles="admin-gui,manager-gui,host-manager"/>ИМЯ_ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ изменяете на те данные под которыми Вы будете заходить в пункты веб-интерфейса Tomcat.

При попытке нажать в веб-интерфейсе Server Status, Host Manager будет наблюдаться 404 ошибка без запроса ввести данные от пользователя.

Связано это с ограниченным доступом по IP к функциям интерфейса Tomcat. Чтобы в будущем этого избежать подобного необходимо изменить два файла:
/opt/tomcat/webapps/manager/META-INF/context.xml /opt/tomcat/webapps/host-manager/META-INF/context.xmlВ этих файлах найдите следующие строчки:
<Valve className="org.apache.catalina.valves.RemoteCIDRValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />Если хотите ограничить доступ к веб-интерфейсу, то добавьте в строку allow |ВашIP
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|ВашIP" />Если хотите открыть доступ к менеджеру с любого IP, то необходимо будет либо закомментрировать или удалить строку с Valve:
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
После изменения настроек перезагрузите службу:
systemctl restart tomcatПереходим по ссылке http://ВАШ_IP:8080 и проверяем работу страниц Server Status, Manager App, Host Manager.

Предыдущая статья:
Установка и настройка Nginx на VPS Centos 7Следующая статья:
Установка и настройка LAMP на VPS с Ubuntu
Комментарии ()