CSR Creation1. Login to your server via your terminal client (ssh). At the prompt, type:

#
openssl req -new -nodes -keyout server.key -out server.csr
where server is the name of your server.
This begins the process of generating two files: the Private-Key file for the decryption of your SSL Certificate, and a certificate signing request (CSR) file (used to apply for your SSL Certificate) with apache openssl.
When you are prompted for the Common Name (domain name), enter the fully qualified domain name for the site you are securing. If you are generating an Apache CSR for a Wildcard SSL Certificate your common name should start with an asterisk (such as *.example.com).
You will then be prompted for your organizational information, beginning with geographic information. There may be default information set already.
This will then create your openssl .csr file.
2. Open the CSR file with a text editor and copy and paste it (including the BEGIN and END tags)
, paset it into a txt file (Notepad, ANSI, no word no fancy editors). SEnd it to the SSL registrant.
3.
Save (backup) the generated .key file as it will be required later for Certificate installation.SSL Instalation1) You have to receive from the SSL provider two files (usually tey are provided in zip format)
a) the intermediate certificate for example in DigiCert case "DigiCertCA.crt"
b)the primary certificate (your_domain_name.crt) generated based on your CSR files
Copy this file on your server and make them readable by root only.
2) Find the Apache config file to edit:
The location and name of this file can vary from server to server -- Especially if you use a special interface to manage your server configuration.
Apache configuration files are typically found in /etc/httpd. The main configuration file is usually named httpd.conf. In some cases the <VirtualHost> blocks will be at the bottom of this httpd.conf file. Sometimes you will find the <VirtualHost> blocks in their own files under a directory like /etc/httpd/vhosts.d/ or /etc/httpd/sites/ or in a file called ssl.conf.
If you open the file with a text editor, you should be able to find <VirtualHost> blocks which contain Apache settings.
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 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.
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:
Below is a very simple example of a virtual host configured for SSL. The parts listed in bold are the parts that must be added for SSL configuration:
<VirtualHost 192.168.0.1:443>
DocumentRoot /var/www/html2
ServerName www.yourdomain.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>
Adjust the file names to match your certificate files:
* SSLCertificateFile should be your primary certificate file (eg. your_domain_name.crt).
* SSLCertificateKeyFile should be the key file generated when you created the CSR.
* SSLCertificateChainFile should be the based on our example the DigiCert intermediate certificate file (DigiCertCA.crt) or whatever company certificate has issued your certificate.
5) Test your Apache config before restarting.
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.
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 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.
7) Test your SSL site with a browser.
For best results exit your web browser first and then re-launch it. Go to your site using its https secure URL. Test with more than just Internet Explorer because IE is able to permanently cache intermediate SSL certificates, so IE will sometimes appear fine even though Firefox and other browsers will give a trust warning.
If your site is public, you can also use our Server Certificate Tester which can detect common problems.
Troubleshooting tips:
If you receive a "not trusted" warning, view the certificate to see if it is the certificate you expect. Check the Subject, Issuer, and Valid To fields. If the certificate is issued by DigiCert, then your SSLCertificateChainFile is not correctly configured.
If you do not see the certificate you expect then you may have another SSL <VirtualHost> block before the one you recently configured. Name based virtual hosts are not possible with https unless you use the same certificate for all virtual hosts (eg. a wildcard certificate, or a unified communications certificate) It is not a limitation of Apache, but of the SSL protocol. Because Apache must send a certificate during the SSL handshake, before it receives the HTTP request which contains the Host header, Apache always sends the SSLCertificateFile from the first <VirtualHost> block that matches the ip and port of the request.
SSL on APACHE