added nginx role
This commit is contained in:
12
roles/nginx/.vagrant/rgloader/loader.rb
Normal file
12
roles/nginx/.vagrant/rgloader/loader.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
# Copyright (c) HashiCorp, Inc.
|
||||
# SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
# This file loads the proper rgloader/loader.rb file that comes packaged
|
||||
# with Vagrant so that encoded files can properly run with Vagrant.
|
||||
|
||||
if ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]
|
||||
require File.expand_path(
|
||||
"rgloader/loader", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"])
|
||||
else
|
||||
raise "Encoded files can't be read outside of the Vagrant installer."
|
||||
end
|
||||
11
roles/nginx/defaults/main.yml
Normal file
11
roles/nginx/defaults/main.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
# Need to be in var file
|
||||
#domain_name: kazcynski.duckdns.org
|
||||
#nginx_root: kazcynski # /var/www/"{{ nginx_root }}" is the folder where the website files reside
|
||||
|
||||
packages:
|
||||
- nginx
|
||||
|
||||
nginx_root_path: /var/www
|
||||
|
||||
nginx_config_dir: /etc/nginx/sites-available
|
||||
nginx_sites_enabled: /etc/nginx/sites-enabled
|
||||
4
roles/nginx/handlers/main.yml
Normal file
4
roles/nginx/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
- name: Restart nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: reloaded
|
||||
9
roles/nginx/tasks/link.yml
Normal file
9
roles/nginx/tasks/link.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: link nginx config to sites-enabled dir
|
||||
ansible.builtin.file:
|
||||
src: "{{ nginx_config_dir }}/{{ domain_name }}"
|
||||
dest: "{{ nginx_sites_enabled }}/{{ domain_name }}"
|
||||
owner: root
|
||||
group: root
|
||||
state: link
|
||||
notify: Restart nginx
|
||||
9
roles/nginx/tasks/main.yml
Normal file
9
roles/nginx/tasks/main.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: Install and enable nginx
|
||||
include_tasks: nginx.yml
|
||||
|
||||
- name: Template config files into place
|
||||
include_tasks: template.yml
|
||||
|
||||
- name: Enable site by linking to the dir "{{ nginx_sites_enabled }}"
|
||||
include_tasks: link.yml
|
||||
10
roles/nginx/tasks/nginx.yml
Normal file
10
roles/nginx/tasks/nginx.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- name: Install nginx
|
||||
package:
|
||||
name: nginx
|
||||
state: present
|
||||
|
||||
- name: Enable nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: started
|
||||
enabled: yes
|
||||
39
roles/nginx/tasks/template.yml
Normal file
39
roles/nginx/tasks/template.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: ensure target dirs exists
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
loop:
|
||||
- "{{ nginx_config_dir }}"
|
||||
|
||||
- name: ensure target dirs exists
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ main_username }}"
|
||||
group: root
|
||||
loop:
|
||||
- "{{ nginx_root_path }}/{{ nginx_root }}"
|
||||
|
||||
- name: change hostname to domain_name
|
||||
template:
|
||||
src: ../templates/hostname.j2
|
||||
dest: "/etc/hostname"
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: write homepage nginx config file
|
||||
template:
|
||||
src: ../templates/nginx-config.j2
|
||||
dest: "{{ nginx_config_dir }}/{{ domain_name }}"
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: write simple homepage index.html file
|
||||
template:
|
||||
src: ../templates/index.html.j2
|
||||
dest: "{{ nginx_root_path }}/{{ nginx_root }}/index.html"
|
||||
owner: "{{ main_username }}"
|
||||
group: root
|
||||
1
roles/nginx/templates/hostname.j2
Normal file
1
roles/nginx/templates/hostname.j2
Normal file
@@ -0,0 +1 @@
|
||||
"{{ domain_name }}"
|
||||
4
roles/nginx/templates/index.html.j2
Normal file
4
roles/nginx/templates/index.html.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<h1>Congratulations!</h1>
|
||||
<p>The web server is running! </p>
|
||||
<p>And serving this webpage on port 80.</p>
|
||||
10
roles/nginx/templates/nginx-config.j2
Normal file
10
roles/nginx/templates/nginx-config.j2
Normal file
@@ -0,0 +1,10 @@
|
||||
server {
|
||||
listen 80 ;
|
||||
listen [::]:80 ;
|
||||
server_name {{ domain_name }} ;
|
||||
root /var/www/{{ nginx_root }} ;
|
||||
index index.html index.htm index.nginx-debian.html ;
|
||||
location / {
|
||||
try_files $uri $uri/ =404 ;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user