| 
		 Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB  | 
| 
		 Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB  | 
| 
		 Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB  | 
| 
		 Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB  | 
| 
		 Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB  | 
| 
		 Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB  | 
| 
		 Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB  | 
| 
		 Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB  | 
| 
		 Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 135 KiB  | 
| 
		 Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB  | 
| 
		 Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB  | 
| 
		 Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB  | 
| 
		 Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB  | 
| 
		 Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB  | 
| 
		 Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB  | 
| 
		 Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB  | 
| 
		 Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB  | 
@ -0,0 +1,2 @@ | 
				
			|||||||
 | 
					[defaults] | 
				
			||||||
 | 
					vault_password_file = vault-password | 
				
			||||||
@ -0,0 +1,7 @@ | 
				
			|||||||
 | 
					$ANSIBLE_VAULT;1.1;AES256 | 
				
			||||||
 | 
					33366532393138353666653365633234396238316366613234383661316466323333376565366333 | 
				
			||||||
 | 
					3830646663633362313234656439663962323666633935350a393632336239343963626135623962 | 
				
			||||||
 | 
					34363931383263346663636235656236653762346561366536383630356263616565643365336138 | 
				
			||||||
 | 
					3264376566383861650a643261343935306564646165333831666530643231303430346134653836 | 
				
			||||||
 | 
					32623163396533373735616534313536646261633630346562356139353230326161336561613739 | 
				
			||||||
 | 
					3132613930623633613437633665653361316566666465313338 | 
				
			||||||
@ -0,0 +1,5 @@ | 
				
			|||||||
 | 
					DB_NAME: wordpress_db | 
				
			||||||
 | 
					DB_USER_NAME: admin | 
				
			||||||
 | 
					DB_USER_PASSWORD: admin | 
				
			||||||
 | 
					DB_HOST: "{{ hostvars['ansible-2']['ansible_host'] }}" | 
				
			||||||
 | 
					WEB_HOST: "{{ hostvars['ansible-1']['ansible_host'] }}" | 
				
			||||||
@ -0,0 +1,23 @@ | 
				
			|||||||
 | 
					ansible-1 ansible_host=192.168.56.52 | 
				
			||||||
 | 
					ansible-2 ansible_host=192.168.56.54  | 
				
			||||||
 | 
					ansible-3 ansible_host=192.168.56.56 | 
				
			||||||
 | 
					ansible-4 ansible_host=192.168.56.58 ansible_user=root | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[centos] | 
				
			||||||
 | 
					ansible-1 | 
				
			||||||
 | 
					ansible-2 | 
				
			||||||
 | 
					ansible-3 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[debian] | 
				
			||||||
 | 
					ansible-4 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[tous:children] | 
				
			||||||
 | 
					centos | 
				
			||||||
 | 
					debian | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[wordpress] | 
				
			||||||
 | 
					ansible-1 | 
				
			||||||
 | 
					ansible-2 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,5 @@ | 
				
			|||||||
 | 
					- hosts: ansible-3 | 
				
			||||||
 | 
					  tasks:  | 
				
			||||||
 | 
					    - name: Display secure password | 
				
			||||||
 | 
					      debug: | 
				
			||||||
 | 
					        msg: "Robert's password is: {{ vault_robert_password }}" | 
				
			||||||
@ -0,0 +1,9 @@ | 
				
			|||||||
 | 
					- hosts: ansible-2    | 
				
			||||||
 | 
					  roles:  | 
				
			||||||
 | 
					    - role: postgre | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- hosts: ansible-1 | 
				
			||||||
 | 
					  roles: | 
				
			||||||
 | 
					    - role: apache | 
				
			||||||
 | 
					    - role: wordpress | 
				
			||||||
@ -0,0 +1,14 @@ | 
				
			|||||||
 | 
					  - name: create a new database | 
				
			||||||
 | 
					    mysql_db: | 
				
			||||||
 | 
					     # login_unix_socket: /var/run/mysqld/mysqld.sock   | 
				
			||||||
 | 
					      name: '{{ DB_NAME }}' | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: create a new user in database | 
				
			||||||
 | 
					    mysql_user: | 
				
			||||||
 | 
					     # login_unix_socket: /var/run/mysqld/mysqld.sock | 
				
			||||||
 | 
					      name: '{{ DB_USER_NAME }}' | 
				
			||||||
 | 
					      password: '{{ DB_USER_PASSWORD }}' | 
				
			||||||
 | 
					      priv: '{{ DB_NAME }}.*:ALL' | 
				
			||||||
 | 
					      host: '{{ DB_HOST }}' | 
				
			||||||
 | 
					      state: present | 
				
			||||||
@ -0,0 +1,28 @@ | 
				
			|||||||
 | 
					  - name: create a new database | 
				
			||||||
 | 
					    become: yes | 
				
			||||||
 | 
					    become_user: postgres | 
				
			||||||
 | 
					    postgresql_db: | 
				
			||||||
 | 
					     # login_unix_socket: /var/run/mysqld/mysqld.sock   | 
				
			||||||
 | 
					      name: '{{ DB_NAME }}' | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					      | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: create a new user in database | 
				
			||||||
 | 
					    become: yes | 
				
			||||||
 | 
					    become_user: postgres | 
				
			||||||
 | 
					    postgresql_user: | 
				
			||||||
 | 
					     # login_unix_socket: /var/run/mysqld/mysqld.sock | 
				
			||||||
 | 
					      db: '{{ DB_NAME }}' | 
				
			||||||
 | 
					      name: '{{ DB_USER_NAME }}' | 
				
			||||||
 | 
					      password: '{{ DB_USER_PASSWORD }}' | 
				
			||||||
 | 
					      priv: ALL | 
				
			||||||
 | 
					      expires: infinity | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  - name: grant all privileges | 
				
			||||||
 | 
					 #   become: yes | 
				
			||||||
 | 
					  #  become_user: postgres | 
				
			||||||
 | 
					   # postgresql_privs: | 
				
			||||||
 | 
					    #  db: "{{ 'DB_NAME' }}" | 
				
			||||||
 | 
					     # privs: ALL | 
				
			||||||
 | 
					     # type: database | 
				
			||||||
 | 
					     # role: | 
				
			||||||
@ -0,0 +1,32 @@ | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Create wordpress configuration file | 
				
			||||||
 | 
					    copy:  | 
				
			||||||
 | 
					      src: /var/www/html/wordpress/wp-config-sample.php | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      remote_src: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Wordpress conf, db name | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'database_name_here' | 
				
			||||||
 | 
					      replace: '{{ DB_NAME }}' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Wordpress conf, db username | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'username_here' | 
				
			||||||
 | 
					      replace: '{{ DB_USER_NAME }}' | 
				
			||||||
 | 
					   | 
				
			||||||
 | 
					  - name: Wordpress conf, db passwd | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'password_here' | 
				
			||||||
 | 
					      replace: '{{ DB_USER_PASSWORD }}' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Wordpress conf, db host | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'localhost' | 
				
			||||||
 | 
					      replace: '192.168.56.54' | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,26 @@ | 
				
			|||||||
 | 
					- hosts: ansible-1 | 
				
			||||||
 | 
					  tasks: | 
				
			||||||
 | 
					  - name: Install and launch httpd | 
				
			||||||
 | 
					    yum: | 
				
			||||||
 | 
					      name: httpd | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					      update_cache: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Set https systemctl enable | 
				
			||||||
 | 
					    service: | 
				
			||||||
 | 
					      name: httpd | 
				
			||||||
 | 
					      state: started | 
				
			||||||
 | 
					      enabled: yes | 
				
			||||||
 | 
					  | 
				
			||||||
 | 
					  - name: Copy static web page | 
				
			||||||
 | 
					    copy: | 
				
			||||||
 | 
					      src: index.html | 
				
			||||||
 | 
					      dest: /var/www/html/index.html | 
				
			||||||
 | 
					      mode: 0444 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Configure firewalld | 
				
			||||||
 | 
					    firewalld: | 
				
			||||||
 | 
					      service: http | 
				
			||||||
 | 
					      permanent: yes | 
				
			||||||
 | 
					      state: enabled | 
				
			||||||
 | 
					      immediate: yes | 
				
			||||||
@ -0,0 +1,115 @@ | 
				
			|||||||
 | 
					- hosts: ansible-2 | 
				
			||||||
 | 
					  tasks: | 
				
			||||||
 | 
					  - name: install mariadb-server # DONE | 
				
			||||||
 | 
					    yum: | 
				
			||||||
 | 
					      name: | 
				
			||||||
 | 
					      - MySQL-python  | 
				
			||||||
 | 
					      - mariadb-server | 
				
			||||||
 | 
					      - python3-pip | 
				
			||||||
 | 
					      - python3 | 
				
			||||||
 | 
					      - firewalld | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					      update_cache: yes    | 
				
			||||||
 | 
					   | 
				
			||||||
 | 
					#  - name: Install pymysql | 
				
			||||||
 | 
					 #   pip: | 
				
			||||||
 | 
					  #    name: PyMySQL  | 
				
			||||||
 | 
					   #   state: present | 
				
			||||||
 | 
					    #  executable: pip3 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: create a new database #DONE | 
				
			||||||
 | 
					    mysql_db: | 
				
			||||||
 | 
					     # login_unix_socket: /var/run/mysqld/mysqld.sock   | 
				
			||||||
 | 
					      name: wordpress_db | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: create a new user in database wordpress_db #DONE | 
				
			||||||
 | 
					    mysql_user: | 
				
			||||||
 | 
					     # login_unix_socket: /var/run/mysqld/mysqld.sock | 
				
			||||||
 | 
					      name: admin | 
				
			||||||
 | 
					      password: admin | 
				
			||||||
 | 
					      priv: 'wordpress_db.*:ALL' | 
				
			||||||
 | 
					      host: 192.168.56.52 | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: configure firewalld # DONE | 
				
			||||||
 | 
					    firewalld:     | 
				
			||||||
 | 
					      service: mysql | 
				
			||||||
 | 
					      permanent: true | 
				
			||||||
 | 
					      state: enabled | 
				
			||||||
 | 
					      immediate: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- hosts: ansible-1 | 
				
			||||||
 | 
					  tasks: | 
				
			||||||
 | 
					  - name: Install https, php, php-mysqlnd, firewalld | 
				
			||||||
 | 
					    yum: | 
				
			||||||
 | 
					      name:  | 
				
			||||||
 | 
					      - httpd | 
				
			||||||
 | 
					      - php | 
				
			||||||
 | 
					      - php-mysqlnd | 
				
			||||||
 | 
					      - firewalld | 
				
			||||||
 | 
					      - php-fpm | 
				
			||||||
 | 
					      state: present | 
				
			||||||
 | 
					      update_cache: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Enable systemctl service installed | 
				
			||||||
 | 
					    service: | 
				
			||||||
 | 
					      name: httpd | 
				
			||||||
 | 
					      state: started | 
				
			||||||
 | 
					      enabled: yes | 
				
			||||||
 | 
					  | 
				
			||||||
 | 
					  - name: Enable php | 
				
			||||||
 | 
					    service:  | 
				
			||||||
 | 
					      name: php-fpm | 
				
			||||||
 | 
					      state: started | 
				
			||||||
 | 
					      enabled: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Configure firewalld | 
				
			||||||
 | 
					    firewalld: | 
				
			||||||
 | 
					      service: http | 
				
			||||||
 | 
					      permanent: yes | 
				
			||||||
 | 
					      state: enabled | 
				
			||||||
 | 
					      immediate: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Install wordpress 5.0.8 | 
				
			||||||
 | 
					    unarchive: | 
				
			||||||
 | 
					      src: https://wordpress.org/latest.tar.gz | 
				
			||||||
 | 
					      dest: /var/www/html/ | 
				
			||||||
 | 
					      remote_src: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Create wordpress configuration file | 
				
			||||||
 | 
					    copy:  | 
				
			||||||
 | 
					      src: /var/www/html/wordpress/wp-config-sample.php | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      remote_src: yes | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Wordpress conf, db name | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'database_name_here' | 
				
			||||||
 | 
					      replace: wordpress_db | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Wordpress conf, db username | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'username_here' | 
				
			||||||
 | 
					      replace: admin | 
				
			||||||
 | 
					   | 
				
			||||||
 | 
					  - name: Wordpress conf, db passwd | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'password_here' | 
				
			||||||
 | 
					      replace: admin | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: Wordpress conf, db host | 
				
			||||||
 | 
					    replace: | 
				
			||||||
 | 
					      dest: /var/www/html/wordpress/wp-config.php | 
				
			||||||
 | 
					      regexp: 'localhost' | 
				
			||||||
 | 
					      replace: 192.168.156.54 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - name: restart httpd service | 
				
			||||||
 | 
					    service: | 
				
			||||||
 | 
					      name: httpd | 
				
			||||||
 | 
					      state: restarted | 
				
			||||||
@ -0,0 +1,10 @@ | 
				
			|||||||
 | 
					- hosts: all | 
				
			||||||
 | 
					  tasks: | 
				
			||||||
 | 
					  - name: Get user id | 
				
			||||||
 | 
					    command: id | 
				
			||||||
 | 
					    register: user_id  | 
				
			||||||
 | 
					        | 
				
			||||||
 | 
					  - name: Display user id | 
				
			||||||
 | 
					    ansible.builtin.debug: | 
				
			||||||
 | 
					      var: user_id.stdout | 
				
			||||||
 | 
					       | 
				
			||||||