summaryrefslogtreecommitdiff
path: root/roles/webserver
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2017-12-03 22:47:13 -0800
committerJakob Odersky <jakob@odersky.com>2017-12-03 22:47:13 -0800
commitdf6be44d67e29d73b0f226985c2c7b6ec989c224 (patch)
tree590198484d5322042c2d0ef38bc4eeb1c71412ae /roles/webserver
downloadmetamorphic-df6be44d67e29d73b0f226985c2c7b6ec989c224.tar.gz
metamorphic-df6be44d67e29d73b0f226985c2c7b6ec989c224.tar.bz2
metamorphic-df6be44d67e29d73b0f226985c2c7b6ec989c224.zip
Initial commitHEADmaster
Diffstat (limited to 'roles/webserver')
-rw-r--r--roles/webserver/files/default.conf9
-rw-r--r--roles/webserver/files/homepage.conf8
-rw-r--r--roles/webserver/meta/main.yml3
-rw-r--r--roles/webserver/tasks/main.yml30
4 files changed, 50 insertions, 0 deletions
diff --git a/roles/webserver/files/default.conf b/roles/webserver/files/default.conf
new file mode 100644
index 0000000..a85589f
--- /dev/null
+++ b/roles/webserver/files/default.conf
@@ -0,0 +1,9 @@
+# Default catch-all configuration, applied when no other configuration matches
+server {
+ server_name _;
+ listen 80 default_server;
+ listen 443 default_server;
+
+ # close the connection without sending a response
+ return 444;
+}
diff --git a/roles/webserver/files/homepage.conf b/roles/webserver/files/homepage.conf
new file mode 100644
index 0000000..9a07687
--- /dev/null
+++ b/roles/webserver/files/homepage.conf
@@ -0,0 +1,8 @@
+# Homepage
+server {
+ server_name jodersky.ch odersky.com www.odersky.com crashbox.io www.crashbox.io;
+ listen 80;
+ listen 443;
+
+ return 301 https://www.jodersky.ch$request_uri;
+}
diff --git a/roles/webserver/meta/main.yml b/roles/webserver/meta/main.yml
new file mode 100644
index 0000000..fdda41b
--- /dev/null
+++ b/roles/webserver/meta/main.yml
@@ -0,0 +1,3 @@
+---
+dependencies:
+ - role: common
diff --git a/roles/webserver/tasks/main.yml b/roles/webserver/tasks/main.yml
new file mode 100644
index 0000000..34f01b2
--- /dev/null
+++ b/roles/webserver/tasks/main.yml
@@ -0,0 +1,30 @@
+---
+- name: install nginx
+ apt: name=nginx state=latest
+
+- name: disable default nginx site
+ file: path=/etc/nginx/sites-enabled/default state=absent
+
+- name: remove default nginx site
+ file: path=/etc/nginx/sites-available/default state=absent
+
+- name: copy website config
+ copy: src={{item}} dest=/etc/nginx/sites-available/{{item}}
+ with_items:
+ - default.conf
+ - homepage.conf
+
+- name: activate website config
+ file:
+ src=/etc/nginx/sites-available/{{item}}
+ dest=/etc/nginx/sites-enabled/{{item}}
+ state=link
+ with_items:
+ - default.conf
+ - homepage.conf
+
+- name: firewall - allow http traffic
+ ufw: rule=allow port=80 proto=tcp
+
+- name: firewall - allow https traffic
+ ufw: rule=allow port=443 proto=tcp