159 lines
5.7 KiB
Markdown
159 lines
5.7 KiB
Markdown
****************************************************************************************************
|
||
Установка 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
|
||
``` |