Как установить Apache Tomcat 9 на CentOS 8 / RHEL 8
В этом руководстве мы обсудим, как установить Apache Tomcat 9 на RHEL 8 / CentOS 8. Apache Tomcat — это HTTP-сервер с открытым исходным кодом, поддерживающий Java, разработанный Apache Software Foundation. Он используется для выполнения специальных программ Java, известных как « Java Servlet » и «Java Server Pages (JSP) ».
Поддержка Apache Tomcat 9:
- Сервлет Java 4.0
- JavaServer Pages 2.4
- Унифицированный язык выражений Java 3.1
- и Java API для спецификаций WebSocket 2.0.
Основная зависимость Apache Tomcat 9.0.x — это Java 8 или новее. Поэтому эту зависимость необходимо установить перед загрузкой и установкой Tomcat Server.
Apache Tomcat 9 на RHEL 8 / CentOS 8
Мы выполним ручную установку, которая лучше всего подходит для пользователей, плохо знакомых с Linux. Шаги, необходимые для установки рабочего сервера Tomcat 9 на RHEL / CentOS 8:
Шаг 1. Установите Java
Используйте наше руководство ниже, чтобы установить Java на сервер RHEL / CentOS.
Как установить Java 11 (OpenJDK 11) на RHEL / CentOS 8
Как установить Java 11 на CentOS 7
Шаг 2: Создайте пользователя и группу tomcat
Нам нужно добавить пользователя, предназначенного для запуска службы Tomcat.
sudo groupadd --system tomcat sudo useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat
Шаг 3. Установите Tomcat 9 в Linux RHEL / CentOS 8
Проверьте последнюю версию Tomcat 9. Сохраните номер версии в VER
переменной и перейдите к загрузке.
sudo yum -y install wget export VER="9.0.30" wget https://archive.apache.org/dist/tomcat/tomcat-9/v${VER}/bin/apache-tomcat-${VER}.tar.gz
Распакуйте загруженный файл с помощью tar.
sudo tar xvf apache-tomcat-${VER}.tar.gz -C /usr/share/
Создайте символическую ссылку на извлеченные данные tomcat.
sudo ln -s /usr/share/apache-tomcat-$VER/ /usr/share/tomcat
Если вы загружаете более новую версию Tomcat, просто обновите символическую ссылку на папку новой версии.
Установите правильные права доступа к каталогу.
sudo chown -R tomcat:tomcat /usr/share/tomcat sudo chown -R tomcat:tomcat /usr/share/apache-tomcat-$VER/
В /usr/share/tomcat
каталоге есть следующие подкаталоги:
- bin:содержит двоичные файлы и скрипты (например,
startup.sh
а такжеshutdown.sh
для Unix и Mac OS X). - conf : содержит общесистемные файлы конфигурации , напримерв виде
server.xml
,web.xml
, а такжеcontext.xml
. - webapps : содержит развертываемые веб-приложения . Вы также можете разместить здесь файл WAR (Webapp Archive) для развертывания.
- lib : содержит файлы JAR общесистемной библиотеки Tomcat, доступные для всех веб-приложений. Вы также можете разместить здесь внешний файл JAR (например, драйвер MySQL JDBC).
- logs : содержит файлы журнала Tomcat. Возможно, вам потребуется проверить здесь сообщения об ошибках.
- work : рабочий каталог Tomcat, используемый JSP для преобразования JSP в сервлет.
Шаг 4. Настройте службу Tomcat 9 Systemd
Создайте новую службу systemd для Tomcat.
sudo vim /etc/systemd/system/tomcat.service
С конфигурацией ниже:
[Unit] Description=Tomcat Server After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat Environment=JAVA_HOME=/usr/lib/jvm/jre Environment='JAVA_OPTS=-Djava.awt.headless=true' Environment=CATALINA_HOME=/usr/share/tomcat Environment=CATALINA_BASE=/usr/share/tomcat Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid Environment='CATALINA_OPTS=-Xms512M -Xmx1024M' ExecStart=/usr/share/tomcat/bin/catalina.sh start ExecStop=/usr/share/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
Обновите CATALINA_OPTS
значения с учетом ваших ограничений памяти для службы Tomcat.
Запустить и включить службу.
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat
Проверьте статус службы с помощью следующей команды:
$ systemctl status tomcat ● tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2018-12-29 11:18:44 EAT; 29s ago Process: 31508 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) Main PID: 31514 (java) Tasks: 50 (limit: 11510) Memory: 92.2M CGroup: /system.slice/tomcat.service └─31514 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org> Dec 29 11:18:44 rhel8.local systemd[1]: Starting Tomcat… Dec 29 11:18:44 rhel8.local systemd[1]: Started Tomcat.
Шаг 5. Настройте брандмауэр
Разрешить порт, используемый tomcat на брандмауэре — TCP-порт 8080.
sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
Шаг 6. Настройте аутентификацию Tomcat
К этому моменту вы проделали огромную работу по установке и настройке Tomcat. Отсутствует конфигурация пользователей, которые используются для доступа к веб-интерфейсу управления Tomcat.
Отредактируйте файл конфигурации пользователей:
sudo vi /usr/share/tomcat/conf/tomcat-users.xml
Добавить строку ниже перед </tomcat-users>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="MyStrongPassword" fullName="Administrator" roles="admin-gui,manager-gui"/>
Замените MyStrongPassword
желаемым паролем администратора. См. ниже
Шаг 7. Настройте прокси-сервер Tomcat
Мы будем использовать Apache httpd в качестве прокси для контейнера приложения Apache Tomcat. Установите пакет httpd, используя команду ниже.
sudo yum -y install httpd
Создайте VirtualHost для доступа к веб-интерфейсу администратора Tomcat — /etc/httpd/conf.d/tomcat_manager.conf
<VirtualHost *:80>
ServerAdmin root@localhost
ServerName tomcat.example.com
DefaultType text/html
ProxyRequests off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
tomcat.example.com
должно быть значением вашего имени сервера tomcat.
Для коннектора AJP это будет такая конфигурация:
<VirtualHost *:80>
ServerName example.com
ProxyRequests Off
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
Настройте SELinux для Apache для доступа к Tomcat.
sudo setsebool -P httpd_can_network_connect 1 sudo setsebool -P httpd_can_network_relay 1 sudo setsebool -P httpd_graceful_shutdown 1 sudo setsebool -P nis_enabled 1
Перезапустить службу httpd
sudo systemctl restart httpd && sudo systemctl enable httpd
Шаг 8: Доступ к веб-интерфейсу Tomcat
Используйте свое доменное имя, настроенное на VirtualHost, для доступа к управлению Tomcat interface.
Вам необходимо пройти аутентификацию, чтобы просматривать состояние сервера и управлять приложениями Tomcat.
Разделы состояния сервера и управления приложениями выглядят так, как показано на рисунке.
В разделе «Диспетчер веб-приложений» вы можете просматривать, развертывать приложения WAR, управлять SSL и диагностировать приложения.
Раздел Tomcat Virtual Host Manager позволяет вам создавать, удалять и управлять виртуальными хостами Tomcat.
Заключение
Вы успешно установили Tomcat 9 в свою систему RHEL / CentOS 8. Посетите официальную документацию Apache Tomcat 9, чтобы узнать больше о конфигурации и администрировании Apache Tomcat.