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

Как установить Apache Tomcat 8.5 на CentOS 7.3


Это руководство существует для этих версий ОС

  • CentOS 7.3
  • CentOS 7

На этой странице

  1. Шаг 1. Установите Java (JRE и JDK)
  2. Шаг 2. Настройка домашней среды Java
  3. Шаг 3. Установите Apache Tomcat 8.5
  4. Шаг 4. Тестирование Apache Tomcat
  5. Шаг 5. Настройка службы Apache Tomcat
  6. Шаг 6. Настройка пользователей Apache Tomcat
  7. Шаг 7. Настройка Firewalld
  8. Шаг 8. Тестирование
  9. Ссылки

Apache Tomcat — это реализация сервлета Java с открытым исходным кодом, разработанная Apache Software Foundation. Помимо сервлетов Java, Tomcat реализует несколько других серверных технологий Java, включая JavaServer Pages (JSP), Java Expression Language и Java WebSocket. Tomcat предоставляет веб-сервер HTTP для приложений Java с поддержкой HTTP/2, OpenSSL для JSSE и виртуального хостинга TLS.

В этом руководстве я покажу вам, как установить и настроить Apache Tomcat 8.5 на сервере CentOS 7 и как установить и настроить Java на сервере CentOS, что является одним из предварительных условий для Tomcat.

Предпосылки

  • Сервер с CentOS 7 — 64-разрядная версия
  • 2 ГБ или более ОЗУ (рекомендуется)
  • Права root на сервере

Шаг 1. Установите Java (JRE и JDK)

На этом этапе мы установим Java JRE и JDK из репозитория CentOS. Мы установим Java 1.8.11 на сервер с помощью команды yum.

Запустите эту команду, чтобы установить Java JRE и JDK из репозитория CentOS с помощью yum:

yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

Это займет некоторое время, дождитесь завершения установки.

Затем вы должны проверить версию Java с помощью следующей команды:

java -version

Вы должны увидеть результаты, подобные приведенным ниже:

openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

Шаг 2. Настройка домашней среды Java

На первом этапе мы установили Java. Теперь нам нужно настроить переменную среды JAVA_HOME на сервере CentOS, чтобы приложения Java могли найти правильную версию Java, а Tomcat требует правильной настройки среды JAVA_HOME, поэтому нам нужно ее настроить.

Прежде чем мы настроим среду JAVA_HOME, нам нужно знать, где находится каталог Java. Проверьте каталог Java с помощью следующей команды:

sudo update-alternatives --config java

Каталог Java=\/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre\

Затем отредактируйте файл среды с помощью vim:

vim /etc/environment

Добавьте переменную среды JAVA_HOME, добавив следующую конфигурацию:

JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre"

Сохраните файл /etc/environment и выйдите из vim.

Затем отредактируйте файл .bash_profile и добавьте также переменную JAVA_HOME:

vim ~/.bash_profile

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

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH

Сохраните файл, затем перезагрузите файл bash_profile.

source ~/.bash_profile

Убедитесь, что нет ошибки. Наконец, проверьте переменную среды JAVA_HOME:

echo $JAVA_HOME

Вы увидите каталог путей Java.

Шаг 3. Установите Apache Tomcat 8.5.

На этом шаге мы установим Apache Tomcat под пользователем tomcat (которого мы должны сначала создать).

Создайте пользователя и группу с именем tomcat:

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

Примечание:
-s /bin/false=отключить доступ к оболочке
-g tomcat=добавить нового пользователя в группу tomcat
-d /opt/tomcat=определить домашний каталог для пользователя

Затем перейдите в каталог /opt и загрузите tomcat с помощью команды wget:

cd /opt/
wget http://mirror.wanxp.id/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz

Извлеките Tomcat и переместите все файлы и каталоги из каталога apache-tomcat-8.5.6 в каталог tomcat.

tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6/* tomcat/

Теперь измените владельца каталога tomcat на пользователя и группу tomcat.

chown -hR tomcat:tomcat tomcat

Шаг 4. Протестируйте Apache Tomcat

На шаге 3 мы установили и настроили tomcat. На этом этапе мы просто хотим запустить короткий тест, чтобы убедиться в отсутствии ошибок.

Перейдите в каталог tomcat/bin и запустите команду startup.sh, чтобы протестировать Apache Tomcat:

cd /opt/tomcat/bin/
./startup.sh

Убедитесь, что в результате Tomcat запущен.

Tomcat сейчас использует порт 8080, проверьте открытый порт на сервере с помощью команды netstat.

netstat -plntu

Или посетите IP-адрес сервера с портом 8080 — в моем случае 192.168.1.120:8080 — с помощью веб-браузера. Вы увидите страницу Apache Tomcat по умолчанию.

Далее останавливаем Apache Tomcat и потому мы будем запускать именно Tomcat с служебным файлом systemd в окончательной конфигурации. Убедитесь, что каталог tomcat принадлежит пользователю и группе tomcat.

cd /opt/tomcat/bin/
./shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/

Шаг 5 — Настройка службы Apache Tomcat

В этом руководстве мы запустим Apache Tomcat от имени пользователя tomcat с файлом службы systemd для простого запуска и остановки службы. Итак, следующим шагом будет создание файла tomcat.service.

Перейдите в системный каталог systemd и создайте новый файл tomcat.service.

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

Вставьте конфигурацию ниже:

[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из vim.

Перезагрузите демон systemd, затем запустите и добавьте службу Apache Tomcat во время загрузки.

systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat

Теперь убедитесь, что Tomcat работает, проверив открытый порт 8080.

netstat -plntu

И проверьте статус кота, убедитесь, что служба активна.

systemctl status tomcat

Шаг 6. Настройка пользователей Apache Tomcat

На этом этапе мы настроим пользователей для Apache Tomcat. Tomcat установлен и работает по умолчанию на порту 8080, мы можем получить к нему доступ через веб-браузер, но пока не можем получить доступ к панели управления сайтом. Чтобы включить и настроить пользователей Tomcat, отредактируйте файл tomcat-users.xml.

Перейдите в каталог конфигурации tomcat и отредактируйте файл tomcat-users.xml с помощью vim.

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

Создайте новую строку под строкой 43 и вставьте конфигурацию ниже:

<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>

Сохраните файл и выйдите из vim.

Затем перейдите в каталог менеджера и отредактируйте файл context.xml.

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

Закомментируйте строки 19 и 20.

<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>

Сохраните файл и выйдите из vim.

Перейдите в каталог host-manager и снова отредактируйте файл context.xml.

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

Снова закомментируйте строки 19 и 20.

<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.

systemctl restart tomcat

Шаг 7 — Настройте Firewalld

В CentOS 7 у нас есть инструмент брандмауэра по умолчанию с именем firewalld. Он заменяет интерфейс iptables и подключается к коду ядра Netfilter.

На этом шаге мы запустим службу firewalld и откроем порт 8080, чтобы получить доступ к серверу Apache Tomcat извне сети.

Запустите службу firewalld и добавьте ее для запуска во время загрузки с помощью команды systemctl.

systemctl start firewalld
systemctl enable firewalld

Затем добавьте порт 8080 apache tomcat в брандмауэр с помощью команды firewall-cmd и перезагрузите службу firewalld.

firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload

Убедитесь, что все службы доступны в брандмауэре, и убедитесь, что порт 8080 Apache Tomcat открыт.

firewall-cmd --list-ports
firewall-cmd --list-services

Порт Apache Tomcat 8080 доступен из-за пределов сети, и порт ssh также открыт по умолчанию.

Шаг 8 — Тестирование

Откройте веб-браузер и введите IP-адрес вашего сервера с портом 8080. Вы увидите страницу по умолчанию Apache Tomcat.

Перейдите на панель управления менеджера с URL-адресом ниже:

Введите имя пользователя администратора admin с паролем mypassword, конфигурацию, которую мы сделали на шаге 5.

Теперь перейдите на панель управления хост-менеджером с URL-адресом ниже:

Введите пользователя и пароль администратора, которые вы установили на шаге 5, вы увидите диспетчер виртуального хоста Tomcat.

Apache Tomcat 8.5 был установлен на сервере CentOS 7.

Ссылки

  • http://tomcat.apache.org/