Apache Tomcat - установка и настройка на Debian
Apache Tomcat – это сервер приложений, который используется для обслуживания приложений Java. Tomcat – это открытая реализация технологий Java Servlet и JavaServer Pages.
1: Установка Java
Для работы Tomcat необходимо установить Java, иначе код Java не будет выполняться. Установите OpenJDK при помощи стандартного пакетного менеджера apt.
Сначала нужно обновить индекс пакетов.
Чтобы установить JDK (Java Development Kit), введите:
После установки Java создайте специального пользователя tomcat для запуска сервиса Tomcat.
2: Создание пользователя Tomcat
В целях безопасности сервер Tomcat следует запускать с правами обычного пользователя.
Создаем группу и пользователя tomcat
3: Установка Tomcat
Tomcat 9 проще всего установить вручную из бинарного релиза.
На сайте проекта найдите последнюю версию Tomcat. В нашем случае - 9.0.30
cd /opt
sudo wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/src/apache-tomcat-9.0.30-src.tar.gz
sudo tar xvf apache-tomcat-9.0.30-src.tar.gz
sudo ln -s apache-tomcat-9.0.30 tomcat
4: Настройка доступа
Пользователь tomcat должен иметь доступ к каталогу /opt/tomcat.
Передайте пользователю tomcat права на каталог:
sudo chgrp -R tomcat /opt/tomcat
sudo chown -R tomcat webapps/ work/ temp/ logs/
sudo chmod -R g+r conf
sudo chmod g+x conf
5: Создание сервиса systemd
Чтобы запустить Tomcat как сервис, нужно создать service-файл systemd.
Надо определить переменную JAVA_HOME. Чтобы узнать, где расположена java:
sudo update-java-alternatives -l
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
В данном случае JAVA_HOME будет выглядеть так:
Создаем файл службы tomcat.
cat << EOF > /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.8.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
EOF
Перезапускаем демона systemd:
Разрешаем автозапуск и стартуем tomcat: Смотрим статус:6: Настройка брандмауэра и тестирование сервера
После запуска сервиса Tomcat нужно убедиться, что стандартная страница доступна в браузере.
Для обработки запросов Tomcat использует порт 8080. Чтобы разблокировать трафик этого порта, введите:
На экране появится приветственная страница Tomcat, которая содержит некоторую информацию о программе.
7: Настройка веб-интерфейса Tomcat
Чтобы использовать поставляемый с Tomcat интерфейс, добавьте учетные данные на сервер Tomcat.
Добавим пользователя, который будет иметь доступ к интерфейсам: manager-gui и admin-gui.<tomcat-users . . .>
<user username="admin" password="strong_pass" roles="manager-gui,admin-gui"/>
</tomcat-users>
По умолчанию Tomcat ограничивает доступ к приложениям по IP-адресам. Изменить это можно в файлах context.xml.
/opt/tomcat/webapps/manager/META-INF/context.xml
/opt/tomcat/webapps/host-manager/META-INF/context.xml
Можно закомментивать ограничения IP-адресов, или вписать свои IP.
<Context antiResourceLocking="false" privileged="true" >
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>
Теперь надо перезапустить сервер.
8: Доступ к веб-интерфейсу
Теперь сервер Tomcat запущен. Откройте в браузере веб-интерфейс.
На экране появится страница с сообщением:Также на этой странице есть ссылки на веб-приложения админа, для которых ранее была создана учётная запись администратора.
Теперь откройте приложение Manager App по ссылке:
Этот менеджер нужен для управления приложениями Java.
Теперь откройте Host Manager:
Страница Virtual Host Manager нужна для управления виртуальными хостами; она позволяет добавлять виртуальные хосты для развёртывания приложений.
Теперь сервер Tomcat полностью готов к работе с приложениями Java без шифрования.