Apache Tomcat - установка и настройка на Debian
tomcat
Apache Tomcat - установка и настройка на Debian
Apache Tomcat – это сервер приложений, который используется для обслуживания приложений Java. Tomcat – это открытая реализация технологий Java Servlet и JavaServer Pages.
1. Установка Java
Для работы Tomcat необходимо установить Java, иначе код Java не будет выполняться. Установите OpenJDK при помощи стандартного пакетного менеджера apt. Сначала нужно обновить индекс пакетов.
sudo apt update
Чтобы установить JDK Java Development Kit, введите:
sudo apt install default-jdk wget curl
После установки Java создайте специального пользователя tomcat для запуска сервиса Tomcat.
2. Создание пользователя Tomcat
В целях безопасности сервер Tomcat следует запускать с правами обычного пользователя.
Создаем группу и пользователя tomcat
sudo groupadd tomcatsudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
3. Установка Tomcat
Tomcat 9 проще всего установить вручную из бинарного релиза.
На сайте проекта найдите последнюю версию Tomcat. В нашем случае - 9.0.30
cd /opt
sudo wget http://mirror.linux-ia64.org/apache/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
sudo tar xvf apache-tomcat-9.0.30.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 -ljava-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
В данном случае JAVA_HOME будет выглядеть так:
echo $JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-amd64
Создаем файл службы 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/tomcatEnvironment=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:
sudo systemctl daemon-reload
Разрешаем автозапуск и стартуем tomcat:
sudo systemctl enable tomcatsudo systemctl start tomcat
Смотрим статус:
sudo systemctl status tomcat
6. Настройка брандмауэра и тестирование сервера
После запуска сервиса Tomcat нужно убедиться, что стандартная страница доступна в браузере.
Для обработки запросов Tomcat использует порт 8080. Чтобы разблокировать трафик этого порта, введите:
sudo ufw allow 8080
Или, если используете iptables:
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
Чтобы проверить доступ к сервису, наберите адрес в браузере:
На экране появится приветственная страница Tomcat, которая содержит некоторую информацию о программе.
7. Настройка веб-интерфейса Tomcat
Чтобы использовать поставляемый с Tomcat интерфейс, добавьте учетные данные на сервер Tomcat.
sudo vi /opt/tomcat/conf/tomcat-users.xml
Добавим пользователя, который будет иметь доступ к интерфейсам: 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>
Теперь надо перезапустить сервер.
sudo systemctl restart tomcat
8. Доступ к веб-интерфейсу
Теперь сервер Tomcat запущен. Откройте в браузере веб-интерфейс.
На экране появится страница с сообщением:
If you’re seeing this, you’ve successfully installed Tomcat. Congratulations!
Также на этой странице есть ссылки на веб-приложения админа, для которых ранее была создана учётная запись администратора.
Теперь откройте приложение Manager App по ссылке:
http://server_IP:8080/manager/html
По запросу введите свои учетные данные.
Этот менеджер нужен для управления приложениями Java.
Теперь откройте Host Manager:
http://server_IP:8080/host-manager/html/
Страница Virtual Host Manager нужна для управления виртуальными хостами; она позволяет добавлять виртуальные хосты для развёртывания приложений.
Теперь сервер Tomcat полностью готов к работе с приложениями Java без шифрования.