Installed Wordpress Multisite on Windows server 2008R2 and seems to be working fine

EXCEPT:

the update feature in WP fails or anytime when it tries to install something for you.

I set up a valid / working FTP account as it sometimes asks for this, but that does not work either. I have looked several places and think it may be permissions related, which are more complex on Windoes than Linux, but have not found a definitive answer.

Can any one point me in the right direction?

Thanks,

Rolf

Recommended Answers

All 3 Replies

lasitha2005d thanks!

was running: wincache-1.2.427-dev-5.3-nts-vc9-x86.exe 2011-05-07

upgraded to: wincache-1.2.614-dev-5.2-nts-vc6-x86.exe 2011-06-14

Same issue though.

Removed wincache from php.ini and restarted iis, still same issue.

Turned on debug in WP and saw these messages:

Enabling Maintenance mode…

Warning: touch() [function.touch]: Unable to create file D:\webroot\WP_main/wp-content/tmp1 because Permission denied in D:\webroot\WP_main\wp-admin\includes\file.php on line 177

Warning: fopen(D:\webroot\WP_main/wp-content/tmp1) [function.fopen]: failed to open stream: Permission denied in D:\webroot\WP_main\wp-admin\includes\class-wp-filesystem-ftpext.php on line 120

Any Idea?

Thanks again.

Rolf

Have you checked NTFS permission to the folders (as well as in D Drive)? The account which is accessing those folders must have ntfs permissions set properly. You can check bu going to the root in the HDD and check by right clicking n' going to security tab. You have to give write access (add the tick to write check box) or modify if necessary. The account will be listed. If not you have to add it manually. For FTP also (you have to use the new FTP manager and server available). FTP permissions should also set using the server manager. also check the IIS authentication in properties (to configure anonymous access etc)

Solution: Using a secure user

Win2008 Server Manager> Configuration > Local Users and Groups > Users > right click menu > New User.

Create a new windows User, used only by php web apps

name: what ever you want (such as php)
password: SomeStrongPassword
assign to one user group : Users

Assign new php user to your php site "connect as" settings

Open iss > select wordpress web app >select "basic settings" > select specific user > set > enter php as user name and your unique password

Use the Connect As dialog box to select the method that IIS uses to access content from the physical path that was specified for the site, application, or virtual directory. The physical path can be a path to a directory on the local computer or to a directory or share on a remote computer. Use the Connect As dialog box to select the method that IIS uses to access content from the physical path that was specified for the site, application, or virtual directory. The physical path can be a path to a directory on the local computer or to a directory or share on a remote computer.

Assign new php user to application pool settings

Open iss > select "Application Pools" >
Select the pool used by your site – by default it has the same name of the site > Select "Advanced settings"
Under "Process Model" select "Identity", change to ‘custom account:’
Enter your new php user account details

Important 1!

Update php site folder security settings

Open iss > select wordpress site > under Actions sidebar click "explore"
Select wp-content folder
Right click properties > security tab >click Edit button > click add button > click advanced button > click "find now" button
scroll down and find the php user > click ok button > click ok button > set "Full control" checkbox on the "Permissions for php" list > click Apply and ok and then ok button again

Update wp-config.php settings

Important 2!

Open wp-config.php found in the root folder of your wordpress site.
Find existing setting or enter a new one.
Define("WP_TEMP_DIR", ABSPATH."wp-content/");

This setting is used by php/wordpress as a temporary folder for storage of downloaded files.

Update wp-config.php settings

Open php.ini file found in your php installation folder (possible under c:\program files\php\php.ini).

fastcgi.impersonate = 1;

Note: this setting already exists in the file, commented out. To enable remove the semi colon first character.

This setting allows IIS to define the security context that the request runs under (ie. the "connect as" ISS feature)

Applies to WP 3.0 MYSQL 5.1 Server 2008 R2 and above!

With the courtesy of Tadpole TransForms.

Hope this helps!

:cool:

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.