Поиск по сайту:

Как установить Apache Tomcat в Ubuntu


Если вы хотите запускать веб-страницы, содержащие код страницы сервера Java или сервлеты Java, вы можете использовать Apache Tomcat. Это веб-сервер и контейнер сервлетов с открытым исходным кодом, выпущенный Apache Software Foundation.

Tomcat можно использовать как отдельный продукт с собственным веб-сервером или в сочетании с другими веб-серверами, такими как Apache или IIS. Самая последняя версия Tomcat — 9.0.14, она создана на основе Tomcat 8 и 8.5 и реализует Servlet 4.0, JSP 2.2.

Читайте также: как установить Apache Tomcat 9 в CentOS/RHEL

В новой версии были внесены следующие улучшения:

  • Добавлена поддержка HTTP/2.
  • Добавлена поддержка использования OpenSSL для поддержки TLS с соединителями JSSE.
  • Добавлена поддержка виртуальных хостов TLS (SNI).

В этом уроке мы покажем вам, как установить Apache Tomcat 9 в Ubuntu 18.10 и более ранних версиях Ubuntu.

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

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

sudo apt update
sudo apt install default-jdk

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

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

sudo groupadd tomcat

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

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Теперь мы готовы перейти к следующему шагу и загрузить Tomcat.

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

Чтобы загрузить последний доступный пакет, перейдите на страницу загрузки Tomcat и скачайте последнюю версию.

На момент написания этого руководства последней версией Tomcat была 9.0.14. Чтобы загрузить эту версию, измените текущий каталог на другой. Например, вы можете использовать /tmp:

cd /tmp

А затем с помощью команды wget загрузите архив Tomcat:

wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512

Если вы хотите проверить сумму sha512 файла, вы можете запустить:


sha512sum apache-tomcat-9.0.14.tar.gz
cat apache-tomcat-9.0.14.tar.gz.sha512

Результирующее значение (хэш) для обоих файлов должно быть одинаковым.

Как упоминалось ранее, мы собираемся установить Tomcat в /opt/tomcat. Нам нужно будет создать этот каталог:

sudo mkdir /opt/tomcat

И теперь мы можем извлечь загруженный пакет в этот новый каталог:

sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1

Теперь перейдите в /opt/tomcat, откуда мы обновим владельца папки и разрешения:

cd /opt/tomcat

И назначьте владельца группы /opt/tomcat tomcat:

sudo chgrp -R tomcat /opt/tomcat

Затем мы обновим доступ на чтение группы tomcat к каталогу conf и установим разрешения на выполнение для этого каталога:

sudo chmod -R g+r conf
sudo chmod g+x conf

Далее мы сделаем пользователя tomcat владельцем каталогов webapps, work, temp и logs:

sudo chown -R tomcat webapps/ work/ temp/ logs/

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

Шаг 4. Создание служебного файла SystemD для Tomcat

Поскольку мы хотим запустить Tomcat как службу, нам понадобится файл, который поможет нам легко управлять этим процессом. Для этой цели мы создадим служебный файл systemd. Tomcat должен знать, где в вашей системе находится Java.

Чтобы найти это местоположение, используйте следующую команду:

sudo update-java-alternatives -l

Вывод этой команды покажет вам местоположение JAVA_HOME.

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

sudo vim  /etc/systemd/system/tomcat.service

Вставьте в файл приведенный ниже код:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

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

sudo systemctl daemon-reload

Затем запустите службу Tomcat:

sudo systemctl start tomcat

Проверить статус услуги можно с помощью:

sudo systemctl status tomcat

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

http://ip-address:8080

Результат, который вы должны увидеть, будет похож на тот, что показан на изображении ниже:

Если вы не видите приведенный выше вывод, вам может потребоваться разрешить порт 8080 в брандмауэре, как показано.

sudo ufw allow 8080

Если вы хотите, чтобы Tomcat запускался при загрузке системы, выполните:

systemctl enable tomcat

Шаг 5. Настройка Apache Tomcat

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

sudo vim /opt/tomcat/conf/tomcat-users.xml

Мы собираемся добавить пользователя, который сможет получить доступ к интерфейсам менеджера и администратора. Чтобы настроить такого пользователя, между тегами добавьте следующую строку:

<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

Обязательно измените:

  • Имя пользователя – имя пользователя, подлинность которого вы хотите аутентифицировать.
  • Пароль – пароль, который вы хотите использовать для аутентификации.

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

Для приложения Менеджер:

sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml

Для приложения «Менеджер хоста»:

sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml

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

Чтобы наши изменения вступили в силу, перезагрузите службу tomcat с помощью:

sudo systemctl restart tomcat 


Теперь вы можете протестировать приложение
менеджера, открыв http://ipaddress:8080/manager/. Когда будет предложено ввести имя пользователя и пароль, используйте те, которые вы настроили ранее. Интерфейс, который вы должны увидеть после этого, выглядит следующим образом:

Чтобы получить доступ к Менеджеру хостов, вы можете использовать http://ip-address:8080/host-manager/.

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

Шаг 6. Тестирование Apache Tomcat путем создания тестового файла

Вы можете проверить, все ли работает гладко, создав тестовый файл внутри каталога /opt/tomcat/webapps/ROOT/.

Создадим такой файл:

sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp

Внутри этого файла вставьте следующий код:

<html>
<head>
<title>Tecmint post:TomcatServer</title>
</head>
<body>

<START OF JAVA CODES>
<%
    out.println("Hello World! I am running my first JSP Application");
    out.println("<BR>Tecmint is an Awesome online Linux Resource.");
%>
<END OF JAVA CODES>

</body>
</html>

Сохраните файл и установите владельца, как показано.

sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp

Теперь загрузите этот файл в свой браузер, используя http://ip-address:8080/tecmint.jsp.

Вот и все! Вы завершили настройку сервера Apache Tomcat и запустили свой первый код Java. Мы надеемся, что этот процесс был для вас простым и понятным. Если у вас возникнут какие-либо проблемы, поделитесь своими проблемами через форму комментариев ниже.