1 heat_template_version: 2013-05-23
4 HEAT template for installing Wordpress on Windows Server
10 default: HeatWinResource
11 description: Windows Server Name
16 - allowed_pattern: "[a-zA-Z][a-zA-Z0-9]*"
17 description: must begin with a letter and contain only alphanumeric characters.
21 default: Windows Server 2012
22 description: Windows Server Image
26 description: Rackspace Cloud Server flavor
27 default: 4GB Standard Instance
30 - 4GB Standard Instance
31 - 8GB Standard Instance
32 - 15GB Standard Instance
33 - 30GB Standard Instance
34 description: must be a valid Rackspace Cloud Server flavor.
39 description: The WordPress database name
44 - allowed_pattern: "[a-zA-Z][a-zA-Z0-9]*"
45 description: must begin with a letter and contain only alphanumeric characters.
49 default: verybadpass_123
50 description: Database password
54 default: verybadpass_123
55 description: Database Admin password
62 BackupConfigurationName: wordpressbackup
72 NotifyRecipients: username@domain.com
74 TimeZoneId: Eastern Standard Time
76 host_ip_address: { get_attr: [rs_windows_server, accessIPv4] }
78 - {"FilePath": "c:\\inetpub\\wwwroot\\wordpress", "FileItemType": "Folder" }
79 type: Rackspace::Cloud::BackupConfig
82 type: "Rackspace::Cloud::WinServer"
84 name: { get_param: server_hostname }
85 flavor: { get_param: flavor }
86 image: { get_param: image }
87 metadata: {build_config: backup_agent_only}
91 $source = "http://download.microsoft.com/download/7/0/4/704CEB4C-9F42-4962-A2B0-5C84B0682C7A/WebPlatformInstaller_amd64_en-US.msi"
92 $destination = "webpi.msi"
93 $wc = New-Object System.Net.WebClient
94 $wc.DownloadFile($source, $destination)
95 Start-Process msiexec -ArgumentList "/i webpi.msi /qn" -NoNewWindow -Wait
96 echo DBPassword[@]%dbpassword% DBAdminPassword[@]%dbadminpassword% > test.app
97 $tmpprofile = $env:userprofile
98 $env:userprofile = "c:\users\administrator"
99 $wpicmd = "C:\Program Files\Microsoft\Web Platform Installer\WebPICMD.exe"
100 Start-Process $wpicmd -ArgumentList "/Install /Application:Wordpress@test.app /MySQLPassword:%dbadminpassword% /AcceptEULA /Log:.\wpi.log" -NoNewWindow -Wait
101 $env:userprofile = $tmpprofile
103 "%dbpassword%": { get_param: db_password }
104 "%dbadminpassword%": { get_param: db_admin_password }
110 value: { get_attr: [ rs_windows_server, accessIPv4 ] }
111 description: public IP of the windows server
116 template: http://%ip%/wordpress
118 "%ip%": { get_attr: [ rs_windows_server, accessIPv4 ] }
119 description: URL for Wordpress site