Установка и настройка TomCat

Установка и настройка Tomcat 9 на Ubuntu 16.04.

Tomcat — контейнер сервлетов и веб-сервер с открытым исходным кодом. Tomcat реализует спецификацию Java Servlet, JavaServer Pages(JSP), Java Expression Language и Java WebSocket технологий. В качестве основы контейнера сервлетов Tomcat используют такие известные серверы приложений, как JBoss и GlassFish.

Сервер Tomcat требует небольшого количества ресурсов для своей работы, поэтому его можно смело назвать легковесным сервером приложений. Гибкая конфигурация и большое количество поддерживаемых технологий позволяют использовать Tomcat для запуска как простых, так и сложных веб-приложений.

Начиная с версии 8.5 Tomcat поддерживает HTTP/2.

В этом руководстве мы рассмотрим, как установить и настроить Tomcat 9 на Ubuntu 16.04.

Требования

  • Сервер Ubuntu 16.04 x64 (мы использовали следующую конфигурацию: Ubuntu 16.04 64 bit RAM 512Mb и SSD 20 Гб);
  • Пользователь с root-правами.

Установка

Мы будем устанавливать Tomcat версии 9. Для работы с этой версией нам потребуется Java (не ниже 8-й версии).

Обновляем программные пакеты:

$ apt-get update

Устанавливаем JDK:

$ apt-get install default-jdk

Проверяем версию Java:

$ java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8-u111-b14-2ubuntu-0.16.04.2-b14)

Теперь можно приступать к установке собственно веб-сервера Tomcat.

Переходим в папку opt:

$ cd /opt

Затем идём на официальный сайт Tomcat в раздел download версии 9 и копируем адрес ссылки на архив tar.gz: 

Установка и настройка TomCat

C помощью команды wget скачиваем файл скопированной ссылки:

$ wget http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-9/v9.0.0.M13/bin/apache-tomcat-9.0.0.M13.tar.gz

Распаковываем его в текущую папку:

$ tar -zxf apache-tomcat-9.0.0.M13.tar.gz

Для удобства изменим имя распакованной папки на tomcat с помощью следующей команды:

$ mv apache-tomcat-9.0.0.M13 tomcat

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

Создаем новый файл tomcat.service

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

Добавляем в него следующие строки:

[Unit]
Description=Tomcat9
After=network.target

[Service]
Type=forking

Environment=CATALINA_PID=/opt/tomcat/tomcat9.pid
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment="CATALINA_OPTS=-Xms512m -Xmx512m"
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8 -Dnet.sf.ehcache.skipUpdateCheck=true -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Сохраняем файл и перезапускаем менеджер служб:

$ systemctl daemon-reload

Запускаем Tomcat через сервис и проверяем его статус:

$ service tomcat start

$ service tomcat status
Loaded: loaded (/etc/systemd/system/tomcat.service: disabled; vendor preset: enabled)
Active: active (running) since Mon 2016-11-28 20:48:18 MSK; 6s ago

По умолчанию Tomcat запускается на 8080 порту. При желании его можно изменить.

Настройка

Рассмотрим основные директории в корневой папке Tomcat /opt/tomcat:

  • bin — файлы и скрипты для запуска, остановки tomcat;
  • conf — конфигурационные файлы, главный их которых server.xml;
  • lib — используемые библиотеки;
  • logs — директория для хранения всех логов сервера и работы запущенных приложений;
  • webapps — папка для веб-приложений. По умолчанию Tomcat устанавливает свои приложения с примерами и веб-консоль для настройки.

Для изменения порта, на котором запускается Tomcat, необходимо открыть на редактирование файл server.xml в папке conf:

$ nano /opt/tomcat/conf/server.xml

Находим запись:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Меняем порт 8080 на желаемый, а затем перезапускаем Tomcat:

$ service tomcat restart

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

В файле server.xml можно также настроить поддержку SSL/TLS. Для этого нужно раскоментировать следующие строки:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                         certificateFile="conf/localhost-rsa-cert.pem"
                         certificateChainFile="conf/localhost-rsa-chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

Более подробно о всех поддерживаемых форматах и параметрах можно прочитать на официальной странице Tomcat.

Если нужно настроить права доступа для работы с сервером Tomcat, то это можно сделать в файле tomcat-users.xml, который находится в папке conf. После внесения изменений следует перезагрузить сервер.

Для того что бы Tomcat запускался вместе с системой необходимо выполнить 

$ systemctl enable tomcat