diff --git a/SDIS29ansible/ansible/.ppebase.yml.swp b/SDIS29ansible/ansible/.ppebase.yml.swp new file mode 100644 index 0000000..a263f08 Binary files /dev/null and b/SDIS29ansible/ansible/.ppebase.yml.swp differ diff --git a/SDIS29ansible/ansible/.test.yml.swp b/SDIS29ansible/ansible/.test.yml.swp new file mode 100644 index 0000000..e69de29 diff --git a/SDIS29ansible/ansible/hosts b/SDIS29ansible/ansible/hosts new file mode 100644 index 0000000..946e140 --- /dev/null +++ b/SDIS29ansible/ansible/hosts @@ -0,0 +1,3 @@ +[adm] +srvtomcat + diff --git a/SDIS29ansible/ansible/invent b/SDIS29ansible/ansible/invent new file mode 100644 index 0000000..5662a11 --- /dev/null +++ b/SDIS29ansible/ansible/invent @@ -0,0 +1 @@ +srvtomcat diff --git a/SDIS29ansible/ansible/roles/db/handlers/main.yml b/SDIS29ansible/ansible/roles/db/handlers/main.yml new file mode 100644 index 0000000..598434d --- /dev/null +++ b/SDIS29ansible/ansible/roles/db/handlers/main.yml @@ -0,0 +1,15 @@ +handlers: +- name: Reload Apache + service: + name: apache2 + state: reloaded + +- name: Restart Apache + service: + name: apache2 + state: restarted + +- name: Restart mysql + service: + name: mysql + state: restarted diff --git a/SDIS29ansible/ansible/roles/db/tasks/main.yml b/SDIS29ansible/ansible/roles/db/tasks/main.yml new file mode 100644 index 0000000..edd16dd --- /dev/null +++ b/SDIS29ansible/ansible/roles/db/tasks/main.yml @@ -0,0 +1,41 @@ +--- +- hosts: all + tasks: + - name: installation de apache + package: + name: apache2 + state: latest + enabled: yes + + - name: installation de mysql + package: + name: mysql + state: latest + enabled: yes + + - name: installation de mariadb + package: + name: mariadb-server + state: latest + enabled: yes + + - name: initialisation du mot de passe root + mysql_user: + name: root + password: "{{ Azerty1+ }}" + login_unix_socket: /var/run/mysqld/mysqld.sock + + - name: suppression de tous les utilisateurs inconnus + mysql_user: + name: '' + host_all: yes + state: absent + login_user: root + login_password: "{{ Azerty1+ }}" + + - name: suppression de la database test de mysql + mysql_db: + name: test + state: absent + login_user: root + login_password: "{{ mysql_root_password }}" diff --git a/SDIS29ansible/ansible/roles/tomcat/defaults/main.yml b/SDIS29ansible/ansible/roles/tomcat/defaults/main.yml new file mode 100644 index 0000000..0fd6883 --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/defaults/main.yml @@ -0,0 +1,3 @@ +--- +tomcat_archive_url: http://depl/store/apache-tomcat-10.0.13.tar.gz +tomcat_archive_dest: /tmp/apache-tomcat-{{ tomcat_ver }}.tar.gz diff --git a/SDIS29ansible/ansible/roles/tomcat/handlers/main.yml b/SDIS29ansible/ansible/roles/tomcat/handlers/main.yml new file mode 100644 index 0000000..02c4fcb --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/handlers/main.yml @@ -0,0 +1,4 @@ +- name: restart tomcat + service: + name: tomcat + state: restarted diff --git a/SDIS29ansible/ansible/roles/tomcat/tasks/main.yml b/SDIS29ansible/ansible/roles/tomcat/tasks/main.yml new file mode 100644 index 0000000..78a4ef0 --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/tasks/main.yml @@ -0,0 +1,73 @@ +- name: Ensure the system can use the HTTPS transport for APT. + stat: + path: /usr/lib/apt/methods/https + register: apt_https_transport +- name: Install 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: Install Default Java (Debian/Ubuntu) + apt: + name: default-jdk + state: present +- name: Add tomcat group + group: + name: tomcat +- name: Add "tomcat" user + user: + name: tomcat + group: tomcat + home: /usr/share/tomcat + createhome: no + system: yes +- name: Download Tomcat + get_url: + url: "http://depl/store/apache-tomcat-10.0.13.tar.gz" + dest: "{{ tomcat_archive_dest }}" +- name: Create a tomcat directory + file: + path: /usr/share/tomcat + state: directory + owner: tomcat + group: tomcat +- name: Extract tomcat archive + unarchive: + src: "{{ tomcat_archive_dest }}" + 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 file + template: + src: tomcat.service.j2 + dest: /etc/systemd/system/tomcat.service + when: ansible_service_mgr == "systemd" +- name: Start and enable tomcat + service: + daemon_reload: yes + name: tomcat + state: started + enabled: yes + when: ansible_service_mgr == "systemd" +- 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 diff --git a/SDIS29ansible/ansible/roles/tomcat/templates/context.xml.j2 b/SDIS29ansible/ansible/roles/tomcat/templates/context.xml.j2 new file mode 100644 index 0000000..9265673 --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/templates/context.xml.j2 @@ -0,0 +1,19 @@ + + + + diff --git a/SDIS29ansible/ansible/roles/tomcat/templates/tomcat-users.xml.j2 b/SDIS29ansible/ansible/roles/tomcat/templates/tomcat-users.xml.j2 new file mode 100644 index 0000000..dd9bff3 --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/templates/tomcat-users.xml.j2 @@ -0,0 +1,44 @@ + + + + + + + + + + + + + diff --git a/SDIS29ansible/ansible/roles/tomcat/templates/tomcat.service.j2 b/SDIS29ansible/ansible/roles/tomcat/templates/tomcat.service.j2 new file mode 100644 index 0000000..e0d34bd --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/templates/tomcat.service.j2 @@ -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 +Environment=CATALINA_BASE=/usr/share/tomcat +Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid + +ExecStart=/usr/share/tomcat/bin/catalina.sh start +ExecStop=/usr/share/tomcat/bin/catalina.sh stop + +[Install] +WantedBy=multi-user.target diff --git a/SDIS29ansible/ansible/roles/tomcat/vars/main.yml b/SDIS29ansible/ansible/roles/tomcat/vars/main.yml new file mode 100644 index 0000000..aae9205 --- /dev/null +++ b/SDIS29ansible/ansible/roles/tomcat/vars/main.yml @@ -0,0 +1,2 @@ +--- +JAVA_HOME: /usr/lib/jvm/default-java diff --git a/SDIS29ansible/ansible/tomcat-setup.yml b/SDIS29ansible/ansible/tomcat-setup.yml new file mode 100644 index 0000000..867b571 --- /dev/null +++ b/SDIS29ansible/ansible/tomcat-setup.yml @@ -0,0 +1,14 @@ +--- +- name: Tomcat deployment playbook + hosts: all # Inventory hosts group / server to act on + become: yes # If to escalate privilege + become_method: sudo # Set become method + remote_user: root # Update username for remote server + vars: + tomcat_ver: 10.0.14 # Tomcat version to install + ui_manager_user: manager # User who can access the UI manager section only + ui_manager_pass: azerty1+ # UI manager user password + ui_admin_username: admin # User who can access bpth manager and admin UI sections + ui_admin_pass: Azerty1+ # UI admin password + roles: + - tomcat