feat: aggiunto esempio roles

This commit is contained in:
alessandro.rabiti 2024-12-05 12:28:56 +01:00
parent 5457dd94a2
commit 8c0fb192a5
12 changed files with 196 additions and 0 deletions

View file

@ -16,3 +16,8 @@ ansible-playbook -iinventory runner.yaml
```
ansible-playbook -iinventory runner.yaml --tags install
```
1) progetto_esempio -> ruolo che installa pacchetti e ruolo che aggiorna pacchetti
2) progetto_esempio2 -> ruolo che installa lbr apache e ruolo che installa webserver tomcat

View file

@ -0,0 +1,5 @@
[lbr]
devcorso1vm ansible_host=localhost
[as]
devcorso2vm ansible_host=10.248.44.79
devcorso3vm ansible_host=10.248.44.80

View file

@ -0,0 +1,4 @@
---
lbr:
- 10.248.44.79
- 10.248.44.80

View file

@ -0,0 +1,5 @@
---
- name: Restart Apache
ansible.builtin.service:
name: httpd
state: restarted

View file

@ -0,0 +1,40 @@
---
- name: Installo Apache se assente
ansible.builtin.package:
name: httpd
state: latest
- name: Start di Apache
ansible.builtin.service:
name: httpd
state: started
enabled: yes
- name: Configuro lbr Apache
ansible.builtin.copy:
dest: /etc/httpd/conf.d/lbr.conf
content: |
<VirtualHost *:80>
ServerAdmin {{ ansible_hostname }}
<Proxy balancer://as>
BalancerMember http://{{ lbr.0 }}:8080
BalancerMember http://{{ lbr.1 }}:8080
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://as/
ProxyPassReverse / balancer://as/
</VirtualHost>
owner: root
group: root
mode: '0644'
notify:
- Restart Apache
- name: Configuro motd
ansible.builtin.template:
src: motd.j2
dest: /etc/motd
owner: root
group: root
mode: '0644'

View file

@ -0,0 +1,7 @@
#############################################################
questo e' il server {{ ansible_hostname }}
LBR Apache
#############################################################

View file

@ -0,0 +1,7 @@
---
tomcat_version: "9.0.97"
tomcat_url: "https://dlcdn.apache.org/tomcat/tomcat-9/v{{ tomcat_version }}/bin/apache-tomcat-{{ tomcat_version }}.tar.gz"
tomcat_name: "apache-tomcat-{{ tomcat_version }}"
jdk_url: "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.25%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.25_9.tar.gz"
jdk_name: "OpenJDK11U-jdk_x64_linux_hotspot_11.0.25_9.tar.gz"
jdk: "jdk-11.0.25+9"

View file

@ -0,0 +1,94 @@
---
- name: Download del tomcat
ansible.builtin.get_url:
url: "{{ tomcat_url }}"
dest: /STAGE
validate_certs: false
- name: creo il gruppo tomcat
ansible.builtin.group:
name: tomcat
state: present
gid: 502
- name: creo l'utente tomcat
ansible.builtin.user:
name: tomcat
uid: 503
group: tomcat
shell: /bin/bash
- name: Creo la directory tomcat se manca
ansible.builtin.file:
path: /tomcat
state: directory
owner: tomcat
group: tomcat
mode: '0755'
- name: Scompatto il tar tomcat
ansible.builtin.unarchive:
src: /STAGE/{{ tomcat_name }}.tar.gz
dest: /tomcat/
remote_src: true
- name: Correzione permessi
ansible.builtin.file:
path: /tomcat/{{ tomcat_name }}
owner: tomcat
group: tomcat
recurse: true
- name: Download jdk
ansible.builtin.get_url:
url: "{{ jdk_url }}"
dest: /STAGE
validate_certs: false
- name: Scompatto il tar jdk
ansible.builtin.unarchive:
src: /STAGE/{{ jdk_name }}
dest: /opt/
remote_src: true
- name: Import del setenv.sh
ansible.builtin.template:
src: setenv.sh.j2
dest: /tomcat/{{ tomcat_name }}/bin/setenv.sh
owner: tomcat
group: tomcat
mode: '0644'
- name: Import webapp
ansible.builtin.copy:
src: SampleWebApp.war
dest: /tomcat/{{ tomcat_name }}/webapps/SampleWebApp.war
owner: tomcat
group: tomcat
mode: '0644'
- name: Check se tomcat attivo
ansible.builtin.shell: ps -fu tomcat | grep -w "{{ tomcat_name }} " | wc -l
register: tomcat_status
- name: Stop del tomcat
ansible.builtin.command:
cmd: sudo su -c "/tomcat/{{ tomcat_name }}/bin/shutdown.sh -force" -s /bin/sh tomcat
when: tomcat_status.stdout != "0"
- name: Start del tomcat
ansible.builtin.command:
cmd: sudo su -c "/tomcat/{{ tomcat_name }}/bin/startup.sh" -s /bin/sh tomcat
- name: Setup motd
ansible.builtin.template:
src: motd.j2
dest: /etc/motd
owner: root
group: root
mode: '0644'
- name: Stampo a video un messaggio
ansible.builtin.debug:
msg: "Per testare chiamare via browser il seguente URL: http://10.248.44.78/SampleWebApp/SnoopServlet"
run_once: true

View file

@ -0,0 +1,8 @@
##########################################################################
AS {{ ansible_hostname }}
Tomcat shutdown HTTP jdk
/tomcat/{{ tomcat_name }} 8005 8080 {{ jdk }}
##########################################################################

View file

@ -0,0 +1,9 @@
### Opzioni cup2000
export UMASK="0022"
export CATALINA_BASE=/tomcat/{{ tomcat_name }}
export CATALINA_HOME=/tomcat/{{ tomcat_name }}
export CATALINA_TMPDIR=$CATALINA_HOME/temp
export CATALINA_PID=$CATALINA_HOME/tomcat.pid
export JAVA_HOME="/opt/{{ jdk }}"
export JAVA_OPTS="-server -Djava.awt.headless=true -Xms1024m -Xmx1024m"
export CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=Europe/Rome -Duser.country=IT -Duser.language=it"

View file

@ -0,0 +1,12 @@
---
- name: Setup lbr Apache
hosts: lbr
roles:
- role: apache
tags: apache
- name: Setup tomcats
hosts: as
roles:
- role: tomcat
tags: tomcat