Knowledge Base
Save 25% on a custom website!

How to Install Certificates on Apache Open SSL

Important: This article applies to customers with SSL services only.

Apache Server SSL Certificate Installation

SSL Certificate Installation in Apache. Please make sure to copy the Certificate files to your server.

  1. Download your Intermediate (XYZ.crt) and Primary Certificate (your_domain_name.crt) files from your Customer Area, then copy them to the directory on your server where you will keep your certificate and key files. Make them readable by root only.
  2. Find the Apache config file to edit.
    1. The location and name of the config file can vary from server to server - especially if you use a special interface to manage your server configuration.
    2. Apache's main configuration file is typically named httpd.conf or apache2.conf. Possible locations for this file include /etc/httpd/ or /etc/apache2/. For a comprehensive listing of default installation layouts for Apache HTTPD on various operating systems and distributions, see Httpd Wiki - DistrosDefaultLayout.
    3. Often, the SSL Certificate configuration is located in a <virtualhost> block in a different configuration file. The configuration files may be under a directory like /etc/httpd/vhosts.d/, /etc/httpd/sites/, or in a file called httpd-ssl.conf.
    4. One way to locate the SSL Configuration on Linux distributions is to search using grep, as shown in the example below.
    5. Type the following command:

      grep -i -r "SSLCertificateFile" /etc/httpd/

      Where /etc/httpd/ is the base directory for your Apache installation.

  3. Identify the SSL block to configure.
    1. If you need your site to be accessible through both secure (https) and non-secure (http) connections, you will need a virtual host for each type of connection. Make a copy of the existing non-secure virtual host and configure it for SSL as described in step 4.
    2. If you only need your site to be accessed securely, configure the existing virtual host for SSL as described in step 4.
  4. Configure the block for the SSL-enabled site.
    1. Below is an example of a virtual host configured for SSL. The parts listed in bold are the parts that must be added for SSL configuration:

      DocumentRoot /var/www/html2 ServerName www.yourdomain.com
      ... on SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/XYZ.crt

    2. Adjust the file names to match your certificate file:
      • SSLCertificateFile should be your certificate file (e.g. your_domain_name.crt).
      • SSLCertificateKeyFile should be the key file generated when you created the CSR.
      • SSLCertificateChainFile should be the intermediate certificate file (XYZ.crt)
    3. If the SSLCertificateChainFile directive does not work, try using the SSLCACertificateFile directive instead.
  5. Test your Apache config before restarting.
    1. It is always best to check your Apache config files for any errors before restarting because Apache will not start again if your config files have syntax errors. Run the following command: (it is apache2ctl on some systems)

      apachectl configtest

  6. Restart apache.
    1. You can use apachectl commands to stop and start Apache with SSL support:

      apachectl stop
      apachectl start

Note: If Apache does not start with SSL support, try using apachectl startssl instead of apachectl start. If SSL support only loads with apachectl startssl, we recommend adjusting the apache startup configuration to include SSL support in the regular apachectl start command. Otherwise, your server may require that you manually restart Apache using apachectl startssl in the event of a server reboot. This usually involves removing the end tags that enclose your SSL configuration.

For more information, you may click here.

Did you find this article helpful?

* Your feedback is too short