How To Fix “Cannot Obtain File Lock” With Mediawiki Uploads

When trying to upload any files i was getting an error “could not acquire lock for …”. I initially thought this was some sort of permission error since it makes sense. I tried setting the permissions for the entire images folder to 777 and made sure the ownership of the directories was correct, yet it didn’t make a difference. After a lot of googling It would seem that a common cause of the issue is SELinux.

In order to get over this problem you need to navigate to the images directory for your Mediawiki install. E.g. /var/www/html/mediawiki/images. When in this directory execute the following command.

setsebool -P httpd_unified 1

If you are using a command line tool you should see that the highlighting of the folder has changed to a green color. Go back to Mediawiki and check the file upload again. The file should now correctly upload without any error with acquiring a lock with the lock dir.

If this solution didn’t work there are a few other things to try as the problem might not be related to SELinux.

Set permissions of the directory to 777 and make sure apache is the owner and can correctly write to this directory.
Delete the contents of the lockdir folder.

Adding the following to LoadSettings.php will hopefully dump some additional error information to use for debugging.

$wgShowSQLErrors = true;
$wgDebugDumpSql = true;
$wgShowExceptionDetails = true;
$wgShowDBErrorBacktrace = true;