«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-адресу:

http://localhost: 8080

И вы должны увидеть экран приветствия 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.
[email protected]:/opt/tomcat/bin#

Теперь пришло время протестировать наш сервер.

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

http://localhost:8080

И вы должны увидеть следующую страницу:

4. Tomcat Manager

Чтобы получить доступ к Tomcat manager, нам нужно создайте пользователя с правами на это.

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

В теге \u003cuser\u003e мы определяем пользователя «admin» с паролем «admin» с ролями manager-gui и admin-gui.

Теперь перезапустите сервер и снова откройте URL-адрес:

http://localhost:8080

На этот раз нажмите кнопку «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 в продакшене, нам, конечно же, нужно соответствующим образом сконфигурировать и настроить сервер.