|
|
|
- name: reboot before feature install to ensure server is in clean state
|
|
|
|
win_reboot:
|
|
|
|
|
|
|
|
- name: ensure IIS features are installed
|
|
|
|
win_feature:
|
|
|
|
name: Web-Server
|
|
|
|
state: present
|
|
|
|
includ_sub_features: True
|
|
|
|
include_management_tools: True
|
|
|
|
register: feature_install
|
|
|
|
|
|
|
|
- name: reboot after feature install
|
|
|
|
win_reboot:
|
|
|
|
when: feature_install.reboot_required
|
|
|
|
|
|
|
|
- name: get all websites from server
|
|
|
|
raw: powershell.exe "(get-website).name"
|
|
|
|
register: existing_sites
|
|
|
|
|
|
|
|
- name: ensure all sites are removed for clean testing
|
|
|
|
win_iis_website:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: absent
|
|
|
|
with_items:
|
|
|
|
- "{{ existing_sites.stdout_lines }}"
|
|
|
|
|
|
|
|
- name: add testing site {{ test_iis_site_name }}
|
|
|
|
win_iis_website:
|
|
|
|
name: "{{ test_iis_site_name }}"
|
|
|
|
physical_path: c:\inetpub\wwwroot
|
|
|
|
|
|
|
|
- name: ensure all bindings are removed prior to starting testing
|
|
|
|
win_iis_webbinding:
|
|
|
|
name: "{{ test_iis_site_name }}"
|
|
|
|
state: absent
|
|
|
|
protocol: "{{ item.protocol }}"
|
|
|
|
port: "{{ item.port }}"
|
|
|
|
with_items:
|
|
|
|
- {protocol: http, port: 80}
|
|
|
|
- {protocol: https, port: 443}
|
|
|
|
|
|
|
|
- name: copy certreq file
|
|
|
|
win_copy:
|
|
|
|
content: |-
|
|
|
|
[NewRequest]
|
|
|
|
Subject = "CN={{ item.name }}"
|
|
|
|
KeyLength = 2048
|
|
|
|
KeyAlgorithm = RSA
|
|
|
|
MachineKeySet = true
|
|
|
|
RequestType = Cert
|
|
|
|
dest: "{{ item.dest }}"
|
|
|
|
with_items:
|
|
|
|
- {name: test.com, dest: 'c:\windows\temp\certreq1.txt'}
|
|
|
|
- {name: test1.com, dest: 'c:\windows\temp\certreq2.txt'}
|
|
|
|
- {name: '*.test.com', dest: 'c:\windows\temp\certreqwc.txt'}
|
|
|
|
|
|
|
|
- name: make sure response files are absent
|
|
|
|
win_file:
|
|
|
|
path: "{{ item }}"
|
|
|
|
state: absent
|
|
|
|
with_items:
|
|
|
|
- 'c:\windows\temp\certreqresp1.txt'
|
|
|
|
- 'c:\windows\temp\certreqresp2.txt'
|
|
|
|
- 'c:\windows\temp\certreqrespwc.txt'
|
|
|
|
|
|
|
|
- name: create self signed cert from certreq
|
|
|
|
win_command: certreq -new -machine {{ item.req }} {{ item.resp }}
|
|
|
|
with_items:
|
|
|
|
- {req: 'c:\windows\temp\certreq1.txt', resp: 'c:\windows\temp\certreqresp1.txt'}
|
|
|
|
- {req: 'c:\windows\temp\certreq2.txt', resp: 'c:\windows\temp\certreqresp2.txt'}
|
|
|
|
- {req: 'c:\windows\temp\certreqwc.txt', resp: 'c:\windows\temp\certreqrespwc.txt'}
|
|
|
|
|
|
|
|
- name: register certificate thumbprint1
|
|
|
|
raw: '(gci Cert:\LocalMachine\my | ? {$_.subject -eq "CN=test.com"})[0].Thumbprint'
|
|
|
|
register: thumbprint1
|
|
|
|
|
|
|
|
- name: register certificate thumbprint2
|
|
|
|
raw: '(gci Cert:\LocalMachine\my | ? {$_.subject -eq "CN=test1.com"})[0].Thumbprint'
|
|
|
|
register: thumbprint2
|
|
|
|
|
|
|
|
- name: register certificate thumbprint_wc
|
|
|
|
raw: '(gci Cert:\LocalMachine\my | ? {$_.subject -eq "CN=*.test.com"})[0].Thumbprint'
|
|
|
|
register: thumbprint_wc
|
|
|
|
|
|
|
|
- debug:
|
|
|
|
var: thumbprint1.stdout
|
|
|
|
verbosity: 1
|
|
|
|
- debug:
|
|
|
|
var: thumbprint2.stdout
|
|
|
|
verbosity: 1
|
|
|
|
- debug:
|
|
|
|
var: thumbprint_wc.stdout
|
|
|
|
verbosity: 1
|