The error ‘SSLSessionCache: ‘shmcb’ session cache not supported’ normally occurs after upgrading the Apache from 2.2. to 2.4 version.
Here at Bobcares, we have seen several such apache related errors as part of our Server Management Services for web hosts and online service providers.
Today we’ll take a look at the causes for this error and see the fix.
Facts about the error SSLSessionCache: ‘shmcb’ session cache not supported
mod_socache_shmcb is a shared object cache provider. It mainly provides for creation and access to a cache backed by a high-performance cyclic buffer inside a shared memory segment.
shmcb:/path/to/datafile(512000)
There was an upgrade available for Apache from 2.2 version to 2.4. When it was upgraded to 2.4, the WebServer didn’t start properly. As a result, it threw the below error message.
SSLSessionCache: ‘shmcb’ session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).
Different causes and fixes for the error ‘SSLSessionCache: ‘shmcb’ session cache not supported’
Now let’s take a look at the different causes of this error message. Also, we shall see how our Support Engineers fix them.
In Windows
Causes:
By default, the module mod_socache_shmcb is not enabled in apache 2.4. Whereas, in Apache 2.2, the following line is uncommented in apache/conf/httpd.conf by default.
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
But from the Apache 2.4, the above line is commented by default.
Solution:
-In order to fix this error message, we uncomment the above line in apache/conf/httpd.conf, by simply removing the # sign before it.
-Also, we ensure that the Apache 64 bit is installed if the OS is 64 bit.
-Verify that the servername present in the SSL configuration file matches the SSL certificate.
In Linux
Cause:
After upgrading to Apache 2.4, the module socache_shmcb.load might be missing in /etc/apache2/mods-enabled.
Solution:
In order to resolve this, we create a symbolic link pointing to the module. Then we enable it in /etc/apache2/mods-enabled by running the below command.
ln -s /etc/apache2/mods-available/socache_shmcb.load /etc/apache2/mods-enabled/
After that, it is necessary to restart the Apache. For that, you can run any of the below commands depending on your config.
service apache2 restart
/etc/init.d/apache2 restart
systemctl restart apache2
apache2 -k restart
In Plesk panel
Cause:
After upgrading the Apache version to 2.4, the configuration files were not completely switched.
Solution:
Check for the existence of custom templates in /usr/local/psa/admin/conf/templates folder. In case, if it exists then review all of them and change Include to IncludeOptional in every line that contain a wildcard.
However, if the custom templates are not available then change Include to IncludeOptional in every line that contains wildcard in the following files:
/etc/apache2/conf.d/zz010_psa_httpd.conf
/etc/apache2/plesk.conf.d/server.conf
/etc/apache2/plesk.conf.d/horde.conf
Make sure to enable and activate the following Apache modules
# a2enmod authz_core authz_host access_compat socache_shmcb slotmem_shm mpm_worker unixd php5 dir
[Need any assistance in fixing Apache errors? – We’ll help you]
Conclusion
In short, this error occurs after upgrading the Apache from 2.2. to 2.4 version. Today, we saw the different causes and its solution to this error.
Very helpful. Thanks.