- Установка и базовая настройка Tomcat на Linux Ubuntu Server
- Подготовка системы
- Подготовка к установке
- Установка JAVA
- Создание пользователя
- Установка Tomcat
- Настройка автозапуска
- Доступ к Managing Tomcat
- Создание служебного пользователя
- Server Status и Manager App
- Host-Manager
- Поменять порт
- How Do I Start and Stop Apache Tomcat on Linux?
- Method 1 – Startup Scripts
- Adding to PATH
- Method 2 – Using Systemctl
- Using Custom Unit File
- Conclusion
- About the author
- John Otieno
Установка и базовая настройка Tomcat на Linux Ubuntu Server
Опубликовано: 10.02.2021
Tomcat на Ubuntu не устанавливается из репозитория (в отличие от некоторых других дистрибутивов Linux, например, CentOS). Поэтому в данной инструкции мы выполним ручную установку — развертывание дополнительных компонентов (Java), загрузку и распаковку пакета веб-сервера Tomcat, а также настройку его автоматического запуска в случае сбоя или после перезагрузки системы. На момент обновления инструкции использовался Tomcat версии 10 и Ubuntu 20.04.
Подготовка системы
* где Europe/Moscow — московское время. Список всех возможных зон смотрим командой timedatectl list-timezones. Устанавливаем сервис для автоматической синхронизации времени, а также разрешаем его автозапуск:
* 8080 — порт по умолчанию, на котором работает Tomcat. Если мы заходим поменять данный порт, то нужно будет открыть именно его. Сохраняем правила — для этого устанавливаем утилиту iptables-persistent:
Подготовка к установке
Установка JAVA
* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu. Если в системе окажется несколько версий 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)
Создание пользователя
- -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 секунд.
Из данных опций, возможно вам захочется поменять CATALINA_OPTS, например, задать другие значения для выделения памяти или указать определенный порт. Остальные опции можно оставить.
Перечитываем новый конфигурационный файл в systemd:
Проверяем, что он запустился и работает:
Мы должны увидеть что-то на подобие:
• tomcat.service — Apache Tomcat Server
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-09 10:30:25 UTC; 22h ago
Main PID: 14645 (java)
При необходимости перезапуска сервиса, можно будет использовать команду:
Теперь открываем нашу страницу по IP-адресу сервера — мы снова должны увидеть стартовую страницу Tomcat.
Доступ к Managing Tomcat
Мы можем использовать веб-интерфейс для управления Tomcat. Для этого используются кнопки на стартовой странице:
По умолчанию, доступ закрыт в данные разделы. Пошагово, настроим доступ в каждый из них.
Создание служебного пользователя
Создаем пользователя, под которым мы будем авторизовываться в системе.
Внутрь раздела tomcat-users добавим:
* в данном примере мы создадим пользователя admin с паролем password и ролями admin-gui, manager-gui.
Server Status и Manager App
Разделы позволяют получить доступ к статистике и управлению веб-приложениями. Они настраиваются вместе.
. и добавляем IP-адрес компьютера, с которого будем подключаться, например:
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к статистике сервера и управлению веб-приложениями.
Пробуем зайти на стартовую страницу и перейти в раздел Server Status:
Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.
Теперь переходим в раздел Manager App:
Мы должны увидеть раздел «Управление веб-приложениями Tomcat».
Host-Manager
В данном разделе можно управлять виртуальными серверами.
. и добавляем IP-адрес компьютера, с которого будем подключаться, например:
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к управлению виртуальными серверами.
Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:
Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».
Поменять порт
По умолчанию, Tomcat запускается на порту 8080. Чтобы сменить номер, открываем файл:
How Do I Start and Stop Apache Tomcat on Linux?
Apache Tomcat is a free, open-source web server and servlet container to implement the Java Servlet and the JavaServer Page specifications developed by the Apache Software Foundation to provide an HTTP server for Java Applications.
This tutorial will discuss two ways to start or stop the Apache Tomcat service on your Linux machine.
Method 1 – Startup Scripts
Apache Tomcat comes with startup scripts that you can use to start or stop the service. This method applies when you have an Apache Tomcat server installed as a binary release using a .zip or .tar archive.
If so, start by navigating to the bin directory of the Apache Tomcat as:
Inside the bin directory, you can view all the scripts to manage the service using the ls command:
To start the Apache Tomcat service using its startup script, run the script as:
NOTE: Ensure you have executed permissions for the scripts in this directory.
Once you execute the startup script, you should see an output indicating whether the Tomcat service is up.
Using CATALINA_BASE: / home / debian / apache-tomcat-10.0.10
Using CATALINA_HOME: / home / debian / apache-tomcat-10.0.10
Using CATALINA_TMPDIR: / home / debian / apache-tomcat-10.0.10 / temp
Using CLASSPATH: / home / debian / apache-tomcat-
10.0.10 / bin / bootstrap.jar: / home / debian / apache-tomcat-10.0.10 / bin / tomcat-juli.jar
By default, the Apache Tomcat service runs on port 8080; you can verify if it’s running using the lsof utility as:
The above command should show port 8080 as LISTEN:
COMMAND PID USER FD TYPE DEVICE SIZE / OFF NODE NAME
java 1562 debian 41u IPv6 1598 0t0 TCP * : 8080 ( LISTEN )
java 1562 debian 52u IPv6 19670 0t0 TCP 127.0.0.1: 8005 ( LISTEN )
To stop the Apache Tomcat service, run the shutdown script as:
You should get an example output as shown below:
Using CATALINA_BASE: / home / debian / apache-tomcat-10.0.10
Using CATALINA_HOME: / home / debian / apache-tomcat-10.0.10
Using CATALINA_TMPDIR: / home / debian / apache-tomcat-10.0.10 / temp
Using CLASSPATH: / home / debian / apache-tomcat-
10.0.10 / bin / bootstrap.jar: / home / debian / apache-tomcat-10.0.10 / bin / tomcat-juli.jar
Adding to PATH
Although starting up Apache Tomcat using its startup scripts is easy, you must specify the full path or be in the bin directory.
To resolve this, you can add the directory to the $PATH variable using the command:
Once you have the apache tomcat directory in your path, you can run the scripts from any location without specifying the full path.
You can also use the catalina.sh script to start and stop the apache service.
To start and stop the apache service respectively.
Method 2 – Using Systemctl
Another way to manage the Apache Tomcat service is to use systemctl. This method will work if Apache Tomcat is installed from the system repositories such as APT and RPM.
To start the tomcat service, use the command:
To stop the service, enter the command:
Using Custom Unit File
You will notice that the above commands only work if you have the Apache Tomcat server installed from the system packages.
If you have Tomcat installed manually from a zip or tar package, you can create a custom unit file to manage the service using the systemd.
The following is an example tomcat.service file.
sudo touch / etc / systemd / system / tomcat.service
sudo vim / etc / systemd / system / tomcat.service
Enter the unit file contents as:
Description = «Apache Tomcat»
ExecStart = / home / debian / apache-tomcat-10.0.10 / bin / startup.sh
ExecStop = / home / debian / apache-tomcat-10.0.10 / bin / shutdown.sh
Next, reload the system daemon to load the new unit file as:
Finally, manage the tomcat service using the system as:
sudo systemctl start tomcat.service
sudo systemctl stop tomcat.service
Using the methods discussed above, you can now manage the Apache Tomcat service easily.
Conclusion
This article has covered two ways to start and stop the Apache Tomcat service depending on various installation methods.
About the author
John Otieno
My name is John and am a fellow geek like you. I am passionate about all things computers from Hardware, Operating systems to Programming. My dream is to share my knowledge with the world and help out fellow geeks. Follow my content by subscribing to LinuxHint mailing list