Введение
Apache Tomcat — это веб-контейнер, который позволяет обслуживать веб-приложения Java Servlets и Java Server Pages (JSP).
Если вы намерены установить Apache Tomcat 9 на удаленный сервер, продолжайте чтение, в противном случае, если вы хотите установить Apache Tomcat 9 на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.
Чтобы подключиться к серверу как root, введите эту команду:
ssh root@IP_DEL_SERVER
Далее вам будет предложено ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить первый параметр:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Установить Java
Tomcat требует, чтобы на сервере была установлена Java. Мы можем установить OpenJDK с помощью yum.
Установите пакет Java Development Kit с помощью yum:
sudo yum install java-1.8.0-openjdk-devel
Теперь, когда Java установлена, мы можем создать пользователя tomcat, который будет использоваться для запуска Tomcat.
Создать пользователя Tomcat
Из соображений безопасности Tomcat должен запускаться как непривилегированный (т.е. не root) пользователь. Мы создадим нового пользователя и группу, которые будут запускать службу Tomcat.
Сначала создайте новую группу tomcat:
sudo groupadd tomcat
Давайте создадим нового члена группы tomcat с домашним каталогом /opt/tomcat (куда мы установим Tomcat) и с оболочкой /bin/false (чтобы никто не мог получить доступ к учетной записи):
sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
Теперь, когда наш пользователь tomcat настроен, давайте загрузим и установим Tomcat.
Установить Томкэт
Лучший способ установить Tomcat 9 — загрузить последнюю двоичную версию и настроить ее вручную.
Найдите последнюю версию Tomcat 9 на странице загрузки Tomcat 9. На данный момент последняя версия 9.0.12. В разделе «Двоичные дистрибутивы», затем в списке «Основные» скопируйте ссылку на tar.gz.
Затем перейдите в каталог /tmp на вашем сервере. Это хороший каталог для загрузки временных элементов, таких как tar-архив Tomcat, который нам не понадобится после извлечения содержимого Tomcat:
cd /tmp
Мы используем wget для загрузки Tomcat по ссылке, скопированной с сайта Tomcat:
Если wget не установлен, введите эту команду из терминала:
sudo yum install wget
Итак, чтобы скачать Tomcat:
wget http://mirror.nohup.it/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz
Мы установим Tomcat в каталог /opt/tomcat. Создайте каталог и распакуйте архив с помощью этих команд:
sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-9.0.12.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/
Теперь, когда установлены надлежащие разрешения, мы можем создать служебный файл systemd для управления процессом Tomcat.
Системный сервис
Мы хотим запустить Tomcat как службу, поэтому мы настроим файл службы systemd.
С помощью этой информации мы можем создать служебный файл systemd. Откройте файл с именем tomcat.service в каталоге /etc/systemd/system, набрав:
sudo vi /etc/systemd/system/tomcat.service
Вставьте в файл следующее содержимое:
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
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=/bin/kill -15 $MAINPID
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 при запуске сервера, введите следующую команду:
sudo systemctl enable tomcat
Брандмауэр для Tomcat
Теперь, когда служба Tomcat запущена, давайте удостоверимся, что страница по умолчанию доступна.
Прежде чем сделать это, нам нужно изменить правила брандмауэра (если они активны).
Tomcat использует порт 8080. Чтобы разрешить трафик на этом типе порта:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Открыть в веб-браузере
http://TUO_IP:8080
Вы увидите начальную страницу Tomcat по умолчанию. Если мы попытаемся войти по некоторым ссылкам приложения управления, доступ будет запрещен. На следующем этапе мы настроим параметры доступа.
Управление котом
Чтобы использовать приложение веб-менеджера, которое поставляется с Tomcat, вам необходимо добавить логин на наш сервер Tomcat. Мы сделаем это, отредактировав файл tomcat-users.xml:
sudo vi /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 vi /opt/tomcat/webapps/manager/META-INF/context.xml
Для приложения Host Manager введите:
sudo vi /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 на CentOS 7 завершена.