Tomcat Playbook

This commit is contained in:
IDEZ Ugo
2021-12-14 15:11:34 +01:00
parent 971f16d426
commit 50574192c4
22 changed files with 109 additions and 93 deletions

View File

@@ -0,0 +1,2 @@
tomcat_archive_url: http://depl/store/apache-tomcat-10.0.13.tar.gz
tomcat_archive_dest: /usr/share/tomcat/

View File

@@ -0,0 +1,2 @@
tomcat_archive_url: http://depl/store/apache-tomcat-10.0.13.tar.gz
tomcat_archive_dest: /usr/share/tomcat/apache-tomcat-10.0.13.tar.gz

View File

View File

@@ -0,0 +1,74 @@
- name: Install basic packages
package:
name: ['vim','aptitude','bash-completion','tmux','tree','htop','wget','unzip','curl','git','python']
state: present
update_cache: yes
- name: installer JDK
apt:
name: openjdk-11-jdk
state: present
- name: creer le repertoire /opt/tomcat
file:
path: /usr/share/tomcat
state: directory
mode: 0755
- name: creer le groupe tomcat
group:
name: tomcat
- name: creer l'utilisateur tomcat
user:
name: tomcat
group: tomcat
home: /usr/share/tomcat
createhome: no
- name: installer TomCat
unarchive:
src: http://depl/store/apache-tomcat-10.0.13.tar.gz
dest: /usr/share/tomcat
remote_src: yes
- name: Change ownership
file:
path: /usr/share/tomcat
owner: tomcat
group: tomcat
mode: "u+rwx,g+rx,o=rx"
recurse: yes
state: directory
- name: Templating Tomcat service from local to remote
template:
src: tomcat.service.j2
dest: /etc/systemd/system/tomcat.service
when: ansible_service_mgr == "systemd"
- name: Demarrer tomcat
local_action: command sh /usr/share/tomcat/apache-tomcat-10.0.13/bin/startup.sh
- name: Definition des utilisateurs
template:
src: tomcat-users.xml.j2
dest: /usr/share/tomcat/apache-tomcat-10.0.13/conf/tomcat-users.xml
- name: Autorisation des différentes ips de connexions
template:
src: context.xml.j2
dest: "{{ item }}"
with_items:
- /usr/share/tomcat/apache-tomcat-10.0.13/webapps/host-manager/META-INF/context.xml
- /usr/share/tomcat/apache-tomcat-10.0.13/webapps/manager/META-INF/context.xml
- name: Redemarrer le service tomcat (1)
local_action: command sh /usr/share/tomcat/apache-tomcat-10.0.13/bin/shutdown.sh
- name: Redemarrer le service tomcat (2)
local_action: command sh /usr/share/tomcat/apache-tomcat-10.0.13/bin/startup.sh
- name: Redemarrer le service tomcat (3)
local_action: command sh /usr/share/tomcat/apache-tomcat-10.0.13/bin/catalina.sh start

View File

@@ -0,0 +1,100 @@
- name: on s'assure que le systeme supporte l'https
stat:
path: /usr/lib/apt/methods/https
register: apt_https_transport
- name: installer apt https transport
apt:
name: "apt-transport-https"
state: present
update_cache: yes
when: not apt_https_transport.stat.exists
- name: Install basic packages
package:
name: ['vim','aptitude','bash-completion','tmux','tree','htop','wget','unzip','curl','git','python']
state: present
update_cache: yes
- name: installer JDK
apt:
name: openjdk-11-jdk
state: present
- name: creer le repertoire /opt/tomcat
file:
path: /opt/tomcat
state: directory
mode: 0755
- name: creer le groupe tomcat
group:
name: tomcat
- name: creer l'utilisateur tomcat
user:
name: tomcat
group: tomcat
home: /user/share/tomcat
createhome: no
- name: installer TomCat
unarchive:
src: http://depl/store/apache-tomcat-10.0.13.tar.gz
dest: /opt/tomcat
remote_src: yes
- name: Change ownership
file:
path: /opt/tomcat
owner: tomcat
group: tomcat
mode: "u+rwx,g+rx,o=rx"
recurse: yes
state: directory
- name: Create a tomcat directory
file:
path: /usr/share/tomcat
state: directory
owner: tomcat
group: tomcat
- name: Extract tomcat archive
unarchive:
src: /opt/tomcat/apache-tomcat-10.0.13.tar.gz
dest: /usr/share/tomcat
owner: tomcat
group: tomcat
remote_src: yes
extra_opts: "--strip-components=1"
creates: /usr/share/tomcat/bin
- name: Copy Tomcat service from local to remote
copy:
src: tomcat.service.j2
dest: /etc/systemd/system/
mode: 0755
- name: demarrer le service TomCat
systemd:
name: tomcat
state: started
enabled: true
daemon_reload: yes
- name: Set UI access credentials
template:
src: tomcat-users.xml.j2
dest: /usr/share/tomcat/conf/tomcat-users.xml
notify: restart tomcat
- name: Allow access to Manager and Host Manager apps from any IP
template:
src: context.xml.j2
dest: "{{ item }}"
with_items:
- /usr/share/tomcat/webapps/host-manager/META-INF/context.xml
- /usr/share/tomcat/webapps/manager/META-INF/context.xml
notify: restart tomcat

View File

@@ -0,0 +1,68 @@
- name: Install basic packages
package:
name: ['vim','aptitude','bash-completion','tmux','tree','htop','wget','unzip','curl','git','python']
state: present
update_cache: yes
- name: installer JDK
apt:
name: openjdk-11-jdk
state: present
- name: creer le repertoire /opt/tomcat
file:
path: /opt/tomcat
state: directory
mode: 0755
- name: creer le groupe tomcat
group:
name: tomcat
- name: creer l'utilisateur tomcat
user:
name: tomcat
group: tomcat
home: /user/share/tomcat
createhome: no
- name: installer TomCat
unarchive:
src: http://depl/store/apache-tomcat-10.0.13.tar.gz
dest: /opt/tomcat
remote_src: yes
- name: Change ownership
file:
path: /opt/tomcat
owner: tomcat
group: tomcat
mode: "u+rwx,g+rx,o=rx"
recurse: yes
state: directory
- name: Templating Tomcat service from local to remote
template:
src: tomcat.service.j2
dest: /etc/systemd/system/
mode: 0755
- name: VRRR demarrer le service tomcat
local_action: command sh /opt/tomcat/apache-tomcat-10.0.13/bin/startup.sh
- name: Set UI access credentials
template:
src: tomcat-users.xml.j2
dest: tomcat-users.xml
notify: restart tomcat
- name: Allow access to Manager and Host Manager apps from any IP
template:
src: context.xml.j2
dest: "{{ item }}"
with_items:
- /opt/tomcat/webapps/host-manager/META-INF/context.xml
- /opt/tomcat/webapps/manager/META-INF/context.xml
notify: restart tomcat

View File

@@ -0,0 +1,76 @@
- name: Install basic packages
package:
name: ['vim','aptitude','bash-completion','tmux','tree','htop','wget','unzip','curl','git','python']
state: present
update_cache: yes
- name: installer JDK
apt:
name: openjdk-11-jdk
state: present
- name: creer le repertoire /opt/tomcat
file:
path: /opt/tomcat
state: directory
mode: 0755
- name: creer le groupe tomcat
group:
name: tomcat
- name: creer l'utilisateur tomcat
user:
name: tomcat
group: tomcat
home: /user/share/tomcat
createhome: no
- name: installer TomCat
unarchive:
src: http://depl/store/apache-tomcat-10.0.13.tar.gz
dest: /opt/tomcat
remote_src: yes
- name: Change ownership
file:
path: /opt/tomcat
owner: tomcat
group: tomcat
mode: "u+rwx,g+rx,o=rx"
recurse: yes
state: directory
- name: Templating Tomcat service from local to remote
template:
src: templates/tomcat.service.j2
dest: /etc/systemd/system/tomcat.service
when: ansible_service_mgr == "systemd"
- name: Demarrer le service tomcat
local_action: command sh /opt/tomcat/apache-tomcat-10.0.13/bin/startup.sh
- name: Set UI access credentials
template:
src: tomcat-users.xml.j2
dest: tomcat-users.xml
notify: restart tomcat
- name: Allow access to Manager and Host Manager apps from any IP
template:
src: context.xml.j2
dest: context.xml
- name: changement de la ligne dans context.xml
replace:
path: tomcat-users.xml
regexp: <user username="manager" password="root" roles="manager-gui" />
replace: <user username="tomcat" password="toor" roles="manager-gui" />
- name: Redemarrer le service tomcat (1)
local_action: command sh /opt/tomcat/apache-tomcat-10.0.13/bin/shutdown.sh
- name: Redemarrer le service tomcat (2)
local_action: command sh /opt/tomcat/apache-tomcat-10.0.13/bin/startup.sh

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<Context antiResourceLocking="false" privileged="true" >
</Context>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary. It is
strongly recommended that you do NOT use one of the users in the commented out
section below since they are intended for use with the examples web
application.
-->
<!--
NOTE: The sample user and role entries below are intended for use with the
examples web application. They are wrapped in a comment and thus are ignored
when reading this file. If you wish to configure these users for use with the
examples web application, do not forget to remove the <!.. ..> that surrounds
them. You will also need to set the passwords to something appropriate.
-->
<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="{{ ui_manager_user }}" password="{{ ui_manager_pass }}" roles="manager-gui" />
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="{{ ui_admin_username }}" password="{{ ui_admin_pass }}" roles="manager-gui,admin-gui" />
</tomcat-users>

View File

@@ -0,0 +1,22 @@
[Unit]
Description=Tomcat
After=syslog.target network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME={{ JAVA_HOME }}
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat/apache-tomcat-10.0.13
Environment=CATALINA_BASE=/usr/share/tomcat/apache-tomcat-10.0.13
Environment=CATALINA_PID=/usr/share/tomcat/apache-tomcat-10.0.13/temp/tomcat.pid
ExecStart=catalina.sh start
ExecStop=catalina.sh stop
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,2 @@
---
JAVA_HOME: /usr/lib/jvm/default-java