Files
Ubuntu_docs/Tomcat_install.md
Igor I c060952ee2 +
2025-02-25 19:29:07 +05:00

159 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

****************************************************************************************************
Установка TomCat на Ubuntu 23.04 по руководству из https://www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804
```sh
ssh administrator@10.101.1.3 -p 22
```
Обновляем пакеты:
```sh
sudo apt-get update
```
Устанавливаем Java Development Kit 8 (не ниже 8й версии) (так старая установиться: sudo apt-get install default-jdk)
```sh
sudo apt install openjdk-21-jdk openjdk-21-jre -y &&
java -version
```
Создаём группу для томкат пользователя:
```sh
sudo groupadd tomcat
```
Создаём пользователя:
```sh
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
```
Скачиваю tomcat:
```sh
cd /tmp &&
curl -O https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.30/bin/apache-tomcat-10.1.30.tar.gz
```
Извлекаю tomcat:
```sh
sudo mkdir /opt/tomcat &&
sudo tar xzvf apache-tomcat-10*.tar.gz -C /opt/tomcat --strip-components=1
```
Обновляю владельца папки:
```sh
cd /opt/tomcat &&
sudo chown tomcat:tomcat -R /opt/tomcat &&
sudo chgrp -R tomcat /opt/tomcat &&
sudo chmod -R g+r conf &&
sudo chmod g+x conf &&
sudo chown -R tomcat webapps/ work/ temp/ logs/
```
Указываем где находится java:
```sh
sudo update-java-alternatives -l
Выдаст: /usr/lib/jvm/java-1.21.0-openjdk-amd64
sudo mcedit /etc/environment
Записать: JAVA_HOME="/usr/lib/jvm/java-1.21.0-openjdk-amd64"
echo $JAVA_HOME
```
Пропишу на всяк случай и $CATALINA_HOME (не обязательно)
```sh
sudo mcedit /etc/environment
Записать: CATALINA_HOME="/opt/tomcat"
echo $CATALINA_HOME
```
Создаём сервис для автозапуска в Ubuntu 16: https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-16-04):
```sh
sudo mcedit /etc/systemd/system/tomcat.service
```
И записываем в него следующее содержимое:
```conf
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.21.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
```
Затем:
```sh
sudo systemctl daemon-reload &&
sudo systemctl start tomcat &&
sudo systemctl status tomcat
```
Для автозапуска сервиса томката выполнить команду:
```sh
sudo systemctl enable tomcat
```
Разрешаем порт в фаерволе:
```sh
sudo ufw allow 8080
```
Для использования менеджера веб. приложений томката настраиваем пользователя:
```sh
sudo mcedit /opt/tomcat/conf/tomcat-users.xml
```
В этот файл добавить роли в раздел <tomcat-users>...</tomcat-users> запихнуть:
```xml
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager"/>
<role rolename="admin-gui"/>
<role rolename="admin"/>
<user username="tomcat" password="igareb0s" roles="admin-gui, tomcat, manager-gui, manager-script, manager,admin"/>
```
Также закоментить содержимое тега Context в sudo mcedit $CATALINA_HOME/webapps/manager/META-INF/context.xml см.: http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access
```xml
<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>
```
Для того чтобы поменять порт на 80 нужно в: sudo mcedit /opt/tomcat/conf/server.xml
```xml
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>
```
Также при помощи authbind разрешить не-root программе быть назначенными младшим портам:
```sh
sudo apt-get install authbind &&
sudo touch /etc/authbind/byport/80 &&
sudo chmod 500 /etc/authbind/byport/80 &&
sudo chown tomcat /etc/authbind/byport/80
```
Создать файл $CATALINA_HOME/bin/setenv.sh и добавить строку:
```conf
CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
AUTHBIND=yes
```
Также заменить в $CATALINA_HOME/bin/startup.sh заменить: exec "$PRGDIR"/"$EXECUTABLE" start "$@" на
```conf
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
```
Так как размер WAR архива может быть большим чем 52428800 байт то в файле sudo mcedit /opt/tomcat/webapps/manager/WEB-INF/web.xml увеличиваем параметр "max-file-size" до 100000000 байт.
Перезагружаю томкат:
```sh
sudo service tomcat restart
```
Останавливаю томкат:
```sh
sudo service tomcat stop
```
Теперь можно запускать WEB интерфейс и деплоить проект:
```sh
start http://91.215.138.115:8090
```