From 6449e467ea5bce7b8639256d05b22a6a2e0a2c83 Mon Sep 17 00:00:00 2001
From: binary <me@rgoncalves.se>
Date: Sat, 23 Jan 2021 12:30:40 +0100
Subject: Basic http-only website configuration

---
 roles/website/meta/main.yml           |  8 ++++++++
 roles/website/tasks/main.yml          | 24 ++++++++++++++++++++++++
 roles/website/templates/httpd.conf.j2 | 19 +++++++++++++++++++
 3 files changed, 51 insertions(+)
 create mode 100644 roles/website/meta/main.yml
 create mode 100644 roles/website/tasks/main.yml
 create mode 100644 roles/website/templates/httpd.conf.j2

(limited to 'roles')

diff --git a/roles/website/meta/main.yml b/roles/website/meta/main.yml
new file mode 100644
index 0000000..f5af423
--- /dev/null
+++ b/roles/website/meta/main.yml
@@ -0,0 +1,8 @@
+
+# website ~~ roles/website/meta/main.yml
+# Meta parameters
+
+---
+
+dependencies:
+  - { role: httpd_pre, tags: "dependency" }
diff --git a/roles/website/tasks/main.yml b/roles/website/tasks/main.yml
new file mode 100644
index 0000000..7ac5d65
--- /dev/null
+++ b/roles/website/tasks/main.yml
@@ -0,0 +1,24 @@
+
+# website ~~ roles/website/tasks/main.yml
+# website setup
+
+---
+
+- name: ensure website dir exists
+  file:
+    path: "/var/www/htdocs/{{ global.domain_name }}"
+    owner: www
+    group: www
+    mode: 0550
+    state: directory
+
+- name: generate website configuration
+  template:
+    src: httpd.conf.j2
+    dest: "/etc/httpd.d/{{ global.domain_name }}.conf"
+    owner: "{{ user_root }}"
+    group: "{{ group_root }}"
+    mode: 0644
+
+- name: ensure httpd is restarted
+  service: name=httpd state=restarted enabled=true
diff --git a/roles/website/templates/httpd.conf.j2 b/roles/website/templates/httpd.conf.j2
new file mode 100644
index 0000000..b1ce966
--- /dev/null
+++ b/roles/website/templates/httpd.conf.j2
@@ -0,0 +1,19 @@
+
+# httpd ~~ /etc/httpd.conf
+# managed by Ansible
+
+server "{{ global.domain_name }}" {
+	listen on * port 80
+	root "/htdocs/{{ global.domain_name }}"
+
+	location "/public/*" {
+		directory auto index
+	}
+
+}
+
+server "www.{{ global.domain_name }}" {
+	listen on * port 80
+	block return 301 "$REQUEST_SCHEME://{{ global.domain_name }}$REQUEST_URI"
+}
+
-- 
cgit v1.2.3