Tomcat as linux service

Содержание
  1. Установка и базовая настройка Tomcat на Linux Ubuntu Server
  2. Подготовка системы
  3. Подготовка к установке
  4. Установка JAVA
  5. Создание пользователя
  6. Установка Tomcat
  7. Настройка автозапуска
  8. ovichiro / tomcat-linux.service.md
  9. linux-notes.org
  10. Установка Tomcat в Unix/Linux
  11. Установка Tomcat в Debian/Ubuntu/CentOS/Fedora/RedHat/Gentoo/Arch
  12. Установка Tomcat в Mac OS X
  13. Установка Tomcat на другие Unix/Linux ОС
  14. Настройка Tomcat в Unix/Linux
  15. Запуск TOMCAT с SysV init
  16. Запуск TOMCAT с systemd
  17. Изменить порт в tomcat
  18. Создание виртуального хоста для tomcat
  19. Настройка SSL для Tomcat
  20. Безопасность Tomcat в Linux
  21. Добавить комментарий Отменить ответ
  22. Установка Apache Tomcat 9 в Ubuntu 18.04
  23. Введение
  24. Предварительные требования
  25. Шаг 1 — Установка Java
  26. Шаг 2 — Создание пользователя Tomcat
  27. Шаг 3 — Установка Tomcat
  28. Шаг 4 — Обновление разрешений
  29. Шаг 5 — Создание служебного файла systemd
  30. Шаг 6 — Настройка брандмауэра и тестирование сервера Tomcat
  31. Шаг 7 — Настройка веб-интерфейса управления Tomcat
  32. Шаг 8 — Доступ к веб-интерфейсу
  33. Заключение

Установка и базовая настройка Tomcat на Linux Ubuntu Server

Tomcat на Ubuntu не устанавливается из репозитория (в отличие от некоторых других дистрибутивов Linux, например, CentOS). Поэтому в данной инструкции мы выполним ручную установку — развертывание дополнительных компонентов (Java), загрузку и распаковку пакета веб-сервера Tomcat, а также настройку его автоматического запуска в случае сбоя или после перезагрузки системы. На момент обновления инструкции использовался Tomcat версии 10 и Ubuntu 20.04.

Подготовка системы

Обновляем список пакетов в репозиториях:

Задаем имя серверу:

hostnamectl set-hostname server.dmosk.ru

* в данном примере мы зададим имя server.dmosk.ru.

Настраиваем часовой пояс, например:

timedatectl set-timezone Europe/Moscow

* где Europe/Moscow — московское время. Список всех возможных зон смотрим командой timedatectl list-timezones.

Устанавливаем сервис для автоматической синхронизации времени, а также разрешаем его автозапуск:

apt-get install chrony

systemctl enable chrony

Если мы используем брандмауэр, необходимо открыть порт 8080:

iptables -A INPUT -p tcp —dport 8080 -j ACCEPT

* 8080 — порт по умолчанию, на котором работает Tomcat. Если мы заходим поменять данный порт, то нужно будет открыть именно его.

Сохраняем правила — для этого устанавливаем утилиту iptables-persistent:

apt-get install iptables-persistent

Если в процессе установки мы отказались сохранять правила, выполняем команду:

Можно приступать к установке Java.

Подготовка к установке

Для работы веб-сервера нам необходимы Java и пользователь, под которым будет работать Tomcat.

Установка JAVA

Мы установим пакет openjdk. Для этого вводим команду:

apt-get install default-jdk

* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu.

Если в системе окажется несколько версий java, выберем последнюю. Для этого вводим команду:

update-alternatives —config java

. и выбираем в списке соответствующий вариант.

Проверяем используемую версию java:

Мы должны увидеть что-то на подобие:

openjdk version «14.0.2» 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)

Создание пользователя

Создаем пользователя командой:

useradd tomcat -U -s /bin/false -d /opt/tomcat -m

* в итоге будет создан пользователь tomcat со следующими опциями:

  • -U — также будет создана группа с таким же именем, что и пользователь.
  • -s /bin/false — запрещает пользователю интерактивный вход в систему.
  • -d /opt/tomcat — указывает путь до домашней директории пользователя.
  • -m — сразу создает домашнюю директорию пользователю.

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

Установка Tomcat

Переходим на страницу официального сайта веб-сервера. В меню слева выбираем необходимую версию Tomcat:

* на момент обновления статьи, последняя версия была 10.

Копируем ссылку на архив tar.gz:

Используя скопированную ссылку, скачиваем архив на наш сервер:

Распаковываем содержимое архива в каталог /opt/tomcat:

tar zxvf apache-tomcat-*.tar.gz -C /opt/tomcat —strip-components 1

Готово. Можно запустить сервер командой:

Открываем браузер и переходим на страницу http:// :8080 — мы должны увидеть стартовую страницу Tomcat:

Наш сервер работает.

Посмотреть версию установленного программного обеспечения можно командой:

java -cp /opt/tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

Мы должны увидеть что-то на подобие:

Server version: Apache Tomcat/10.0.2
Server built: Jan 28 2021 18:48:46 UTC
Server number: 10.0.2.0
OS Name: Linux
OS Version: 5.4.0-26-generic
Architecture: amd64
JVM Version: 14.0.2+12-Ubuntu-120.04
JVM Vendor: Private Build

Настройка автозапуска

Мы выполнили разовый запуск нашего веб-сервера, но, когда будет перезагружен компьютер, он не запустится. Чтобы это исправить, мы создадим юнит в systemd.

Для начала, остановим работу Tomcat:

Поменяем владельца для всех файлов в каталоге /opt/tomcat:

chown -R tomcat:tomcat /opt/tomcat

Создадим конфигурационный файл для нового юнита:

[Unit]
Description=Apache Tomcat Server
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=»JAVA_HOME=/usr/lib/jvm/default-java»
Environment=»JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true»
Environment=»CATALINA_BASE=/opt/tomcat»
Environment=»CATALINA_HOME=/opt/tomcat»
Environment=»CATALINA_PID=/opt/tomcat/temp/tomcat.pid»
Environment=»CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC»
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
RestartSec=10

* где обращаем внимание на:

  • User/Group — пользователь и группа пользователя, от чьего имени будет работать сервис.
  • Environment — переменные окружения. В нашем примере задается несколько для нормальной работы Java и Tomcat.
  • ExecStart/ExecStop — пути к скриптам, которые запускают или останавливают работу службы веб-сервера.
  • Restart/RestartSec — задают поведение сервиса при необходимости выполнить перезапуск. В нашем примере выполнять при сбое с интервалом в 10 секунд.
Читайте также:  Capture one download windows

Из данных опций, возможно вам захочется поменять CATALINA_OPTS, например, задать другие значения для выделения памяти или указать определенный порт. Остальные опции можно оставить.

Перечитываем новый конфигурационный файл в systemd:

Источник

ovichiro / tomcat-linux.service.md

Install Tomcat as a service on Linux

Download Tomcat from the Apache website.
Unpack in /opt/apache-tomcat-x.y.z . E.g. /opt/apache-tomcat-8.5.6 .
You’ll need a terminal and root access.

Create Tomcat user with restricted permissions

This is the user the Tomcat service will run as.

Set the tomcat user as the owner of the $CATALINA_HOME folder.

Configure Tomcat to run as a service

Add /etc/init.d/tomcat init script. Notice there are other init scripts in /etc/init.d/ .
The script shown below will have a LSB type header to define dependencies and runlevels.
Some details here: https://wiki.debian.org/LSBInitScripts
It will start and stop the server as the tomcat user, preserving the existing environment variables, by using su -p -s /bin/sh tomcat . .

Make the script executable:

Configure the system to run the script at boot:

If you want to remove the service

To start/stop the script manually:

Or the old-fashioned way (Ubuntu):

Add /etc/systemd/system/tomcat.service init script:

The script tells the system to run the service as the tomcat user with the specified configs.

Reload Systemd in order to discover and load the new Tomcat service file:

Enable the service to start at boot:

To control the service:

Or with Systemd directly:

Configure Tomcat with APR native library

For better performance, scalability and SSL usage, especially on production environments, it is recommended to configure Tomcat to run with the APR library.

Источник

linux-notes.org

Apache Tomcat (ранее — Catalina) — это контейнер сервлетов с открытым исходным кодом, разрабатываемый Apache Software Foundation. Реализует спецификацию сервлетов и спецификацию JavaServer Pages (JSP) и JavaServer Faces (JSF). Написан на языке Java. Томкат дает возможность запускать приложения для веба, которые содержат ряд утилит для самоконфигурирования.

Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в серверах приложений JBoss и GlassFish.

Установка Tomcat в Unix/Linux

Я стараюсь писать статьи со всем необходимым и чтобы снизить поиски траблошутов в интернете. Я расскажу как установить, настроить и работать с Apache Tomcat в различных Unix/Linux ОС.

Но перед тем как приступим к самой установке, проверяем, установлена ли JAVA на сервере и какая версия:

Если java не установлена в системе, то приступим к установке:

Для других Unix/Linux ОС мне не приходилось устанавливать. По мере возможности, я буду дополнять данный материал новой информацией.

PS: На момент написания статьи, самая актуальная версия — java8 ( 1.8).

Создание пользователя

В идеале, необходимо создать нового пользователя для запуска Tomcat. В этом примере я создам non-login пользователя «tomcat:

Установка Tomcat в Debian/Ubuntu/CentOS/Fedora/RedHat/Gentoo/Arch

Я описывал в своей статье, процесс установки tomcat для Ubuntu:

Установка для любого Unix/Linux примитивная — идем на официальный сайт и качаем новую версию томката. Я заюзаю самую последнюю ( но учитывайте дату написания статьи):

Старый архив удаляем:

Для удобства, переименуем данный томкат:

Меняем права на папку, для того чтобы новый пользователь (tomcat, которого создали в самом начале статьи) мог запустить Tomcat:

Для остановки, нужно убить процесс. Но для начала смотри что есть:

Я например, делал вот так:

Но это не удобно, немного ниже я расскажу как можно оптимизировать.

Установка Tomcat в Mac OS X

Для начала подключаем brew:

Выполним поиск пакета:

У меня имеется следующие версии:

Для установки используйте:

PS: Настройку я не выполнял, по этому — я пока-что упущу данную тему.

Установка Tomcat на другие Unix/Linux ОС

Для других Unix/Linux ОС, можно заюзать docker. Я мало где юзаю его, по этому — пока что нет данной инфы по установке. Но я надеюсь что я выложу.

Настройка Tomcat в Unix/Linux

И так, хотелось бы рассказать как можно запускать томкат. Но для начала, нужно узнать какой механизм инициализации используется:

PS: Вот довольно полезное чтиво:

Запуск TOMCAT с SysV init

Создадим init скрипт для запуска:

И приводим к виду:

Даем права на запуск ( на исполнение):

Добавляем службу в автозагрузку:

Открываем браузер и смотрим что вышло!

PS: По дефолту, нужно открыть URL-у на 8080-м порту. Я внизу статьи, расскажу как можно будет настроить томкат.

Вот полезное чтиво о том, как создавать SysV init файлы в Unix/Linux:

БУДЕТ, немного позже!

Запуск TOMCAT с systemd

И приводим к подобному виду:

Чтобы созданный файл применился, перезагрузим службу:

Читайте также:  Восстановить системные файлы загрузки windows

Чтобы добавить томкат в автозагрузку ОС, выполните:

Чтобы проверить статус, выполняем:

Как видим, все четко работает.

Вот полезное чтиво о том, как создавать SystemD unit файлы в Unix/Linux:

Изменить порт в tomcat

и меняем его, после чего — выполняем рестарт томката.

Создание виртуального хоста для tomcat

Виртуальный хостинг предоставляет нам возможность размещать несколько доменов (веб-сайтов) на одном сервере.

Я для примера, создал домен и повесил его на 192.168.1.100. Веб-апликейшены работают на tomcat 9 и исползуют 80-й порт. Я добавил 2 java-приложения через панель — Tomcat Admin. Теперь оба приложения работают по следующим URL-м:

Теперь мы хотим запускать оба веб-приложения на основных доменах (tomcat1.linux-notes.org и tomcat2.linux-notes.org). Таким образом, конечные пользователи могут получить доступ к веб-приложению, используя доменное имя.

И так, открываем файл:

И приводим к виду:

Суть надеюсь понятна и проста.

После чего, стоит выполнить перезагрузку томката. Я не буду повторятся как это делать, я описывал это в верху.

Настройка SSL для Tomcat

Знаю как, но пока-что не делал.

PS: Вот еще чтиво:

Безопасность Tomcat в Linux

Нужно упомянуть про несколько очень важных моментов по безопасности при работе с Tomcat. Рассмотренные выше «ручные» варианты подразумевают обычно запуск из-под root-пользователя. В результате, если вы ещё и стандартно в файле, задающем пользователей (/usr/local/tomcat9/conf/tomcat-users.xml) раскомментируете блок оных:

…или воспользуетесь распространёнными в интернете примерами получения админских прав типа:

Как-то так, статья «Установка Tomcat в Unix/Linux » завершена.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Установка Apache Tomcat 9 в Ubuntu 18.04

Published on January 24, 2020

Введение

Apache Tomcat — это веб-сервер и контейнер сервлетов, используемый для обслуживания приложений Java. Tomcat представляет собой реализацию технологий Java Servlet и JavaServer Pages с открытым исходным кодом, разработанную Apache Software Foundation. В настоящем руководстве описывается базовая установка и определенные моменты конфигурации последней версии Tomcat 9 на сервере Ubuntu 18.04.

Предварительные требования

Прежде чем начать изучение настоящего обучающего руководства, необходимо настроить на сервере стандартного пользователя без прав root и с привилегиями sudo . Вы можете узнать, как это сделать, из нашего руководства по начальной настройке сервера Ubuntu 16.04.

Шаг 1 — Установка Java

Tomcat требуется наличие на сервере Java, чтобы выполнять любой код веб-приложения Java. Мы можем удовлетворить это требование, установив OpenJDK с помощью apt.

Во-первых, обновите индекс пакетов apt:

Затем установите пакет для разработки Java с помощью apt:

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

Шаг 2 — Создание пользователя Tomcat

По соображениям безопасности Tomcat необходимо запускать с помощью пользователя без привилегий (т. е. без прав root). Мы создадим нового пользователя с группой, который будет запускать службу Tomcat.

Во-первых, создайте новую группу tomcat :

Далее создайте нового пользователя tomcat . Мы сделаем этого пользователя участником группы tomcat с домашней директорией /opt/tomcat (куда мы будем устанавливать Tomcat) и с оболочкой в /bin/false (чтобы никто не мог войти в учетную запись):

Теперь, когда наш пользователь tomcat настроен, мы загрузим и установим Tomcat.

Шаг 3 — Установка Tomcat

Лучшим способом установки Tomcat 9 является загрузка последней бинарной версии, а затем ее ручная настройка.

Найдите последнюю версию Tomcat 9 на странице загрузки Tomcat 9. На момент написания номер последней версии — 9.0.10, но вы должны использовать более позднюю стабильную версию, если такая будет доступна. Перейдите в раздел Binary Distributions (Бинарные дистрибутивы), а затем в списке Core скопируйте ссылку на файл tar.gz. В большинстве браузеров вы можете сделать это, нажав правой кнопкой мыши по ссылке и выбрав Скопировать адрес ссылки или похожий вариант.

Далее перейдите к директории /tmp на сервере. Эта директория отлично подходит для загрузки кратковременных элементов, таких как tar-архив (тарбол) Tomcat, который нам не потребуется после извлечения содержимого Tomcat:

Используйте curl для загрузки ссылки, скопированной на веб-сайте Tomcat:

Мы установим Tomcat в директорию /opt/tomcat . Создайте директорию, а затем извлеките туда архив с помощью этих команд:

Далее мы сможем настроить соответствующие разрешения пользователя для нашей установки.

Шаг 4 — Обновление разрешений

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

Перейдите в директорию, куда мы распаковали установку Tomcat:

Предоставьте группе tomcat права владения для всей директории установки:

Далее предоставьте группе tomcat доступ для чтения для директории conf и всего ее содержимого, а также доступ execute для самой директории:

Сделайте пользователя tomcat владельцем директорий webapps , work , temp и logs :

Теперь, когда соответствующие разрешения настроены, мы сможем создать служебный файл systemd для управления процессом Tomcat.

Шаг 5 — Создание служебного файла systemd

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

Читайте также:  Rd client windows 10 как настроить ios

Tomcat должен знать, где установлена Java. Обычно этот путь называют JAVA_HOME. Самым простым способом поиска расположения является использование этой команды:

Ваш путь JAVA_HOME — это вывод из последнего столбца (выделено красным). Учитывая приведенный выше пример, для этого сервера правильное значение JAVA_HOME будет выглядеть таким образом:

Ваш путь JAVA_HOME может отличаться.

Получив эту информацию, мы сможем создать служебный файл systemd. Откройте файл tomcat.service в директории /etc/systemd/system с помощью следующей команды:

Добавьте следующее содержимое в служебный файл. Измените значение JAVA_HOME , если потребуется, согласно значению, которое вы используете в вашей системе. Также вы можете изменить параметры распределения памяти, указанные в CATALINA_OPTS :

После завершения редактирования сохраните и закройте файл.

Далее перезагрузите демон systemd, чтобы он знал о существовании вашего служебного файла:

Запустите службу Tomcat с помощью следующей команды:

Дополнительно проверьте, что служба запущена без ошибок, выполнив следующую команду:

Шаг 6 — Настройка брандмауэра и тестирование сервера Tomcat

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

Перед этим нам нужно настроить брандмауэр, чтобы разрешить доступ к службе для наших запросов. Если вы выполнили предварительные требования, у вас должен быть включен брандмауэр ufw .

Tomcat использует порт 8080 для принятия обычных запросов. Разрешите прием трафика для этого порта с помощью следующей команды:

После изменения брандмауэра вы можете получить доступ к начальной странице по умолчанию, перейдя к вашему домену или IP-адресу с :8080 в браузере.

Вы увидите начальную страницу Tomcat по умолчанию в дополнение к другой информации. Однако, если вы воспользуетесь ссылками на диспетчер приложения, например, вам будет отказано в доступе. Мы можем настроить этот доступ далее.

Если вы смогли успешно получить доступ к Tomcat, сейчас лучшее время для активации служебного файла, чтобы Tomcat автоматически запускался при загрузке:

Шаг 7 — Настройка веб-интерфейса управления Tomcat

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

Вы должны будете добавить пользователя, который может получить доступ к manager-gui и admin-gui (веб-приложения, которые поставляются вместе с Tomcat). Вы можете сделать это, определив пользователя, аналогичного приведенному ниже примеру, между тегами tomcat-users . Обязательно измените имя пользователя и пароль на более безопасные:

Сохраните файл и закройте его после завершения.

По умолчанию новые версии Tomcat ограничивают доступ к приложениям диспетчера и диспетчера хостов для подключений с самого сервера. Поскольку мы выполняем установку на удаленном компьютере, вы, вероятно, захотите удалить или изменить это ограничение. Чтобы изменить подобные ограничения IP-адреса, откройте соответствующие файлы context.xml .

Для приложения диспетчера введите:

Для приложения диспетчера хостов введите:

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

Сохраните файл и закройте после завершения.

Чтобы изменения вступили в силу, перезапустите службу Tomcat:

Шаг 8 — Доступ к веб-интерфейсу

Теперь, после создания пользователя, мы снова сможем получить доступ к веб-интерфейсу управления в веб-браузере. Вы снова можете перейти к правильному интерфейсу, введя в браузере доменное имя или IP-адрес вашего сервера с портом 8080:

Страница, которую вы увидите, должна выглядеть аналогично странице, которую вы видели при тестировании ранее:

Давайте изучим приложение диспетчера, доступ к которому можно получить по ссылке или по адресу http:// server_domain_or_IP :8080/manager/html . Вам нужно будет ввести данные учетной записи, которые вы добавили в файл tomcat-users.xml​​​ . После этого вы должны увидеть страницу, которая выглядит следующим образом:

Веб-приложение диспетчера используется для управления приложениями Java. Здесь вы можете запустить, остановить, перезагрузить, развернуть и отменить развертывание. Также вы можете запустить инструменты диагностики для ваших приложений (например, найти утечки памяти). Информация о вашем сервере доступна в самом низу страницы.

Теперь давайте рассмотрим диспетчер хостов, доступный по ссылке или по адресу http:// server_domain_or_IP :8080/host-manager/html/​​​ :

На странице диспетчера виртуальных хостов вы можете добавить виртуальные хосты для обслуживания ваших приложений.

Заключение

Ваша установка Tomcat завершена! Теперь вы можете развернуть ваши собственные веб-приложения Java!

В настоящее время ваша установка Tomcat работает, но абсолютно не имеет шифрования. Это означает, что все данные, включая чувствительную информацию, например пароли, отправляются в текстовой форме и могут быть кем-либо перехвачены и прочитаны в Интернете. Чтобы предотвратить это, мы настоятельно рекомендуем шифровать ваши соединения с помощью SSL. Вы можете узнать, как реализовать шифрование ваших подключений в Tomcat в этом руководстве (примечание: в настоящем руководстве описано шифрование Tomcat 8 в Ubuntu 16.04).

Источник

Оцените статью