Setting permissions for wordpress

November 5, 2013 57.9k views
I installed wordpress on lamp and cannot update themes or install plugins. I get an "unable to create directory" error when I try to. When I spoke with support they told me to do this: root@domain:~# chown -R www-data /var/www/wordpress but what I got was this: chown: cannot access `/var/www/wordpress': No such file or directory So, I was told to find where wordpress was installed but my understanding is that according to the tutorials here on DO its installed in home and then moved to /var/www Can anyone help with this? Thanks!
12 Answers
Execute:
sudo chown -R www-data:www-data /var/www

Everyone experiencing this issue should execute these commands:

sudo usermod -aG www-data $USER

Adds the currently logged in user to the www-data group.

sudo chown -R www-data:www-data /var/www

Changes the ownership of the /var/www directory to www-data group.

sudo chmod -R 774 /var/www

Sets the proper permissions so you can upload files via sftp, manage files via command-line, and upload plugins and media directly in WordPress.

The following is not aimed toward the original poster, but toward a couple of the comment authors:

If this doesn't fix the issue you're having, you've got something else wrong and bashing DO is not going to help anyone. If you want a managed server, look for hosting elsewhere. If you need help, ask someone or hire an admin that knows how to not only 'set things up' but knows how to secure your server as well. You'll be glad you did. DO is not for novices, even if they have a lot of tutorials.

  • Hi,
    Does this still works?

    I got everything under www-data but it's a huge security risks.

    However i tried to add my other username under www-data group,
    Even after that when the group & owner as set as user:user, am still facing the FTP issues while upgrading or adding the plugin or themes.

    Is there a working solution that allow us to use it peacefully?

  • Great stuff, It worked fine. Very helpful, many thanks.

"I installed wordpress on lamp..."

How? Did you follow a guide? If so, which one?

"... but my understanding is that according to the tutorials here on DO its installed in home and then moved to /var/www"

Not all tutorials take that approach.

Also, the command you need to execute is:
sudo chown -R www-data:www-data /path/to/WordPress/Installation
  • Sorry, for dumb question... Is it safe and right way to give all the permissions to apache for hole catalog of the site ? I'm new to it. I had the similar issue and fix it in the same way, but i'm not sure if is it right ...

Hi,

Thanks for the reply. This is the tutorial I used: https://www.digitalocean.com/community/articles/how-to-install-wordpress-on-ubuntu-12-04

When I access the site through ssh/sftp the wordpress installation is located:
sftp://username@192.241.151.234/var/www

So why isn't it working since that is /path/to/wordpress/installation or am I wrong?

Thanks

by Etel Sverdlov
Wordpress is a free and open source website and blogging tool that uses php and MySQL. It was created in 2003 and has since then expanded to manage 22% of all the new websites created and has over 20,000 plugins to customize its functionality. This tutorial shows how to install Wordpress on a server with LAMP. It is written for Ubuntu 12.04.
That fixed it!

Thanks a lot Pablo!
sudo chown -R www-data:www-data /var/www

Errors out my site completely (500)

This is super annoying. All I want to do is be able to migrate a Wordpress site to a Digital Ocean droplet and have it work without spending days on it!
@jason: What webserver and OS are you using? The point is to make the files owned by the same user that is running the webserver.

I am having similar issues. My expectation is when I install WP through the DO admin it should just work. I can't use migration plugins because there are file permission issues in default install of WP. I can't upload plugins because there are file size upload limitations. I can't run certain things because curl isn't working out of the box.

I love the speed and performance but this has been a nightmare trying to migrate simple WP sites.

@robertcummings I just wanted to say thank you for this solution. I've been having this exact same problem since March and it effectively stopped me from updating anything on my site. Now everything is working perfectly!

I have the same problem, but Once I used this command sudo chmod -R 755 /var/www, one application of the server crashes, so I'm afraid to use commands for change permisions for the other apps that i have... What solution any of you recomend me, because the wordpress it's installed like a sudbomain in my droplet, and I have many differents apps there.

I don't want to do a mistake , but i need to install plugins and new theme for a blog, please help me

After trying many options, changing folder permissions fixed my Wordpress Permalinks issue. I hope this can guide other aspiring professionals as well.

Greetings:

For anyone on a Red Hat Linux or CentOS server, the owner:group needs to be

apache:apache

instead of

www-data:www-data

Hope this will help others using/stuck with RHEL.

Have another answer? Share your knowledge.