Technical Documents

How to Install Certificates on Apache ECC

Apache: How to Install Your SSL Certificate

1. Copy the Certificate Files to Your Server
  1. Log into your Management Console.
  2. Download the ECC Intermediate (XYZ.crt) and your ECC Primary Certificate (i.e. your-domain_name.crt) files.
  3. Copy the files to the directory on your server where you keep your certificates and key files.
  4. Make the certificates readable by root only.
2. Find the Apache Config File to Edit

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.

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.

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.

One way to locate the SSL Configuration on Linux distributions is to search using grep, as shown in the example below.

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 <VirtualHost> Block to Configure

If you need your site to be accessible through both secure (https) and non-secure (http) connections:

You need a virtual host for each type of connection. One for port 80 and the other for port 443. Make a copy of the existing non-secure virtual host and configure it for SSL as described in step 4.

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 <VirtualHost> Block for the SSL-Enabled Site
  1. Below is a very simple example of a virtual host configured for SSL. The parts listed in bold are the parts that must be configured for the SSL configuration and they may be spread out throughout the file:<VirtualHost<strong>443</strong>> DocumentRoot /var/www/html2 ServerName <strong>SSLEngine on SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/server.key SSLCertificateChainFile /path/to/CACompany<strong>ECCSecureServerCA.crt</strong></strong> </VirtualHost>
  2. Adjust the file names above to match your certificate files:
    • SSLCertificateFile

      This file should be your ECC SSL Certificate file (e.g. your_domain_name.crt).

    • SSLCertificateKeyFile

      This file should be the key file generated in step 2 of the Apache: Create Your ECC CSR (Certificate Signing Request)instruction.

    • SSLCertificateChainFile

      This file should be the ECC intermediate certificate file.

      Note: If the SSLCertificateChainFile directive does not work, try using the SSLCACertificateFile directive instead.

5. Test Your Apache Config before Restarting

Because Apache will not start again if your config files have syntax errors, you should check your Apache config files for any errors before restarting.

  • Run the following command to test your config files:<strong>apachectl configtest</strong>
  • On some systems, you need to run this command to test your config files:<strong>apache2ctl configtest</strong>
6. Restart Apache
  • You can use apachectl commands to stop and start Apache with SSL support:<strong>apachectl stop</strong> <strong>apachectl start</strong>
  • If Apache does not start with SSL support, try using the apachectl startssl command instead of apachectl start.
  • If SSL support only loads with apachectl startssl, we recommend that you adjust 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 <IfDefine SSL> and </IfDefine> tags that enclose your SSL configuration.

Chat With Us

We are here for you!
Talk to a fellow human.

United States