+
This commit is contained in:
159
Tomcat_install.md
Normal file
159
Tomcat_install.md
Normal file
@ -0,0 +1,159 @@
|
||||
****************************************************************************************************
|
||||
Установка 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
|
||||
```
|
||||
Reference in New Issue
Block a user