Как установить Apache Tomcat 8.5 на CentOS 7.3
Это руководство существует для этих версий ОС
- CentOS 7.3
- CentOS 7
На этой странице
- Шаг 1. Установите Java (JRE и JDK)
- Шаг 2. Настройка домашней среды Java
- Шаг 3. Установите Apache Tomcat 8.5
- Шаг 4. Тестирование Apache Tomcat
- Шаг 5. Настройка службы Apache Tomcat
- Шаг 6. Настройка пользователей Apache Tomcat
- Шаг 7. Настройка Firewalld
- Шаг 8. Тестирование
- Ссылки
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/