7

When I try to automatically install updates to Wordpress or plugins, I receive an error:

An error occurred while updating... Could not create directory .../wp-content/upgrade/...

My web host runs an Apache environment, and other Wordpress websites I own don't have this problem. I have CHMOD the /wp-content/upgrade folder to both 777 and 2777, without any change in the error message.

I have installed the Core Control plugin, and the Filesystem Access module says the only error is that SSH2 is not available, but this is not required for automatic updates.

How do I perform the command:

chown www-data:www-data /path/to/wp-content/ -R

from a Windows machine? Is it telnet, or putty? What commands do I use to login? Thanks.

3
  • Why don't you try FTP? I'd recommend Filezilla in this case.
    – Ciprian
    Jan 10, 2012 at 15:08
  • @CiprianPopescu have already tried this. Mentioned in 2nd paragraph of Q. Thx.
    – Steve
    Jan 11, 2012 at 14:46
  • I was out of disk space. Increasing the quota solved my problem.
    – user38861
    Oct 1, 2013 at 14:18

2 Answers 2

17
+25

First do not use 777, change it back to 755.

Second you need to add the proper group permissions most likely to the same that Apache is running under. To find that out try:

ps aux | grep apache 

You will see the Apache user group on the left.

Now change your WordPress folder to the same user group, you can do this in a parent folder or sub folder but for sanity it usually best for parent folder, use -R to recursively do it.

chown -R www-data:www-data /path/to/wp-root-folder
  • To login on windows use Putty
  • Enter your hostname and port
  • Choose connection type depending on server settings
  • Click open

If you try to chown and get denied you will need root privileges , type sudo su and your password.

ps. It would help if you mentioned what OS your server is running and if your running a php permission script like suPHP.

5
  • Unfortunately the host is not accepting any connections of any kind from Putty. The server is Apache, and I am not running any special permission scripts myself.
    – Steve
    Jul 22, 2011 at 10:09
  • If the host does not give you command line access, then they must fix it themselves. The web server is Apache but it is still running on an operating system, like Ubuntu, Fedora, etc. For good measure before you ask your host disable all your plugins and activate the default theme.
    – Wyck
    Jul 22, 2011 at 13:58
  • The web hosts confirmed the permission for Wordpress on the site in question completely match those of another Wordpress installation on another site of mine, both running the same version of WP.
    – Steve
    Aug 8, 2011 at 10:15
  • I was having this problem for days and was surprised that this step wasn't clarified by codex.wordpress.org/Changing_File_Permissions or other documentation on the web. Thanks.
    – Ryan
    Jun 17, 2014 at 18:34
  • Thanks for the note on ps aux | grep apache -- turns out my server is not running with the user I thought it was! :-)
    – dantiston
    Mar 25, 2017 at 5:20
0

If you are using vsftpd as your FTP server and have enabled passive connections, you need to add pasv_promiscuous=YES to /etc/vsftpd/vsftpd.conf.

Not the answer you're looking for? Browse other questions tagged or ask your own question.