diff --git a/SDIS29-P2/ppe34test/hosts b/SDIS29-P2/ppe34test/hosts new file mode 100644 index 0000000..8aff93e --- /dev/null +++ b/SDIS29-P2/ppe34test/hosts @@ -0,0 +1,3 @@ +[local] +localhost +127.0.0.1 diff --git a/SDIS29-P2/ppe34test/ppebase.yml b/SDIS29-P2/ppe34test/ppebase.yml new file mode 100644 index 0000000..ab301bb --- /dev/null +++ b/SDIS29-P2/ppe34test/ppebase.yml @@ -0,0 +1,13 @@ +- name: Installer Tomcat et MariaDB puis lancer les services + 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.13 # Tomcat version to install + ui_manager_user: manager # User who can access the UI manager section only + ui_manager_pass: root # UI manager user password + ui_admin_username: admin # User who can access bpth manager and admin UI sections + ui_admin_pass: root # UI admin password + roles: + - ppebase diff --git a/SDIS29-P2/ppe34test/ppedb.yml b/SDIS29-P2/ppe34test/ppedb.yml new file mode 100644 index 0000000..7748ef2 --- /dev/null +++ b/SDIS29-P2/ppe34test/ppedb.yml @@ -0,0 +1,9 @@ +--- +- name: Creer la BDD, creer les comptes et injecter la BDD + hosts: all + become: yes + become_method: sudo + remote_user: root + + roles: + - ppedb diff --git a/SDIS29-P2/ppe34test/ppedbdump.yml b/SDIS29-P2/ppe34test/ppedbdump.yml new file mode 100644 index 0000000..5456474 --- /dev/null +++ b/SDIS29-P2/ppe34test/ppedbdump.yml @@ -0,0 +1,9 @@ +--- +- name: Sauvegarder la BDD + hosts: all + become: yes + become_method: sudo + remote_user: root + + roles: + - ppedbdump diff --git a/SDIS29-P2/ppe34test/roles/ppebase/defaults/main.yml b/SDIS29-P2/ppe34test/roles/ppebase/defaults/main.yml new file mode 100644 index 0000000..3ab700f --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppebase/defaults/main.yml @@ -0,0 +1,2 @@ +tomcat_archive_url: http://depl/store/apache-tomcat-10.0.13.tar.gz +tomcat_archive_dest: /usr/share/tomcat/ diff --git a/SDIS29-P2/ppe34test/roles/ppebase/tasks/main.yml b/SDIS29-P2/ppe34test/roles/ppebase/tasks/main.yml new file mode 100644 index 0000000..24cd880 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppebase/tasks/main.yml @@ -0,0 +1,96 @@ + - 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 + + + - name: on installe java + apt: + name: default-jdk + state: present + + - name: on installe les paquets de MariaDB + apt: + name: mariadb-server + state: latest + update_cache: yes + + - name: on installe Python3 + apt: + name: python3-pymysql + state: latest + + - name: on lance MariaDB + service: + name: mysql + state: started + diff --git a/SDIS29-P2/ppe34test/roles/ppebase/templates/context.xml.j2 b/SDIS29-P2/ppe34test/roles/ppebase/templates/context.xml.j2 new file mode 100644 index 0000000..9265673 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppebase/templates/context.xml.j2 @@ -0,0 +1,19 @@ + + + + diff --git a/SDIS29-P2/ppe34test/roles/ppebase/templates/tomcat-users.xml.j2 b/SDIS29-P2/ppe34test/roles/ppebase/templates/tomcat-users.xml.j2 new file mode 100644 index 0000000..dd9bff3 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppebase/templates/tomcat-users.xml.j2 @@ -0,0 +1,44 @@ + + + + + + + + + + + + + diff --git a/SDIS29-P2/ppe34test/roles/ppebase/templates/tomcat.service.j2 b/SDIS29-P2/ppe34test/roles/ppebase/templates/tomcat.service.j2 new file mode 100644 index 0000000..1c902f5 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppebase/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/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 diff --git a/SDIS29-P2/ppe34test/roles/ppebase/vars/main.yml b/SDIS29-P2/ppe34test/roles/ppebase/vars/main.yml new file mode 100644 index 0000000..aae9205 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppebase/vars/main.yml @@ -0,0 +1,2 @@ +--- +JAVA_HOME: /usr/lib/jvm/default-java diff --git a/SDIS29-P2/ppe34test/roles/ppedb/handlers/main.yml b/SDIS29-P2/ppe34test/roles/ppedb/handlers/main.yml new file mode 100644 index 0000000..fd495eb --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppedb/handlers/main.yml @@ -0,0 +1,4 @@ +- name: Restart MySQL + service: + name: mysqld + state: restarted diff --git a/SDIS29-P2/ppe34test/roles/ppedb/tasks/main.yml b/SDIS29-P2/ppe34test/roles/ppedb/tasks/main.yml new file mode 100755 index 0000000..ee6f392 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppedb/tasks/main.yml @@ -0,0 +1,31 @@ +- name: on lance MariaDB + service: + name: mysql + state: started + +- name: creation de la BDD sdis29 + mysql_db: + login_unix_socket: /var/run/mysqld/mysqld.sock + name: sdis29 + +- name: creation de l'utilisateur slam + mysql_user: + name: slam + password: Azerty1+ + priv: '*.*:ALL,GRANT' + state: present + login_unix_socket: /var/run/mysqld/mysqld.sock + + #- name: injection de la BDD + #command: scp sio@10.121.38.95:/home/sio/bdd/sdis29.sql /tmp + +- name: restauration de la bdd + mysql_db: + login_unix_socket: /var/run/mysqld/mysqld.sock + name: sdis29 + state: import + target: /tmp/sdis29.sql + login_user: slam + login_password: Azerty1+ + notify: Restart MySQL + diff --git a/SDIS29-P2/ppe34test/roles/ppedbdump/tasks/createdump.yml b/SDIS29-P2/ppe34test/roles/ppedbdump/tasks/createdump.yml new file mode 100644 index 0000000..0935ad6 --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppedbdump/tasks/createdump.yml @@ -0,0 +1,5 @@ +- name: Copie de la sauv distante + ansible.builtin.fetch: + src: /tmp/sdis29.sql + dest: /sauvegarde + flat: yes diff --git a/SDIS29-P2/ppe34test/roles/ppedbdump/tasks/createdump.yml.sv1 b/SDIS29-P2/ppe34test/roles/ppedbdump/tasks/createdump.yml.sv1 new file mode 100644 index 0000000..97da50a --- /dev/null +++ b/SDIS29-P2/ppe34test/roles/ppedbdump/tasks/createdump.yml.sv1 @@ -0,0 +1,15 @@ +- name: creer une sauvegarde + mysql_db: + name: sdis29 + state: dump + target: /tmp/sdis29.sql + login_host: localhost + login_user: slam + login_password: Azerty1+ + login_unix_user: /var/run/mysqld/mysqld.sock + +- name: Copie de la sauv distante + ansible.builtin.fetch: + src: /tmp/sdis29.sql + dest: /root/sauvegarde/sql/ + flat: yes