Введение
Apache Tomcat — это веб-контейнер, который позволяет обслуживать веб-приложения Java Servlets и Java Server Pages (JSP).
Если вы намерены удаленно установить Apache Tomcat на сервер Debian 10, продолжайте чтение, в противном случае, если вы хотите установить Apache Tomcat на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Установить Java
Tomcat требует, чтобы на сервере была установлена Java. Мы можем установить OpenJDK с помощью apt-get.
Сначала обновите индекс пакета apt-get:
sudo apt-get update
Затем установите пакет Java Development Kit с помощью apt-get:
sudo apt-get install default-jdk
Теперь, когда Java установлена, мы можем создать пользователя tomcat, который будет использоваться для запуска Tomcat.
Создать пользователя Tomcat
Из соображений безопасности Tomcat должен запускаться как непривилегированный (т.е. не root) пользователь. Мы создадим нового пользователя и группу, которые будут запускать службу Tomcat.
Сначала создайте новую группу tomcat:
sudo groupadd tomcat
Давайте создадим нового члена группы tomcat с домашним каталогом /opt/tomcat (куда мы установим Tomcat) и с оболочкой /bin/false (чтобы никто не мог получить доступ к учетной записи):
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Теперь, когда наш пользователь tomcat настроен, давайте загрузим и установим Tomcat.
Установить Томкэт
Лучший способ установить Tomcat 9 — загрузить последнюю двоичную версию и настроить ее вручную.
Найдите последнюю версию Tomcat 9 на странице загрузки Tomcat 9. На данный момент последняя версия 9.0.7. В разделе «Двоичные дистрибутивы», затем в списке «Основные» скопируйте ссылку на tar.gz.
Затем перейдите в каталог /tmp на вашем сервере. Это хороший каталог для загрузки временных элементов, таких как tar-архив Tomcat, который нам не понадобится после извлечения содержимого Tomcat:
cd /tmp
Используем curl для скачивания Tomcat по ссылке, скопированной с сайта Tomcat:
Если curl не установлен, введите эту команду терминала:
sudo apt-get install curl
Итак, чтобы скачать Tomcat:
curl -O http://apache.panu.it/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz
Мы установим Tomcat в каталог /opt/tomcat. Создайте каталог и распакуйте архив с помощью этих команд:
sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-9.0.22.tar.gz -C /opt/tomcat --strip-components=1
Затем мы можем установить соответствующие права пользователя для нашей установки.
Установить разрешения
Настроенный нами пользователь tomcat должен иметь доступ к установке Tomcat.
Перейдем в каталог, в который мы распаковали установку Tomcat:
cd /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/
Затем вы можете использовать пользователя root для загрузки файлов .war в папку веб- приложений tomact. Или назначьте своего пользователя с привилегиями sudo в группу tomcat следующим образом:
sudo usermod -a -G tomcat nome_utente
Измените разрешения папки webapps, чтобы загрузить файл .war с вашим пользователем:
sudo chmod 770 /opt/tomcat/webapps
Теперь вы можете загрузить затронутые файлы в папку webapps.
В продакшене рекомендуется восстановить права доступа к папке:
sudo chmod 750 /opt/tomcat/webapps
Теперь, когда установлены надлежащие разрешения, мы можем создать служебный файл systemd для управления процессом Tomcat.
Системный сервис
Мы хотим запустить Tomcat как службу, поэтому мы настроим файл службы systemd.
Tomcat должен знать, где установлена Java. Этот путь обычно называют JAVA_HOME. Самый простой способ найти правильный путь — запустить эту команду:
sudo update-java-alternatives -l
Output
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Правильную переменную JAVA_HOME можно создать, взяв выходные данные правого столбца и добавив /jre в конце. Учитывая приведенный выше пример, правильным JAVA_HOME для этого сервера будет:
JAVA_HOME
/usr/lib/jvm/java-1.11.0-openjdk-amd64
Ваш JAVA_HOME может быть другим.
С помощью этой информации мы можем создать служебный файл systemd. Откройте файл с именем tomcat.service в каталоге /etc/systemd/system, набрав:
sudo nano /etc/systemd/system/tomcat.service
Вставьте следующее содержимое в файл. При необходимости измените значение JAVA_HOME, чтобы оно соответствовало значению, найденному в системе:
[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
Сохраним и закроем файл.
Перезагрузите демон systemd:
sudo systemctl daemon-reload
Запустите службу Tomcat, набрав:
sudo systemctl start tomcat
Проверьте на ошибки:
sudo systemctl status tomcat
Кот
Теперь, когда служба Tomcat запущена, давайте удостоверимся, что страница по умолчанию доступна.
Открыть в веб-браузере
http://TUO_IP:8080
Чтобы автоматически запускать Tomcat при запуске сервера, введите следующую команду:
sudo systemctl enable tomcat
Вы увидите начальную страницу Tomcat по умолчанию. Если мы попытаемся войти по некоторым ссылкам приложения управления, доступ будет запрещен. На следующем этапе мы настроим параметры доступа.
Управление котом
Чтобы использовать приложение веб-менеджера, которое поставляется с Tomcat, вам необходимо добавить логин на наш сервер Tomcat. Мы сделаем это, отредактировав файл tomcat-users.xml:
sudo nano /opt/tomcat/conf/tomcat-users.xml
Вам нужно будет добавить пользователя, который сможет получить доступ к графическому интерфейсу менеджера и графическому интерфейсу администратора (веб-приложениям, поставляемым с Tomcat). Вы можете сделать это, определив пользователя, как в следующем примере. Убедитесь, что вы изменили свое имя пользователя и пароль на что-то безопасное:
<tomcat-users...>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
Сохраните и закройте файл.
По умолчанию более новые версии Tomcat ограничивают доступ к приложениям Manager и Host Manager подключениями с самого сервера. Поскольку мы устанавливаем на удаленную машину, вы, вероятно, захотите удалить или изменить это ограничение. Чтобы изменить ограничения IP-адреса, откройте соответствующий файл context.xml.
Для приложения Manager введите:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
Для приложения Host Manager введите:
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
В файле закомментируйте ограничение IP-адреса, чтобы разрешить подключения из любого места. В качестве альтернативы, если вы хотите разрешить доступ к подключениям только с вашего собственного 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>
Сохраните и закройте файл.
Чтобы наши изменения вступили в силу, перезапустите службу Tomcat:
sudo systemctl restart tomcat
веб интерфейс
Теперь, когда мы создали пользователя, мы снова можем получить доступ к веб-интерфейсу управления. Опять же, вы можете получить доступ к интерфейсу, введя доменное имя или IP-адрес сервера, а затем порт 8080 в браузере:
Откройте в веб-браузере:
http://TUO_IP:8080
Приложение Manager доступно по следующему адресу:
http://TUO_IP:8080/manager/html
Вам нужно будет ввести учетные данные учетной записи, которые вы ранее добавили в файл tomcat-users.xml.
Диспетчер веб-приложений используется для управления приложениями Java.
Host Manager доступен по следующему адресу:
http://TUO_IP:8080/host-manager/html/
Установка Apache Tomcat 9 на Debian 10 завершена.