After creating a new site in IIS 7.5 and then installing WordPress I noticed that the BackupWordPress plugin was not working as it didn’t have permissions to write to the \wp-content\uploads\xxxxxxxxxx-backups folder. I was seing the following error appear at the top of all the pages within the Admin site:
This was because the php-cgi.exe process was running under the default NT AUTHORITY\IUSR account which didn’t have write permissions to the /wp-content/uploads/xxxxxxxxxx-backups directory. As I wanted to keep the configuration as secure as possible I opted to use the ApplicationPoolIdentity feature and avoid using the default NT AUTHORITY\IUSR account.
Note: When creating the WordPress site in IIS I created an application pool called WordPress.
To resolve this issue, perform the following steps:
1. Open IIS Manager, click on Application Pools and in the middle pane you will see the application pool for your site. In my case it was called WordPress. Right-click on it and select Advanced Settings:
2. Find the setting Enable 32-Bit Applications and click the drop-down box and click True. Further down, find the Identity setting and set it to ApplicationPoolIdentity and then click OK to save the settings:
Then click on Sites and select the WordPress site. In the Connections pane double-click Authentication:
Select Anonymous Authentication and in the Actions pane on the right side click Edit:
Then select Application Pool Identity and click OK:
On your desktop, click Start > Run and then enter CMD in the Open dialogue box then click OK to load a command prompt enter the following and hit enter:
icacls "C:\Websites\Wordpress" /grant "IIS APPPOOL\Wordpress":(OI)(CI)(RX,W)
This enables the WordPress application pool write permissions to the C:\Websites\Wordpress directory and all sub-directories including the \wp-content\uploads\xxxxxxxxxx-backups folder.
After this you will be able to load the Backups tool in WordPress and create backups using BackupWordPress on a schedule or on demand: