1. Обзор
Проще говоря, Apache Tomcat — это веб-сервер и контейнер сервлетов , который используется для развертывания и обслуживания веб-приложений Java.
В этой быстрой статье мы собираемся показать, как установить Tomcat, как настроить пользователя для Tomcat Manager и создать сертификат SSL, чтобы позволить Tomcat обслуживать содержимое HTTPS.
2. Установите Tomcat в Windows
2.1. Скачайте и подготовьте
Во-первых, нам нужно скачать Tomcat .
Загрузите сервер в виде zip-файла для Windows:
Далее мы просто распакуем Tomcat в его каталог.
2.3. Установить
В Windows необходима быстрая дополнительная установка. Откройте терминал Windows и из каталога установки Tomcat
:
C:\Java\Apache Tomcat 8.5.9\bin>
Установите службу с помощью следующей команды:
C:\Java\Apache Tomcat 8.5.9\bin>service install
Вывод должен быть похож на этот:
Installing the service 'Tomcat8' ...
Using CATALINA_HOME: "C:\Java\Apache Tomcat 8.5.9"
Using CATALINA_BASE: "C:\Java\Apache Tomcat 8.5.9"
Using JAVA_HOME: "C:\Java\jdk1.8.0_40"
Using JRE_HOME: "C:\Java\jre1.8.0_40"
Using JVM: "C:\Java\jre1.8.0_40\bin\client\jvm.dll"
The service 'Tomcat8' has been installed.
2.4. Запустите службу Tomcat
Запустите службу с помощью следующей команды:
C:\Java\Apache Tomcat 8.5.9\bin>sc start Tomcat8
Вы должны получить следующий результат:
SERVICE_NAME: Tomcat8
TYPE : 10 WIN32_OWN_PROCESS
STATUS : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_OUTPUT_CODE : 0 (0x0)
SERVICE_OUTPUT_CODE: 0 (0x0)
CHECK-POINT : 0x0
START-INDICATOR : 0x7d0
PID : 5552
MARKS :
Откройте браузер по URL-адресу:
И вы должны увидеть экран приветствия Tomcat.
3. Установка Tomcat в Linux (Debian)
Мы собираемся установить Tomcat в Ubuntu Linux 16.06, но эта процедура должна хорошо работать в любом дистрибутиве Linux на основе Debian.
3.1. Скачать и распаковать
Точно так же мы собираемся загрузить и распаковать Tomcat:
sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-8.5.9.tar.gz -C /opt/tomcat --strip-components=1
3.2. Убедитесь, что Java установлена
Давайте также убедимся, что у нас установлена и доступна Java в системе:
java -version
Вы должны получить следующий результат:
3.3. Создайте пользователя и группу
Мы собираемся запустить сервер под отдельной группой и пользователем; давайте сначала создадим для него группу:
sudo groupadd tomcat
И давайте создадим пользователя Tomcat, чтобы не использовать пользователя root:
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Также обновим разрешения сервера — чтобы использовать их с новым пользователем и группой:
cd /opt/tomcat
sudo chgrp -R tomcat conf
sudo chmod g+rwx conf
sudo chmod g+r conf/*
sudo chown -R tomcat work/ temp/ logs/
Наконец, давайте убедимся, что Tomcat запускается автоматически с помощью простого скрипта Upstart:
vi /etc/init/tomcat.conf
Сценарий tomcat.conf
используется операционной системой для запуска службы Tomcat во время загрузки.
Этот скрипт используется для запуска и остановки службы при необходимости:
description "Tomcat Server"
start on runlevel [2345]
stop on runlevel [!2345]
setuid tomcat
setgid tomcat
env JAVA_HOME=/opt/jdk1.8.0_77/jre/
env CATALINA_HOME=/opt/tomcat
exec $CATALINA_HOME/bin/catalina.sh run
3.4. Начинать
Перейдите в каталог opt/tomcat/bin и выполните следующую команду:
./catalina.sh start
Вы должны увидеть следующий вывод:
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
root@linux:/opt/tomcat/bin#
Теперь пришло время протестировать наш сервер.
Откройте браузер по адресу:
И вы должны увидеть следующую страницу:
4. Менеджер Томкэт
Чтобы получить доступ к менеджеру Tomcat, нам нужно создать пользователя с соответствующими правами.
В Windows:
C:\Java\Apache Tomcat 8.5.9\conf\tomcat-users.xml
В Linux:
/opt/tomcat/conf/tomcat-users.xml
В этом файле мы собираемся определить пользователей для доступа к диспетчеру tomcat.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>
</tomcat-users>
В теге <user>
мы определяем пользователя «admin» с паролем «admin» с ролями manager-gui и admin-gui.
Теперь перезапустите сервер и снова откройте URL:
На этот раз нажмите кнопку «Manager App», и сервер запросит учетные данные. После ввода предоставленных учетных данных вы должны увидеть следующий экран:
5. SSL-сертификат
Выполните следующую команду для создания сертификата:
В Windows:
keytool -genkey -alias tomcat -keyalg RSA -keystore C:\Java\apache-tomcat-8.5.9\keystore\tomcat
В Linux:
keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore/tomcat
Инструмент задаст несколько вопросов, чтобы передать сертификат. Сертификат будет находиться в папке, а имя сертификата — «tomcat». Вы можете проверить сертификат с помощью:
В Windows:
keytool -list -keystore C:\Java\apache-tomcat-8.5.9\keystore\tomcat
В Linux:
keytool -list -keystore /opt/tomcat/keystore/tomcat
5.1. Использовать сертификат
Отредактируйте файл:
В Windows:
C:\Java\Apache Tomcat 8.5.9\conf\server.xml
В Linux:
/opt/tomcat/conf/server.xml
и добавьте соединитель SSL.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:\Java\apache-tomcat-8.0.23\keystore\tomcat"
keystorePass="changeit" />
Перезапустите Tomcat, и все готово. Теперь вы можете запускать свои приложения под HTTPS в Tomcat.
6. Заключение
В конце этого краткого руководства у нас теперь есть работающий Tomcat в Linux и Windows, который можно использовать во время разработки.
Чтобы использовать Tomcat в продакшене, нам, конечно же, нужно соответствующим образом сконфигурировать и настроить сервер.