Friday, September 17, 2010

How to Setup a GoDaddy SSL Certificate on CentOS/RHEL

Ok. Let's just get down to the knitty gritty! I was tired of searching for a tutorial. So I created this one for anyone else that wants/needs to setup an SSL asap within an hour!!!

1. Go to GoDaddy and grab an SSL Certificate. If you are a business or you do transactions and eCommerce and you have a registered business you actually pay taxes for. Use the Extended SSL.

NOTE: Thawte, Verisign, GlobalSign, Comodo sell SSL Certificates. Don't waist money! Use GoDaddy.

Steps to Get SSL Certificate:
1A. Buy the SSL Certificate!


2. Build a server on your favorite Virtualization platform. Rackspacecloud is the best out there at this time and the most user friendly. There are a ton of other's, but either their UI is trash, their customer service sucks or they price gauge the mess out of you. If you are a company, use Rackspacecloud or Terremark's vCloudExpress. Both UI (User Interface)'s are great, simple, quick and easy to use.

NOTE: If you have to spend more than 10 minutes trying to figure out how to use their service. Drop is a tell-tale sign of things to come if something breaks! eh..hmm...AmazonEC2..GoGrid...

3. Build your CentOS 5.5, Ubuntu LTS 10.04 or Red Hat Enterprise Linux 5.5 Server or even...uh...I hate to say it...Windows...geez...who would do that anyway?!!!.

4. Open a Terminator or Terminal Session (Ubuntu/CentOS/RHEL/Fedora) or Putty/SecureCRT for Windows Lovers.

[root@ssldemo ~]# ssh -X root@

Authenticate with your root password and your in!

5. Update and upgrade your system! 
yum -y upgrade

6. Install the following packages. 
yum -y install mod_ssl httpd screen unzip

7. Change Your hostname, /etc/sysconfig/network file and /etc/hosts

vi /etc/sysconfig/network

/etc/hosts ssldemo

8. Now...restart your networking.

service network restart
/etc/init.d/network restart
If you are super paranoid!!!... init 3 ; init 5 or...even harsher... reboot

9. Create your .crt and .key files

Why Create the Wheel!!!! Links attached. 
Open a new Window if you have a dual monitor and just knock this out.

10. Cat your demossl.crt file and copy it to upload to GoDaddy to create your SSL certificate.


11. Upload the certificate data and then download it. (Extended SSL will take time, but you can use your Turbo SSL Certificate while you are awaiting authorization verification from GoDaddy. They will call and they will check your company.)

12. Copy Your file to the server (Apache 2.x)

scp /location/of/  root@
unzip your uploaded files
copy or make sure that your ssldemo.crt and gd_bundle.crt is in /etc/pki/tls/certs
copy of make sure your ssldemo.key (remember that little tutorial? need that file buddy) 
The .key file needs to be in /etc/pki/tls/private/

13. Modify the SSL Location of the .crt and .key files in ssl.conf
vi /etc/httpd/conf.d/ssl.conf
/Server Certificate (This is how you search in case you are wondering or non-vi user.
SSLCertificateFile /etc/pki/tls/certs/ssldemo.crt
SSLCertificateKeyFile /etc/pki/tls/private/ssldemo.key
SSLCACertificateFile /etc/pki/tls/certs/gd_bundle.crt

NOTE: Just comment # out the defaults. Do not delete them. You never know if you jack something up. You can go back and fix it. Make sure you backup the file also.  If you delete it, may not save you!

14. Restart httpd/Apache
service httpd restart
type in the passphrase and you are now good to go!

15. Make sure port 443 is in /etc/sysconfig/iptables and restart iptables
service iptables restart