Sunday, March 28, 2010

Setting HTTPS on Apache Web Server

Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encryption and secure (website security testing) identification of the server. HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate information systems. HTTPS should not be confused with Secure HTTP (S-HTTP) specified in RFC 2660. (

There are some steps to enable https protocol in apache web server.

  1. Create your certificate

  2. Reconfig your  apache web server

  3. Restart your  apache web server

1. Create your certificate

You need openssl to create crtificate
root@ubuntu-linux#openssl genrsa -des3 -out your-certificate-name.key 1024
Generating RSA private key, 1024 bit long modulus
e is 65537 (0x10001)
Enter pass phrase for your-certificate-name.key:
Verifying - Enter pass phrase for your-certificate-name.key:


Ensure a new file (your-certificate-name.key) was created from some commands above.
root@ubuntu-linux#openssl req -new -key your-certificate-name.key -x509 -days 1000 -out your-certificate-name.crt
Enter pass phrase for your-certificate-name.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:West Java
Locality Name (eg, city) []:Bogor
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bogor Agricultural University
Organizational Unit Name (eg, section) []:DKSI
Common Name (eg, YOUR name) []:Sutanto
Email Address []

2. Reconfig your apache web server

Modify your apache web server configuration file, add this to you configuration file
SSLCertificateFile /home/tnto/your-certificate-name.crt
SSLCertificateKeyFile /home/tnto/your-certificate-name.key

3. Restart your apache web server

root@ubuntu-linux#/etc/init.d/apache2 restart


  1. Easily, the article is actually the best topic on this registry related issue. I fit in with your conclusions and will eagerly look forward to your next updates. Just saying thanks will not just be sufficient, for the fantastic lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates. Really fantastic and I will be coming back for more information at your site and revisit it! Thank you. server

  2. I think this website contains some really good info for everyone. "As we grow oldthe beauty steals inward." by Ralph Waldo Emerson.

  3. Nice to meet you your site is wonderful .I agree that you are making your intensive knowledge.I would love to explore many more features of your web.Will come back!

  4. Some genuinely great content on this web site , regards for contribution.

  5. Hello, Neat post. There is an issue along with your website in web explorer, would check this… IE still is the market leader and a big portion of people will leave out your wonderful writing due to this problem.

  6. I like this web site it's a master piece! Glad I noticed this on google.