diff --git a/ec2.yml b/ec2.yml
index a0b5fe6..be6b3b5 100755
--- a/ec2.yml
+++ b/ec2.yml
@@ -10,8 +10,8 @@
acme_directory: "https://acme-staging-v02.api.letsencrypt.org/directory"
acme_version: 2
nextcloud_tarbz2: "https://download.nextcloud.com/server/releases/nextcloud-18.0.0.tar.bz2"
- website_url: "nc.assburgers.club"
- website_root: "/var/www/nextcloud"
+ nextcloud_url: "nc.assburgers.club"
+ nextcloud_webroot: "/var/www/nextcloud"
roles:
- nextcloud
- hosts: tag_role_cockpit
diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml
index 699539f..389da83 100644
--- a/roles/nextcloud/tasks/main.yml
+++ b/roles/nextcloud/tasks/main.yml
@@ -37,16 +37,16 @@
- name: Configure virtual host
template:
src: apache2-vhost.conf
- dest: "/etc/apache2/sites-enabled/{{ website_url }}.conf"
+ dest: "/etc/apache2/sites-enabled/{{ nextcloud_url }}.conf"
- name: Create webroot
file:
- path: "{{ website_root }}"
+ path: "{{ nextcloud_webroot }}"
mode: "0644"
recurse: yes
state: directory
- name: Check for existing installation
stat:
- path: "{{ website_root }}/index.html"
+ path: "{{ nextcloud_webroot }}/index.html"
register: stat_webroot_index
- name: Install Nextcloud
block:
@@ -58,7 +58,7 @@
unarchive:
src: /var/www/nextcloud.tar.bz2
remote_src: yes
- dest: "{{ website_root }}"
+ dest: "{{ nextcloud_webroot }}"
extra_opts: [--strip-components=1]
- name: Cleanup
file:
@@ -79,24 +79,24 @@
- { dir: "/etc/pki/cert/crt", mode: "0600" }
- { dir: "/etc/pki/cert/csr", mode: "0600" }
- { dir: "/etc/pki/cert/private", mode: "0600" }
- - { dir: "/etc/pki/cert/challenge/{{ website_url }}", mode: "0600" }
+ - { dir: "/etc/pki/cert/challenge/{{ nextcloud_url }}", mode: "0600" }
- name: Create ACME account key
openssl_privatekey:
path: "/etc/pki/cert/private/account.key"
size: 4096
- name: Create certificate key
openssl_privatekey:
- path: "/etc/pki/cert/private/{{ website_url }}.key"
+ path: "/etc/pki/cert/private/{{ nextcloud_url }}.key"
size: 4096
- name: Create CSR
openssl_csr:
- path: "/etc/pki/cert/csr/{{ website_url }}.csr"
- common_name: "{{ website_url }}"
+ path: "/etc/pki/cert/csr/{{ nextcloud_url }}.csr"
+ common_name: "{{ nextcloud_url }}"
privatekey_path: /etc/pki/cert/private/account.key
email_address: "rehashedsalt@cock.li"
- name: Create well-known directory
file:
- path: "{{ website_root }}/.well-known/acme-challenge"
+ path: "{{ nextcloud_webroot }}/.well-known/acme-challenge"
mode: "0644"
recurse: yes
state: directory
@@ -107,21 +107,21 @@
terms_agreed: yes
account_email: "rehashedsalt@cock.li"
account_key: "/etc/pki/cert/private/account.key"
- csr: "/etc/pki/cert/csr/{{ website_url }}.csr"
- dest: "/etc/pki/cert/crt/{{ website_url }}.crt"
- fullchain_dest: "/etc/pki/cert/crt/{{ website_url }}-fullchain.crt"
+ csr: "/etc/pki/cert/csr/{{ nextcloud_url }}.csr"
+ dest: "/etc/pki/cert/crt/{{ nextcloud_url }}.crt"
+ fullchain_dest: "/etc/pki/cert/crt/{{ nextcloud_url }}-fullchain.crt"
register: com_challenge
- name: Fulfill challenge
copy:
- dest: "{{ website_root }}/{{ com_challenge['challenge_data'][website_url]['http-01']['resource'] }}"
- content: "{{ com_challenge['challenge_data'][website_url]['http-01']['resource_value'] }}"
+ dest: "{{ nextcloud_webroot }}/{{ com_challenge['challenge_data'][nextcloud_url]['http-01']['resource'] }}"
+ content: "{{ com_challenge['challenge_data'][nextcloud_url]['http-01']['resource_value'] }}"
when: com_challenge is changed
- name: Create certificate
acme_certificate:
account_key: /etc/pki/cert/private/account.key
- csr: "/etc/pki/cert/csr/{{ website_url }}.csr"
- dest: "/etc/pki/cert/crt/{{ website_url }}.crt"
- fullchain_dest: "/etc/pki/cert/crt/{{ website_url }}-fullchain.crt"
- chain_dest: "/etc/pki/cert/crt/{{ website_url }}-intermediate.crt"
+ csr: "/etc/pki/cert/csr/{{ nextcloud_url }}.csr"
+ dest: "/etc/pki/cert/crt/{{ nextcloud_url }}.crt"
+ fullchain_dest: "/etc/pki/cert/crt/{{ nextcloud_url }}-fullchain.crt"
+ chain_dest: "/etc/pki/cert/crt/{{ nextcloud_url }}-intermediate.crt"
data: "{{ com_challenge }}"
become: yes
diff --git a/roles/nextcloud/templates/apache2-vhost.conf b/roles/nextcloud/templates/apache2-vhost.conf
index 022cdeb..f1151ac 100644
--- a/roles/nextcloud/templates/apache2-vhost.conf
+++ b/roles/nextcloud/templates/apache2-vhost.conf
@@ -1,6 +1,22 @@
-# Configuration for {{ website_url }}
+# Configuration for {{ nextcloud_url }}
# vim:ft=apache:
+# Ensure we listen on required ports
+Listen 80
+Listen 443
+# Listen for virtual host requests
+NameVirtualHost *:443
+# Accept connections from non-SNI clients
+SSLStrictSNIVHostCheck off
+
+# Website configuration
- ServerName {{ website_url }}
- DocumentRoot {{ website_root }}
+ ServerName {{ nextcloud_url }}
+ DocumentRoot {{ nextcloud_webroot }}
+
+
+ SSLEngine on
+ SSLCertificateFile /etc/pki/cert/crt/{{ nextcloud_url }}.crt
+ SSLCertificateKeyFile /etc/pki/cert/private/{{ nextcloud_url }}.key
+ ServerName {{ nextcloud_url }}
+ DocumentRoot {{ nexcloud_webroot }}