Drupal - Configure Apache Microcache

Submitted by sysop on Mon, 10/09/2023 - 11:57

Configure Apache Microcache


Apache HTTP Server, commonly known as Apache, is a widely used open-source web server software. Caching is an essential aspect of web server optimization, and it can significantly improve the response time and reduce the load on the server. Apache Microcache typically refers to a small and quickly accessible cache that is often used in the context of web servers to improve performance.

Here are general steps you might follow to configure Apache Microcache with Drupal:

  1. Enable mod_cache and mod_disk modules: Make sure the mod_cache module is enabled in your Apache server. You can do this by editing your Apache configuration file and ensuring that the module is loaded:
    sudo nano /etc/httpd/conf/httpd.conf
    
    #Ensure that the mod_cache module is loaded. Look for a line like this:
    LoadModule cache_module modules/mod_cache.so 
    
    #Similarly, load the mod_disk_cache module. Look for a line like this:
    LoadModule disk_cache_module modules/mod_disk_cache.so
    
    
    
    
  2. Configure mod_cache and mod_disk_cache: You'll need to configure the mod_cache and mod_disk_cache modules. Below is a basic example. Adjust the configuration based on your requirements. This configuration is tailor made for Drupal. Kindly adjust this to your needs for other CMSs.
      <IfModule mod_cache.c>
      #Turn off CacheQuickHandler directive.
      CacheQuickHandler Off
     
      #Turn of Cache Headers as only enable if required.
      CacheHeader Off
      CacheDetailHeader Off
      
      #Cache everything
      CacheIgnoreNoLastMod On
    
      #Set Cache expiry
      CacheDefaultExpire 180
      CacheMinExpire 5
      CacheStoreExpired Off
      CacheLastModifiedFactor 0.5
      
      #Ignore Cache control headers
      CacheIgnoreCacheControl On
      CacheIgnoreHeaders Set-Cookie Cookie
    
      #Set CacheLock to avoid stale caches
      CacheLock on
      CacheLockMaxAge 5
      CacheDisable /admin
      
      #Add GZIP compression
      SetOutputFilter CACHE
      AddOutputFilterByType DEFLATE text/html text/plain text/css 
                            application/javascript 
                            application/rss+xml 
                            text/xml image/svg+xml
      
      #Configure mod disk cache
      <IfModule mod_cache_disk.c>
      # Adjust CacheRoot according to your needs
      CacheRoot /var/cache/httpd/proxy/
      CacheEnable disk /
      CacheDirLevels 2
      CacheDirLength 1
      CacheMaxFileSize 20000000
      </IfModule>
      </IfModule>

    Adjust the CacheRoot directive to point to a directory where you want to store the cached data.

  3. Save and Restart Apache: Save the changes to the configuration file and restart Apache to apply the changes.

    # Restart Apache
    sudo systemctl restart apache2

Note: You may need to adjust the configuration based on your specific use case and performance goals. Always refer to the Apache documentation for the most accurate and up-to-date information.

That's it. You have configured Apache Microcache with Drupal. Congratulations!!!