baltun
Администратор
- Сообщения
- 12.282
- Реакции
- 3.082
- Баллы
- 1.833
В этом руководстве описываются шаги, необходимые для установки Tomcat 9.0 на CentOS 7.
Установка OpenJDK.
Tomcat 9 требует Java SE 8 или более поздней версии. В этом уроке мы установим OpenJDK, реализация с открытым исходным кодом на платформе Java, которая является развитием по умолчанию Java для CentOS 7.
Запуск Tomcat в качестве пользователя root представляет собой угрозу безопасности и не считается наилучшей практикой. Мы создадим нового пользователя системы и группу с домашним каталогом /opt/tomcat который будет запускать службу Tomcat:
Скачиваем Tomcat 9 разархивируем и переносим в нужный каталог:
Tomcat 9 часто обновляется. Для того, чтобы иметь больше контроля над версиями и обновлениями, мы создадим символическую ссылку , latest которая будет указывать на директорию установки Tomcat:
Создаем службу для запуска демона Tomcat:
Содержимое файла:
Включаем и смотрим статус службы:
Вывод статуса:
Открываем порт 8080 в фаерволе:
Добавляем роли:
Содержимое:
Открывает доступ к Tomcat из интернета /opt/tomcat/latest/webapps/manager/META-INF/context.xml:
Открывает доступ для адреса например 41.41.41.41 /opt/tomcat/latest/webapps/manager/META-INF/context.xml:
Перезапускам Tomcat:
После всех настроек смотрим доступность http://<your_domain_or_IP_address>:8080

Установка OpenJDK.
Tomcat 9 требует Java SE 8 или более поздней версии. В этом уроке мы установим OpenJDK, реализация с открытым исходным кодом на платформе Java, которая является развитием по умолчанию Java для CentOS 7.
Код:
sudo yum install java-1.8.0-openjdk-devel
Запуск Tomcat в качестве пользователя root представляет собой угрозу безопасности и не считается наилучшей практикой. Мы создадим нового пользователя системы и группу с домашним каталогом /opt/tomcat который будет запускать службу Tomcat:
Код:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Скачиваем Tomcat 9 разархивируем и переносим в нужный каталог:
Код:
cd /tmp
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
tar -xf apache-tomcat-9.0.14.tar.gz
sudo mv apache-tomcat-9.0.14 /opt/tomcat/
Tomcat 9 часто обновляется. Для того, чтобы иметь больше контроля над версиями и обновлениями, мы создадим символическую ссылку , latest которая будет указывать на директорию установки Tomcat:
Код:
sudo ln -s /opt/tomcat/apache-tomcat-9.0.14 /opt/tomcat/latest
sudo chown -R tomcat: /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Создаем службу для запуска демона Tomcat:
Код:
sudo nano /etc/systemd/system/tomcat.service
Содержимое файла:
Код:
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Включаем и смотрим статус службы:
Код:
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat
sudo systemctl status tomcat
Вывод статуса:
Код:
tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-11-15 20:47:50 UTC; 4s ago
Process: 1759 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1767 (java)
CGroup: /system.slice/tomcat.service
Открываем порт 8080 в фаерволе:
Код:
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Добавляем роли:
Код:
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
Содержимое:
Код:
<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>
Открывает доступ к Tomcat из интернета /opt/tomcat/latest/webapps/manager/META-INF/context.xml:
Код:
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0000:1" />
-->
</Context>
Открывает доступ для адреса например 41.41.41.41 /opt/tomcat/latest/webapps/manager/META-INF/context.xml:
Код:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0000:1|41.41.41.41" />
</Context>
Перезапускам Tomcat:
Код:
sudo systemctl restart tomcat
После всех настроек смотрим доступность http://<your_domain_or_IP_address>:8080
