Apache shutdown - Couldn't grab mutex
While Sean solution is valid, I learned another way to solve this problem.
First, you should know that this problem is related to using Certbot and SSL certificates on Ubuntu.
Now, to solve the problem without doing anything you're unsure of, simply do this (as root or with sudo):
- Create the following file:
/etc/apache2/conf-available/mutex-file.conf
- Add
Mutex file:${APACHE_LOCK_DIR} default
inside the newly created file - Enable new configuration file with
a2enconf mutex-file
- Restart Apache with
systemctl restart apache2
But hey, it's already enabled by default! Why make a file just for that?
I though the same when I found this solution.
By one wonder or another, it seems that once your start using SSL certificates, this configuration line is somehow "ignored".
Thus, Apache fail to find the lock dir for the mutex file.
Just adding (remove comment) this line into /etc/apache2/apache2.conf
isn't working either.
You have to specifically create a configuration file and enable it.
Else it won't solve the problem.
I was experiencing the same error on Ubuntu 17.10 with Apache 2.4.27.
It appears to have to do with Apache talking to the OS about file locking. When I went into /etc/apache2/apache2.conf
and added Mutex flock
to the Mutex section (near the ServerRoot section), it seems to have solved the problem.
Unfortunately, all I can say is that this uses the flock() function (a system call?) to handle file locking. Per https://httpd.apache.org/docs/2.4/mod/core.html#mutex
So it's a bit of a black magic fix in that I personally am not familiar enough with Apache's file locking behavior to say why it works, and I can only say it works because the Apache crash seems to have stopped, but only thus far. Nevertheless, it may help you and seems fairly low-risk.
Below steps worked out for me in my case.
Connect to the server via SSH
Edit the /etc/apache2/apache2.conf file. Below command I used nano editor and you can use your favorite editor
sudo nano /etc/apache2/apache2.conf
Search for "Mutex" section
Add the below line,
Mutex posixsem
Save and close the file.
Check the configuration before restarting Apache service by running the command,
sudo apachectl configtest
- Restart the Apache service if everything is fine with above check,
sudo service apache2 restart
Hope this helps someone.