diff --git a/defaults/main.yml b/defaults/main.yml index 87e13e8..ed42bc9 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,6 +1,8 @@ # defaults file for ansible-role-directadmin --- directadmin_license: ~ +# Is this server behind NAT +directadmin_lan: false # Directadmin automated setup - http://help.directadmin.com/item.php?id=578 directadmin_install: True diff --git a/tasks/main.yml b/tasks/main.yml index a9f316c..863a6e1 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -29,6 +29,16 @@ # vars: # directadmin_webserver: apache # Ensure is apache install for server name SSL + - name: Create file denotine LAN install + ansible.builtin.copy: + dest: /root/.lan + content: | + 1 + owner: root + group: root + mode: '0644' + when: directadmin_lan + - name: Download DirectAdmin installer get_url: url: https://download.directadmin.com/setup.sh @@ -79,15 +89,34 @@ notify: - Restart DirectAdmin - Rewrite confs + + - name: Retrieve Public IP + ansible.builtin.uri: + url: https://ipv4.icanhazip.com + return_content: true + register: pub_ip + when: directadmin_lan + - - name: Reciprocal Link from Main IPv4 + - name: Reciprocal Link from Main IPv4 (Direct) lineinfile: path: /usr/local/directadmin/data/admin/ips/{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address']}} line: "linked_ips={{ hostvars[inventory_hostname]['ansible_default_ipv6']['address'] | encode_ip }}=apache%3Dyes%26dns%3Dyes" create: true + when: not directadmin_lan notify: - Restart DirectAdmin - - Rewrite confs + - Rewrite confs + + - name: Reciprocal Link from Main IPv4 (LAN) + lineinfile: + path: /usr/local/directadmin/data/admin/ips/{{ pub_ip.content }} + line: "linked_ips={{ hostvars[inventory_hostname]['ansible_default_ipv6']['address'] | encode_ip }}=apache%3Dyes%26dns%3Dyes" + create: true + when: directadmin_lan + notify: + - Restart DirectAdmin + - Rewrite confs - name: Add IP to admin ip.list ansible.builtin.lineinfile: