Ansible Playbook
WOW – Way of working:
- we need find out manual steps what work need to do
- ensure manual commands need to work
- create yaml playbook for Activity
sudo apt update && sudo apt install apache2 -y
sudo apt install wget unzip -y
# https://templatemo.com/
cd /tmp
sudo wget https://templatemo.com/tm-zip-files-2020/templatemo_586_scholar.zip
sudo unzip templatemo_586_scholar.zip
sudo cp -rf templatemo_586_scholar/* /var/www/html/
sudo rm -rf /tmp/templatemo_586_scholar /tmp/templatemo_586_scholar.zip
sudo systemctl restart apache2
sudo systemctl enable apache2
Create new ubuntu
- install ansible
- created ssh-keygen
- cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
```yaml
---
- name: "Scholar Website"
hosts: all
become: yes
tasks:
- name: "Install wget and unzip"
ansible.builtin.apt:
name:
- wget
- unzip
state: present
update_cache: yes
- name: "Install Apache2"
ansible.builtin.apt:
name: apache2
state: present
- name: "Download website template"
ansible.builtin.get_url:
url: "https://templatemo.com/tm-zip-files-2020/templatemo_586_scholar.zip"
dest: /tmp/templatemo_586_scholar.zip
mode: '0644'
- name: "Unzip website template"
ansible.builtin.unarchive:
src: /tmp/templatemo_586_scholar.zip
dest: /tmp/
remote_src: yes
- name: "Ensure Apache document root exists"
ansible.builtin.file:
path: /var/www/html
state: directory
owner: www-data
group: www-data
mode: '0755'
- name: "Copy website files to Apache document root"
ansible.builtin.copy:
src: /tmp/templatemo_586_scholar/
dest: /var/www/html/
remote_src: yes
owner: www-data
group: www-data
mode: preserve
- name: "Restart and enable Apache2"
ansible.builtin.systemd_service:
name: apache2
state: restarted
enabled: true
ansible-playbook scholar-website.yaml -i hosts