Перейти к основному содержимому

Введение в Apache Tomcat

· 4 мин. чтения

1. Обзор

Проще говоря, Apache Tomcat — это веб-сервер и контейнер сервлетов , который используется для развертывания и обслуживания веб-приложений Java.

В этой быстрой статье мы собираемся показать, как установить Tomcat, как настроить пользователя для Tomcat Manager и создать сертификат SSL, чтобы позволить Tomcat обслуживать содержимое HTTPS.

2. Установите Tomcat в Windows

2.1. Скачайте и подготовьте

Во-первых, нам нужно скачать Tomcat .

Загрузите сервер в виде zip-файла для Windows:

./c7ec2acfe614ab0f1f1ff38b6fe67e30.png

Далее мы просто распакуем 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://локальный:8080

И вы должны увидеть экран приветствия Tomcat.

./48bb253ebf674cf4a9d3a59993b8d74d.png

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

Вы должны получить следующий результат:

./7f5b52aa52d75e07623c976e248423f4.png

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#

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

Откройте браузер по адресу:

http://локальный:8080

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

./d376508172cdeb18ce7c57336600feee.png

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:

http://локальный:8080

На этот раз нажмите кнопку «Manager App», и сервер запросит учетные данные. После ввода предоставленных учетных данных вы должны увидеть следующий экран:

./2060fbb92a851ecbfe45dd16b873c51d.png

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