1.Установка Java
1 |
# apt-get update && apt-get install default-jdk |
1 |
# update-alternatives --config java |
1 |
# nano /etc/environment |
1 |
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" |
1 |
# source /etc/environment |
1 |
# echo ${JAVA_HOME} |
1 |
/usr/lib/jvm/java-8-openjdk-amd64 |
1 |
# update-java-alternatives -l |
1 |
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64 |
2.Установка Tomcat
Последняя 8.5.X-версия доступна по адресу
http://tomcat.apache.org/download-80.cgi
Создаем группу и пользователя tomcat, под которыми будет запускаться Tomcat-сервер
1 |
# groupadd tomcat |
1 |
# useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
1 |
# cd /tmp/ && wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz |
1 |
# tar xvzf apache-tomcat-8*.tar.gz -C /opt/tomcat/ --strip-components=1 && rm /tmp/apache-tomcat-8* |
1 |
# chown -R tomcat /opt/tomcat/ |
Создание UNIT-файла и запуск Tomcat
1 |
# nano /etc/systemd/system/tomcat.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.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 |
1 |
# systemctl daemon-reload |
1 |
# systemctl start tomcat |
1 |
# systemctl status tomcat |
3.Настройка Iptables
1 |
# iptables -N tomcat |
1 |
# iptables -A INPUT -p tcp --dport 8080 -j tomcat |
1 |
# iptables -I tomcat -s my_ip_address -j ACCEPT |
1 |
# apt-get update && apt-get install netfilter-persistent && /etc/init.d/netfilter-persistent save |
4.Настройка Tomcat
1 |
# cp /opt/tomcat/conf/tomcat-users.xml /opt/tomcat/conf/tomcat-users.xml~ |
4.1.создаем пользователя tomcat с указанными ролями. Этот пользователь будет использовать для доступа в WEB-интерфейс
1 |
# nano /opt/tomcat/conf/tomcat-users.xml |
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="UTF-8"?> <tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="tomcat" password="tomcatpassword" roles="manager-gui,admin-gui"/> </tomcat-users> |
4.2. Настройка, разрешающая подключение к Tomcat удаленно
По умолчанию доступ к Manager и Host Manager приложениям разрешен только с Tomcat-сервера(т.е. локально)
Т.к. мы будет управлять сервисами, запущенными на Tomcat удаленно, то удалим это ограничение
1 |
# cp /opt/tomcat/webapps/manager/META-INF/context.xml /opt/tomcat/webapps/manager/META-INF/context.xml~ |
1 |
# cp /opt/tomcat/webapps/host-manager/META-INF/context.xml /opt/tomcat/webapps/host-manager/META-INF/context.xml~ |
В обоих файлах вносим одинаковые изменения
Для приложения Manager
1 |
# nano /opt/tomcat/webapps/manager/META-INF/context.xml |
Для приложения Host Manager
1 |
# nano /opt/tomcat/webapps/host-manager/META-INF/context.xml |
Комментируем блок
1 2 |
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> |
т.е. приводим его к виду
1 2 3 |
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> |
Также для разрешения доступа только с конкретных IP-адресов, их можно добавить здесь
1 |
# systemctl restart tomcat |
1 |
# systemctl status tomcat |
5.Создание для Jenkins отдельного пользователя с правом выполнять скрипты
1 |
# nano /opt/tomcat/conf/tomcat-users.xml |
1 2 3 4 |
…… <role rolename="manager-script"/> <user username="jenkins-tomcat" password="jenkins-tomcat-password" roles="manager-script"/> …… |
1 |
# systemctl restart tomcat |
Tomcat по умолчанию доступен на порту 8080
В WEB-интерфейсе для аутентификации в Tomcat используем учетку созданную в пункте 4.1
Источник:
https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-16-04