Как установить Apache Tomcat 9 в Ubuntu 18.04 LTS

12 set 2022 5 min di lettura
Как установить Apache Tomcat 9 в Ubuntu 18.04 LTS
Indice dei contenuti

Введение

Apache Tomcat — это веб-контейнер, который позволяет обслуживать веб-приложения Java Servlets и Java Server Pages (JSP).

Предпосылки

Прежде чем приступить к работе с этим руководством, на вашем сервере должен быть установлен пользователь без полномочий root с привилегиями sudo. Следуйте этому руководству: Первоначальная настройка в Ubuntu 18.04 LTS

Установить Java

Tomcat требует, чтобы на сервере была установлена Java. Мы можем установить OpenJDK с помощью apt-get.

Сначала обновите индекс пакета apt-get:

sudo apt update

Затем установите пакет Java Development Kit с помощью apt-get:

sudo apt install default-jdk

Теперь, когда Java установлена, мы можем создать пользователя tomcat, который будет использоваться для запуска Tomcat.

Создать пользователя Tomcat

Из соображений безопасности Tomcat должен запускаться как непривилегированный (т.е. не root) пользователь. Мы создадим нового пользователя и группу, которые будут запускать службу Tomcat.

Сначала создайте новую группу tomcat:

sudo groupadd tomcat

Давайте создадим нового члена группы tomcat с домашним каталогом /opt/tomcat (куда мы установим Tomcat) и с оболочкой /bin/false (чтобы никто не мог получить доступ к учетной записи):

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Теперь, когда наш пользователь tomcat настроен, давайте загрузим и установим Tomcat.

Установить Томкэт

Лучший способ установить Tomcat 9 — загрузить последнюю двоичную версию и настроить ее вручную.

Найдите последнюю версию Tomcat 9 на странице загрузки Tomcat 9. На данный момент последняя версия 9.0.7. В разделе «Двоичные дистрибутивы», затем в списке «Основные» скопируйте ссылку на tar.gz.

Затем перейдите в каталог /tmp на вашем сервере. Это хороший каталог для загрузки временных элементов, таких как tar-архив Tomcat, который нам не понадобится после извлечения содержимого Tomcat:

cd /tmp

Используем curl для скачивания Tomcat по ссылке, скопированной с сайта Tomcat:

Если curl не установлен, введите эту команду терминала:

sudo apt install curl

Итак, чтобы скачать Tomcat:

curl -O http://it.apache.contactlab.it/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz

Мы установим Tomcat в каталог /opt/tomcat. Создайте каталог и распакуйте архив с помощью этих команд:

sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-9.0.7.tar.gz -C /opt/tomcat --strip-components=1

Затем мы можем установить соответствующие права пользователя для нашей установки.

Установить разрешения

Настроенный нами пользователь tomcat должен иметь доступ к установке Tomcat.

Перейдем в каталог, в который мы распаковали установку Tomcat:

cd /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/

Затем вы можете использовать пользователя root для загрузки файлов .war в папку веб- приложений tomact. Или назначьте своего пользователя с привилегиями sudo в группу tomcat следующим образом:

sudo usermod -a -G tomcat nome_utente

Измените разрешения папки webapps, чтобы загрузить файл .war с вашим пользователем:

sudo chmod 770 /opt/tomcat/webapps

Теперь вы можете загрузить затронутые файлы в папку webapps.

В продакшене рекомендуется восстановить права доступа к папке:

sudo chmod 750 /opt/tomcat/webapps

Теперь, когда установлены надлежащие разрешения, мы можем создать служебный файл systemd для управления процессом Tomcat.

Системный сервис

Мы хотим запустить Tomcat как службу, поэтому мы настроим файл службы systemd.

Tomcat должен знать, где установлена Java. Этот путь обычно называют JAVA_HOME. Самый простой способ найти правильный путь — запустить эту команду:

sudo update-java-alternatives -l
Output
 java-1.11.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.11.0-openjdk-amd64

Правильную переменную JAVA_HOME можно установить, взяв вывод правого столбца. Учитывая приведенный выше пример, правильным JAVA_HOME для этого сервера будет:


JAVA_HOME
 /usr/lib/jvm/java-1.11.0-openjdk-amd64

Ваш JAVA_HOME может быть другим.

С помощью этой информации мы можем создать служебный файл systemd. Откройте файл с именем tomcat.service в каталоге /etc/systemd/system, набрав:

sudo nano /etc/systemd/system/tomcat.service

Вставьте следующее содержимое в файл. При необходимости измените значение JAVA_HOME, чтобы оно соответствовало значению, найденному в системе:


[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

Сохраним и закроем файл.

Перезагрузите демон systemd:

sudo systemctl daemon-reload

Запустите службу Tomcat, набрав:

sudo systemctl start tomcat

Проверьте на ошибки:

sudo systemctl status tomcat

Брандмауэр для Tomcat

Теперь, когда служба Tomcat запущена, давайте удостоверимся, что страница по умолчанию доступна.

Прежде чем сделать это, нам нужно изменить правила брандмауэра (если они активны). Если вы выполнили предварительные требования, в настоящее время у вас будет включен брандмауэр ufw.

Tomcat использует порт 8080. Чтобы разрешить трафик на этом типе порта:

sudo ufw allow 8080

Открыть в веб-браузере

http://TUO_IP:8080

Чтобы автоматически запускать Tomcat при запуске сервера, введите следующую команду:

sudo systemctl enable tomcat

Вы увидите начальную страницу Tomcat по умолчанию. Если мы попытаемся войти по некоторым ссылкам приложения управления, доступ будет запрещен. На следующем этапе мы настроим параметры доступа.

Управление котом

Чтобы использовать приложение веб-менеджера, которое поставляется с Tomcat, вам необходимо добавить логин на наш сервер Tomcat. Мы сделаем это, отредактировав файл tomcat-users.xml:

sudo nano /opt/tomcat/conf/tomcat-users.xml

Вам нужно будет добавить пользователя, который сможет получить доступ к графическому интерфейсу менеджера и графическому интерфейсу администратора (веб-приложениям, поставляемым с Tomcat). Вы можете сделать это, определив пользователя, как в следующем примере. Убедитесь, что вы изменили свое имя пользователя и пароль на что-то безопасное:


<tomcat-users...>
 <user username="admin" password="password" roles="manager-gui,admin-gui"/>
 </tomcat-users>

Сохраните и закройте файл.

По умолчанию более новые версии Tomcat ограничивают доступ к приложениям Manager и Host Manager подключениями с самого сервера. Поскольку мы устанавливаем на удаленную машину, вы, вероятно, захотите удалить или изменить это ограничение. Чтобы изменить ограничения IP-адреса, откройте соответствующий файл context.xml.

Для приложения Manager введите:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

Для приложения Host Manager введите:

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

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


<Context antiResourceLocking="false" privileged="true" >
 <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
 </Context>

Сохраните и закройте файл.

Чтобы наши изменения вступили в силу, перезапустите службу Tomcat:

sudo systemctl restart tomcat

веб интерфейс

Теперь, когда мы создали пользователя, мы снова можем получить доступ к веб-интерфейсу управления. Опять же, вы можете получить доступ к интерфейсу, введя доменное имя или IP-адрес сервера, а затем порт 8080 в браузере:

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


http://TUO_IP:8080

Приложение Manager доступно по следующему адресу:


http://TUO_IP:8080/manager/html

Вам нужно будет ввести учетные данные учетной записи, которые вы ранее добавили в файл tomcat-users.xml.

Диспетчер веб-приложений используется для управления приложениями Java.

Host Manager доступен по следующему адресу:


http://TUO_IP:8080/host-manager/html/

Установка Apache Tomcat 9 на Ubuntu 18.04 LTS завершена.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.