diff --git a/inventory/target.ini b/inventory/target.ini index a9e21a7..247ef9d 100644 --- a/inventory/target.ini +++ b/inventory/target.ini @@ -1,2 +1,2 @@ [main] -xyz.com ansible_connection=ssh ansible_ssh_port=22 ansible_ssh_user=user +xyz.com ansible_connection=ssh ansible_ssh_port=22 ansible_ssh_user=test ansible_sudo_pass=test ansible_ssh_private_key_file=/tmp/test.key diff --git a/roles/configure-nginx/tasks/main.yml b/roles/configure-nginx/tasks/main.yml index 7d02947..19700c0 100644 --- a/roles/configure-nginx/tasks/main.yml +++ b/roles/configure-nginx/tasks/main.yml @@ -14,6 +14,7 @@ file: src: /etc/nginx/sites-available/web-{{ vhost_name }}.conf dest: /etc/nginx/sites-enabled/web-{{ vhost_name }}.conf + state: link - name: Restart Nginx systemd: diff --git a/roles/install-docker/tasks/main.yml b/roles/install-docker/tasks/main.yml index 1927732..e3e09c8 100644 --- a/roles/install-docker/tasks/main.yml +++ b/roles/install-docker/tasks/main.yml @@ -13,13 +13,17 @@ state: directory mode: '0744' -- name: Get keyring +- name: Add GPG keyring become: true - shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg - -- name: Add repository + apt_key: + url: https://download.docker.com/linux/ubuntu/gpg + state: present + +- name: Add Docker repo become: true - shell: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginlinux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null + apt_repository: + repo: deb https://download.docker.com/linux/ubuntu focal stable + state: present - name: Update repository and install docker apt: @@ -28,4 +32,10 @@ - docker-ce-cli - containerd.io - docker-compose-plugin - update_cache: yes \ No newline at end of file + update_cache: yes + +- name: Install Docker compose + get_url: + url: https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 + dest: /usr/local/bin/docker-compose + mode: 'u+x,g+x' \ No newline at end of file diff --git a/roles/install-nginx/tasks/main.yml b/roles/install-nginx/tasks/main.yml index 3822a22..51230a3 100644 --- a/roles/install-nginx/tasks/main.yml +++ b/roles/install-nginx/tasks/main.yml @@ -1,4 +1,10 @@ --- +- name: Failsafe - disable Apache if exists + systemd: + name: apache2 + state: stopped + enabled: no + - name: Install Nginx apt: pkg: diff --git a/roles/install-wordpress/tasks/main.yml b/roles/install-wordpress/tasks/main.yml index b602b8c..3bd5082 100644 --- a/roles/install-wordpress/tasks/main.yml +++ b/roles/install-wordpress/tasks/main.yml @@ -2,23 +2,38 @@ - name: Download latest WP get_url: url: https://wordpress.org/latest.zip - dest: /var/www/{{ vhost_name }} + dest: /tmp/latest.zip mode: '0660' - name: Extract wordpress unarchive: - src: /var/www/{{ vhost_name }}/latest.zip - dest: /var/www/{{ vhost_name }} + src: /tmp/latest.zip + dest: /var/www/ remote_src: yes - name: Delete the wordpress zip file: state: absent - path: /var/www/{{ vhost_name }}/latest.zip + path: /tmp/latest.zip -- name: Setup permissions +- name: Create wwwroot file: - path: /var/www/{{ vhost_name }} - owner: www-data - group: www-data - mode: '0644' \ No newline at end of file + path: /var/www/{{ vhost_name}} + state: directory + mode: '0755' + +- name: Rename folder + shell: mv /var/www/wordpress/* /var/www/{{ vhost_name }}/ + +- name: Delete old folder + file: + path: /var/www/wordpress + state: absent + +- name: Chown + become: true + shell: chown -R www-data:www-data /var/www/{{ vhost_name }} + +- name: Chmod + become: true + shell: chmod -R 755 /var/www/{{ vhost_name }} diff --git a/roles/setup-containers/tasks/main.yml b/roles/setup-containers/tasks/main.yml index 9991602..31b2ffd 100644 --- a/roles/setup-containers/tasks/main.yml +++ b/roles/setup-containers/tasks/main.yml @@ -20,7 +20,13 @@ - name: Copy MySQL compose file template: src: files/mysql.j2 - dest: /opt/docker/compose-files/mysql/docker-compose.yaml + dest: /opt/docker/compose-files/mysql/docker-compose.yml + +- name: Rise MySQL container + become: true + shell: docker-compose up -d + args: + chdir: /opt/docker/compose-files/mysql - name: Create Redis dirs file: @@ -28,7 +34,7 @@ state: directory mode: '0755' -- name: Create Redisdirs +- name: Create Redis dirs file: path: /opt/docker/redis state: directory @@ -37,4 +43,10 @@ - name: Copy Redis compose file template: src: files/redis.j2 - dest: /opt/docker/compose-files/redis/docker-compose.yml \ No newline at end of file + dest: /opt/docker/compose-files/redis/docker-compose.yml + +- name: Rise Redis container + become: true + shell: docker-compose up -d + args: + chdir: /opt/docker/compose-files/redis \ No newline at end of file diff --git a/setup_server.yml b/setup_server.yml index 77f5d6b..cd4045e 100644 --- a/setup_server.yml +++ b/setup_server.yml @@ -1,7 +1,7 @@ --- - hosts: all vars_files: - - /vars/external.yml + - vars/external.yml become: yes become_user: root gather_facts: true @@ -13,4 +13,4 @@ - role: configure-php - role: install-wordpress - role: install-docker - - role: setup-containers \ No newline at end of file + - role: setup-containers