Playbook Nginx

Hieronder de playbook.yml voor de nginx-server.

---
- hosts: ubuntu-server
  tasks:
    - name: ensure nginx is at the latest version
      apt: name=nginx state=latest
      become: yes

    - name: start nginx
      service:
          name: nginx
          state: started
      become: yes

    - name: copy the nginx config file and restart nginx
      copy:
        src: static-site.cfg
        dest: /etc/nginx/sites-available/static_site.cfg
      become: yes

    - name: create symlink
      file:
        src: /etc/nginx/sites-available/static_site.cfg
        dest: /etc/nginx/sites-enabled/default
        state: link
      become: yes

    - name: copy the content of the web site
      copy:
        src: "static-site/"
        dest: "/home/student/static-site"

    - name: restart nginx
      service:
        name: nginx
        state: restarted
      become: yes
      
    - name: "UFW - Allow HTTP on port 80"
      ufw:
        rule: allow
        port: "80"
        proto: tcp
      become: yes

Zorg dat dit configuratie bestand in dezelfde directory zit met de naam static-site.cfg

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /home/student/static-site;
        index index.html index.htm;
        server_name noorderpoort;
        location / {
                try_files $uri $uri/ =404;
        }
}

In de directory van de playbook maar je een directory met de naam static-site, hierin plaats je de index.html en eventueel een afbeelding. Zorg dat de verwijzingen in je playbook overeenkomen met wat in jouw directory staat. Naamgevingen zijn hier een voorbeeld, maar kijk goed dat dit overeenkomt.

Na het deployen van je playbook zou je nginx-website beschikbaar moeten zijn op het IP-adres.