Если вы хотите запускать веб-страницы, включающие кодирование Java Server Page или Java Servlets, вы можете использовать Apache Tomcat. Это открытый веб-сервер и контейнер сервлетов, выпущенный Фондом программного обеспечения Apache.
Tomcat может использоваться как самостоятельный продукт с собственным веб-сервером, или его можно объединить с другими веб-серверами, такими как Apache или IIS. Самая последняя версия Tomcat – 9.0.14, она основана на Tomcat 8 и 8.5 и реализует Servlet 4.0, JSP 2.2.
Читайте также: Как установить Apache Tomcat 9 в CentOS/RHEL
В новой версии были внесены следующие улучшения:
- Добавлена поддержка HTTP/2.
- Добавлена поддержка использования OpenSSL для поддержки TLS с коннекторами JSSE.
- Добавлена поддержка виртуальных хостов TLS (SNI).
В этом руководстве мы покажем вам, как установить Apache Tomcat 9 в Ubuntu 18.10 и более старых версиях Ubuntu.
Шаг 1: Установка Java
Для запуска веб-приложений Java, Tomcat требует установки Java на сервере. Для выполнения этого требования мы установим OpenJDK, как показано.
$ sudo apt update $ sudo apt install default-jdk
Шаг 2: Создание пользователя Tomcat
Для обеспечения безопасности Tomcat должен работать от имени не привилегированного пользователя, например, не от имени root. Поэтому мы создадим пользователя и группу tomcat, от имени которых будет запускаться служба. Начнем с создания группы tomcat:
$ sudo groupadd tomcat
Далее мы создадим пользователя tomcat, который будет членом группы tomcat. Домашняя директория этого пользователя будет /opt/tomcat, так как это место, где мы собираемся установить Tomcat. Оболочка будет установлена в /bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Теперь мы готовы перейти к следующему этапу и загрузить Tomcat.
Шаг 3: Установка Apache Tomcat
Чтобы загрузить последнюю доступную версию, перейдите на страницу загрузки Tomcat и скачайте последнюю версию.
На момент написания этого учебного пособия последняя версия Tomcat – 9.0.14. Чтобы загрузить эту версию, измените текущий каталог на что-то другое. Например, вы можете использовать /tmp:
# cd /tmp
А затем, используя команду wget, загрузите архив Tomcat:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz $ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
Если вы хотите проверить хэш-сумму sha512 файла, вы можете выполнить:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
Полученное значение (хэш) для обоих файлов должно быть одинаковым.
Как было упомянуто ранее, мы собираемся установить Tomcat в /opt/tomcat. Нам нужно создать этот каталог:
$ sudo mkdir /opt/tomcat
И теперь мы можем извлечь загруженный пакет в этот новый каталог:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Теперь перейдите в /opt/tomcat, откуда мы обновим владельца и разрешения папки:
# cd /opt/tomcat
И установите группового владельца /opt/tomcat в tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
Затем мы обновим доступ на чтение для группы tomcat в каталоге conf и установим разрешения на выполнение для каталога:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Далее мы назначим пользователя tomcat владельцем каталогов webapps, work, temp и logs:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Теперь правильные разрешения и владельцы установлены, и мы готовы создать файл запуска systemd, который поможет управлять процессом Tomcat.
Шаг 4: Создание файла службы SystemD для Tomcat
Поскольку мы хотим запускать Tomcat как службу, нам потребуется файл, который поможет нам легко управлять процессом. Для этой цели мы создадим файл службы systemd. Tomcat должен будет знать, где расположена Java на вашей системе.
Чтобы найти это местоположение, используйте следующую команду:
$ sudo update-java-alternatives -l
Вывод этой команды покажет вам местоположение JAVA_HOME.

Теперь, используя эту информацию, мы готовы создать наш файл службы Tomcat.
$ sudo vim /etc/systemd/system/tomcat.service
Вставьте код ниже в файл:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Убедитесь, что JAVA_HOME установлен для вашей системы. Когда вы будете готовы, сохраните файл и закройте его. Теперь, используя команду ниже, перезагрузите демон systemd, чтобы он мог найти наш новый файл службы:
$ sudo systemctl daemon-reload
Затем запустите службу Tomcat:
$ sudo systemctl start tomcat
Вы можете проверить статус службы с помощью:
$ sudo systemctl status tomcat

Вы можете теперь протестировать Tomcat в вашем браузере, используя IP-адрес вашей системы, за которым следует порт службы 8080.
http://ip-address:8080
Результат, который вы должны увидеть, должен быть аналогичен тому, что показано на изображении ниже:

Если вы не видите вышеуказанного вывода, вам может потребоваться разрешить порт 8080 в вашем брандмауэре, как показано.
$ sudo ufw allow 8080
Если вы хотите, чтобы Tomcat запускался при загрузке системы, выполните:
$ systemctl enable tomcat
Шаг 5: Настройка Apache Tomcat
Tomcat имеет веб-приложение управления, которое поставляется предустановленным. Для его использования нам потребуется настроить аутентификацию в нашем файле tomcat-users.xml. Откройте и отредактируйте этот файл с помощью вашего любимого текстового редактора:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Мы собираемся добавить пользователя, который сможет получить доступ к интерфейсам менеджера и администратора. Чтобы настроить такого пользователя, между тегами <tomcat-users> </tomcat-users>
добавьте следующую строку:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Убедитесь, что вы изменили:
- Имя пользователя – на имя пользователя, которое вы хотите аутентифицировать.
- Пароль – на пароль, который вы хотите использовать для аутентификации.

Поскольку по умолчанию доступ к Менеджеру хостов и Менеджеру ограничен, мы захотим либо удалить, либо изменить эти ограничения. Для внесения таких изменений вы можете загрузить следующие файлы:
Для приложения Менеджера:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Для приложения Менеджера хостов:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Внутри этих файлов вы можете либо закомментировать ограничение по IP-адресу, либо разрешить ваш общедоступный IP-адрес. Для целей этого руководства я закомментировал строку:

Чтобы наши изменения вступили в силу, перезагрузите службу tomcat с помощью:
$ sudo systemctl restart tomcat
Теперь вы можете протестировать приложение manager, обратившись по адресу http://ipaddress:8080/manager/. При запросе имени пользователя и пароля используйте те, которые вы настроили ранее. Интерфейс, который вы должны увидеть после этого, выглядит так:

Для доступа к Менеджеру хостов вы можете использовать http://ip-address:8080/host-manager/.

Используя менеджер виртуальных хостов, вы можете создавать виртуальные хосты для ваших приложений Tomcat.
Шаг 6: Тестирование Apache Tomcat путем создания тестового файла
Вы можете проверить, все ли работает гладко, создав тестовый файл внутри каталога /opt/tomcat/webapps/ROOT/.
Давайте создадим такой файл:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Внутри этого файла вставьте следующий код:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
Сохраните файл и установите владение, как показано.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Теперь загрузите этот файл в вашем браузере, используя http://ip-address:8080/tecmint.jsp.

Вот и все! Вы завершили настройку вашего сервера Apache Tomcat и запустили свой первый код на Java. Надеемся, что процесс был легким и простым для вас. Если у вас возникнут проблемы, пожалуйста, поделитесь ими через форму комментариев ниже.
Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/