Как установить Tomcat 9 на CentOS 8 Linux

12 set 2022 6 min di lettura
Как установить Tomcat 9 на CentOS 8 Linux
Indice dei contenuti

Введение

Apache Tomcat — это реализация Java Servlet, JavaServer Pages, Java Expression Language и Java WebSocket с открытым исходным кодом. На сегодняшний день это одно из наиболее часто используемых веб-приложений и серверов в мире. Tomcat прост в использовании и имеет солидную экосистему надстроек.

В этом руководстве объясняется, как установить Tomcat 9.0 на CentOS 8.

Если вы хотите установить Tomcat на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

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

ssh root@IP_DEL_SERVER

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

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установить Java

Tomcat 9 требует Java SE 8 или более поздней версии. Установите OpenJDK 11, реализацию платформы Java с открытым исходным кодом.

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

sudo dnf install wget nano tar

Выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo, чтобы установить Java:

sudo dnf install java-11-openjdk-devel

После завершения установки проверьте ее, проверив версию Java:

java -version

Вывод должен выглядеть так:

openjdk version "11.0.5" 2019-10-15 LTS
 OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
 OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

Создать системного пользователя

Запуск Tomcat под пользователем root представляет угрозу безопасности. Мы создадим нового системного пользователя и группу с домашним каталогом /opt/tomcat, который будет запускать службу Tomcat. Для этого введите следующую команду:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Скачать Томкэт

Бинарный дистрибутив Tomcat доступен для загрузки со страницы загрузок Tomcat.

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

Загрузите zip-файл Tomcat с помощью wget в каталог /tmp:

VERSION=9.0.30
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

После завершения загрузки извлеките файл tar в каталог /opt/tomcat:

sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/

Tomcat регулярно обновляется. Чтобы иметь больший контроль над версиями и обновлениями, мы создадим символическую ссылку с именем latest, которая указывает на каталог установки Tomcat:

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest

Ранее созданный системный пользователь должен иметь доступ к каталогу установки Tomcat. Измените владельца каталога на пользователя и группу tomcat:

sudo chown -R tomcat: /opt/tomcat

Сделайте сценарии оболочки исполняемыми внутри каталога bin:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Эти сценарии используются для запуска и остановки Tomcat.

Создайте файл диска Systemd

Вместо запуска и остановки сервера Tomcat вручную мы настроим его как службу. Откройте текстовый редактор и создайте файл tomcat.service для диска в каталоге /etc/systemd/system/:

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

Вставьте следующее содержимое:

[Unit]
 Description=Tomcat 9 servlet container
 After=network.target

 [Service]
 Type=forking

 User=tomcat
 Group=tomcat

 Environment="JAVA_HOME=/usr/lib/jvm/jre"
 Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

 Environment="CATALINA_BASE=/opt/tomcat/latest"
 Environment="CATALINA_HOME=/opt/tomcat/latest"
 Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
 Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

 ExecStart=/opt/tomcat/latest/bin/startup.sh
 ExecStop=/opt/tomcat/latest/bin/shutdown.sh

 [Install]
 WantedBy=multi-user.target

Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.

Перезапустите службу systemd, набрав:

sudo systemctl daemon-reload

Включите и запустите службу Tomcat:

sudo systemctl enable --now tomcat

Проверить статус услуги:

sudo systemctl status tomcat

Вывод должен показать, что сервер Tomcat включен и работает:

● tomcat.service - Tomcat 9 servlet container
 Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
 Active: active (running) since Sat 2020-01-18 17:05:05 CET; 3s ago
 Process: 3192 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCC>
 Main PID: 3199 (java)
 Tasks: 15 (limit: 12251)
 Memory: 60.2M
 CGroup: /system.slice/tomcat.service
 └─3199 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat>

Настроить брандмауэр

Если сервер находится за брандмауэром и вы хотите получить доступ к интерфейсу Tomcat из-за пределов локальной сети, вам нужно открыть порт 8080.

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

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

Как правило, при запуске Tomcat в производственной среде необходимо использовать балансировщик нагрузки или обратный прокси -сервер. Доступ к порту 8080 рекомендуется предоставлять только внутренней сети.

Настройте веб-интерфейс управления Tomcat.

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

Пользователи и роли Tomcat определяются в tomcat-users.xml.

Если вы откроете файл, вы заметите, что он заполнен комментариями и примерами, описывающими, как настроить файл.

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

Пользователи Tomcat определяются как пользователь в tomcat-users.xml. Чтобы создать нового пользователя с доступом к веб-интерфейсу Tomcat (manager-gui и admin-gui), отредактируйте файл, как показано ниже. Убедитесь, что вы изменили свое имя пользователя и пароль на что-то более безопасное.

Раскомментируйте и отредактируйте следующие строки:

 <role rolename="admin-gui"/>
 <role rolename="manager-gui"/>
 <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>

Следовательно:

<tomcat-users>
 <!--
 Comments
 -->
 <role rolename="admin-gui"/>
 <role rolename="manager-gui"/>
 <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
 </tomcat-users>

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

По умолчанию веб-интерфейс управления Tomcat настроен на разрешение доступа только с локального хоста.

Если вам нужно получить доступ к веб-интерфейсу из любого места, откройте следующий файл:

sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml
<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>

Закомментируйте или удалите следующую строку:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Следовательно:

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

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

Откройте следующий файл:

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

Закомментируйте или удалите следующую строку:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Следовательно:

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

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

Не рекомендуется разрешать доступ откуда угодно, поскольку это представляет угрозу безопасности.

Если вы хотите получить доступ к веб-интерфейсу только с определенного IP-адреса, вместо комментирования блоков добавьте в список свой публичный IP-адрес.

Допустим, ваш общедоступный IP-адрес — 42.42.42.42, и вы хотите разрешить доступ только с этого IP-адреса.

Снова откройте предыдущие файлы:

sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<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|42.42.42.42" />
 </Context>

Сохраните и закройте файл, откройте следующий:

opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<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|42.42.42.42" />
 </Context>

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

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

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

sudo systemctl restart tomcat

Протестируйте установку

Откройте браузер и введите свой IP-адрес или доменное имя, указав 8080 в качестве порта, затем: http://TUO_IP_O_DOMINIO:8080

По завершении установки должен появиться главный экран Tomcat.

Панель управления Tomcat Web Application Manager позволяет развертывать, отменять развертывание, запускать, останавливать и перезагружать приложения, доступные по адресу: http://TUO_IP_O_DOMINIO:8080/manager/html.

Панель управления виртуальным хостом Tomcat позволяет создавать, удалять и управлять виртуальными хостами Tomcat. Он доступен по адресу: http://TUO_IP_O_DOMINIO:8080/host-manager/html.

Вывод

Мы показали вам, как установить Tomcat 9.0 на CentOS 8 и как получить доступ к интерфейсу управления Tomcat.

Для получения дополнительной информации об Apache Tomcat посетите страницу официальной документации.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

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.