Tomcat на Ubuntu не устанавливается из репозитория (в отличие от некоторых других дистрибутивов Linux, например, CentOS). Поэтому в данной инструкции мы выполним ручную установку — развертывание дополнительных компонентов (Java), загрузку и распаковку пакета веб-сервера Tomcat, а также настройку его автоматического запуска в случае сбоя или после перезагрузки системы. На момент обновления инструкции использовался Tomcat версии 10 и Ubuntu 20.04.
Обновляем список пакетов в репозиториях:
apt-get update
Задаем имя серверу:
hostnamectl set-hostname server.admins24.ru
* в данном примере мы зададим имя server.admins24.ru.
Настраиваем часовой пояс, например:
timedatectl set-timezone Europe/Moscow
* где Europe/Moscow — московское время. Список всех возможных зон смотрим командой timedatectl list-timezones.
Устанавливаем сервис для автоматической синхронизации времени, а также разрешаем его автозапуск:
apt-get install chrony
systemctl enable chrony
Если мы используем брандмауэр, необходимо открыть порт 8080:
iptables -A INPUT -p tcp –dport 8080 -j ACCEPT
* 8080 — порт по умолчанию, на котором работает Tomcat. Если мы заходим поменять данный порт, то нужно будет открыть именно его.
Сохраняем правила — для этого устанавливаем утилиту iptables-persistent:
apt-get install iptables-persistent
Если в процессе установки мы отказались сохранять правила, выполняем команду:
netfilter-persistent save
Можно приступать к установке Java.
Для работы веб-сервера нам необходимы Java и пользователь, под которым будет работать Tomcat.
Мы установим пакет openjdk. Для этого вводим команду:
apt-get install default-jdk
* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu.
Если в системе окажется несколько версий java, выберем последнюю. Для этого вводим команду:
update-alternatives –config java
… и выбираем в списке соответствующий вариант.
Проверяем используемую версию java:
java -version
Мы должны увидеть что-то на подобие:
openjdk version “14.0.2” 2020-07-14 OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04) OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)
Java установлен.
Создаем пользователя командой:
useradd tomcat -U -s /bin/false -d /opt/tomcat -m
* в итоге будет создан пользователь tomcat со следующими опциями:
Можно приступать к установке веб-сервера Apache Tomcat.
Переходим на страницу официального сайта веб-сервера. В меню слева выбираем необходимую версию Tomcat:
* на момент обновления статьи, последняя версия была 10.
Копируем ссылку на архив tar.gz:
Используя скопированную ссылку, скачиваем архив на наш сервер:
wget https://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-10/v10.0.2/bin/apache-tomcat-10.0.2.tar.gz
Распаковываем содержимое архива в каталог /opt/tomcat:
tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat –strip-components 1
Готово. Можно запустить сервер командой:
/opt/tomcat/bin/startup.sh
Открываем браузер и переходим на страницу http://<IP-адрес нашего сервера>:8080 — мы должны увидеть стартовую страницу Tomcat:
Наш сервер работает.
Посмотреть версию установленного программного обеспечения можно командой:
java -cp /opt/tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo
Server version: Apache Tomcat/10.0.2 Server built: Jan 28 2021 18:48:46 UTC Server number: 10.0.2.0 OS Name: Linux OS Version: 5.4.0-26-generic Architecture: amd64 JVM Version: 14.0.2+12-Ubuntu-120.04 JVM Vendor: Private Build
Мы выполнили разовый запуск нашего веб-сервера, но, когда будет перезагружен компьютер, он не запустится. Чтобы это исправить, мы создадим юнит в systemd.
Для начала, остановим работу Tomcat:
/opt/tomcat/bin/shutdown.sh
Поменяем владельца для всех файлов в каталоге /opt/tomcat:
chown -R tomcat:tomcat /opt/tomcat
Создадим конфигурационный файл для нового юнита:
vi /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/default-java” 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
* где обращаем внимание на:
Из данных опций, возможно вам захочется поменять CATALINA_OPTS, например, задать другие значения для выделения памяти или указать определенный порт. Остальные опции можно оставить.
Перечитываем новый конфигурационный файл в systemd:
systemctl daemon-reload
Стартуем наш сервис:
systemctl start tomcat
Проверяем, что он запустился и работает:
systemctl status tomcat
• tomcat.service – Apache Tomcat Server Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2021-02-09 10:30:25 UTC; 22h ago Main PID: 14645 (java)
При необходимости перезапуска сервиса, можно будет использовать команду:
systemctl restart tomcat
Теперь открываем нашу страницу по IP-адресу сервера — мы снова должны увидеть стартовую страницу Tomcat.
Мы можем использовать веб-интерфейс для управления Tomcat. Для этого используются кнопки на стартовой странице:
По умолчанию, доступ закрыт в данные разделы. Пошагово, настроим доступ в каждый из них.
Создаем пользователя, под которым мы будем авторизовываться в системе.
Открываем файл:
vi /opt/tomcat/conf/tomcat-users.xml
Внутрь раздела tomcat-users добавим:
… <role rolename=”admin-gui”/> <role rolename=”manager-gui”/> <user username=”admin” password=”password” roles=”admin-gui,manager-gui”/> </tomcat-users>
* в данном примере мы создадим пользователя admin с паролем password и ролями admin-gui, manager-gui.
Перезапускаем tomcat:
Разделы позволяют получить доступ к статистике и управлению веб-приложениями. Они настраиваются вместе.
vi /opt/tomcat/webapps/manager/META-INF/context.xml
Находим строку:
allow=”127.d+.d+.d+|::1|0:0:0:0:0:0:0:1″ />
… и добавляем IP-адрес компьютера, с которого будем подключаться, например:
allow=”127.d+.d+.d+|::1|0:0:0:0:0:0:0:1|192.168.1.15″ />
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к статистике сервера и управлению веб-приложениями.
Пробуем зайти на стартовую страницу и перейти в раздел Server Status:
Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.
Теперь переходим в раздел Manager App:
Мы должны увидеть раздел «Управление веб-приложениями Tomcat».
В данном разделе можно управлять виртуальными серверами.
vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к управлению виртуальными серверами.
Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:
Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».
По умолчанию, Tomcat запускается на порту 8080. Чтобы сменить номер, открываем файл:
vi /opt/tomcat/conf/server.xml
<Connector port=”8080″ protocol=”HTTP/1.1″ …
… и меняем номер порта, например:
<Connector port=”8088″ protocol=”HTTP/1.1″
* в данном примере будет задан новый порт 8088.
Перезапускаем сервис:
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies