Unpacking the update... Could not create directory. Wordpress

This is a permissions issue. Ensure the directory is writable by apache. Plugins are unpacked into the wp-content/plugins directory, so I would first attempt writing to the directory as apache:

sudo -u apache touch /path/to/wp-content/plugins/test.txt

Set permissions accordingly to correct the issue. You can read about permissions here: https://www.pluralsight.com/blog/it-ops/linux-file-permissions

You can read about the correct file permission scheme for Wordpress here: https://wordpress.org/support/article/changing-file-permissions/


@skrilled and @knutole's answer was great but I found that when attempting to fix the issue on the plugins folder, everything was ok and the answer did not work for me.

If anyone else has this issue, try looking at the upgrades folder also. This folder (from what I can see) is used as a folder to store temporary files for when WP upgrades or plugin updates are being ran.

If you simply receive the message stating 'Could not create directory' and there is no path specified, it could actually be talking about the upgrades folder.


Most likely, if you have configured it correctly, the http server associated to your wordpress site belongs to the group www-data. That's how one should configure it correctly.

Try members www-data and ps aux | grep www-data to be sure. In the latter command you should see on the last columns either nginx or apache.

In this case, you just need to set that group to the directory

sudo chgrp -R www-data <your_wordpress_root_dir>/

and then add full group permissions to such directory

sudo chmod -R g+rwx <your_wordpress_root_dir>/

Now it works perfectly :)


for nginx people
if you have php-fpm installed you have to tell it that its user and group is nginx. /etc/php-fpm.d/www.conf . find user which is assigned to apache by default and change it to nginx. also do it for group. then run this command :

sudo service php-fpm restart


also inside of your wordpress directory execute these commands

sudo chown nginx:nginx * -R 
sudo usermod -a -G nginx username

change username into what your current username is.

yet you have to apply propper permissions. run these commands inside your wordpress directory

sudo find . -type f -exec chmod 664 {} + 
sudo find . -type d -exec chmod 775 {} +