This guide walks you through installing a GoDaddy SSL certificate on an Apache web server. By the end, your site will serve HTTPS traffic with a trusted certificate, and we’ll cover the prerequisites, step-by-step commands, common pitfalls, and troubleshooting.
What You’ll Need
- An Apache server (2.4.x recommended) with
mod_sslenabled. - Root or sudo access to the server.
- Your GoDaddy SSL certificate files: the primary certificate (
.crt) and the intermediate bundle (usually namedgd_bundle-g2-g1.crtor similar). - The private key you generated when creating the CSR (Certificate Signing Request). If you lost it, you’ll need to reissue the certificate.
- Your domain’s DNS pointing to the server’s IP address.
Step-by-Step
- Download your certificate files from GoDaddy. Log in to your GoDaddy account, go to SSL Certificates, select the certificate, and click Download. Choose the server type Apache and download the zip. Extract it to get the primary certificate and the bundle.
- Upload the files to your server. Use SCP, SFTP, or any method you prefer to place the certificate files and your private key on the server. A common location is
/etc/ssl/certs/for certificates and/etc/ssl/private/for the key. For example:scp your_domain.crt gd_bundle-g2-g1.crt user@yourserver:/etc/ssl/certs/ scp your_private.key user@yourserver:/etc/ssl/private/ - Set proper permissions. The private key must be readable only by root and the Apache process. Run:
chmod 600 /etc/ssl/private/your_private.key chmod 644 /etc/ssl/certs/your_domain.crt /etc/ssl/certs/gd_bundle-g2-g1.crt - Locate your Apache SSL configuration. On most systems, this is in
/etc/httpd/conf.d/ssl.conf(RHEL/CentOS) or/etc/apache2/sites-available/default-ssl.conf(Debian/Ubuntu). If you’re using virtual hosts, you may have a separate file per site. - Edit the SSL virtual host configuration. Add or update these directives inside the
<VirtualHost _default_:443>block:SSLEngine on SSLCertificateFile /etc/ssl/certs/your_domain.crt SSLCertificateKeyFile /etc/ssl/private/your_private.key SSLCertificateChainFile /etc/ssl/certs/gd_bundle-g2-g1.crtMake sure the paths match where you placed the files.
- Enable the SSL module and site (if needed). On Debian/Ubuntu:
sudo a2enmod ssl sudo a2ensite default-ssl.confOn RHEL/CentOS, the module is usually already enabled.
- Test the configuration. Run
apachectl configtestorhttpd -tto check for syntax errors. You should see Syntax OK. - Restart Apache. Use
sudo systemctl restart apache2(Debian/Ubuntu) orsudo systemctl restart httpd(RHEL/CentOS). - Verify the installation. Visit
https://yourdomain.comin a browser. You should see the padlock icon. You can also use online SSL checkers oropenssl s_client -connect yourdomain.com:443to inspect the certificate chain.
Common Mistakes
- Wrong file paths: Double-check that the paths in the config match the actual file locations.
- Missing intermediate bundle: Without the chain file, some browsers will show errors. Always include
SSLCertificateChainFile. - Private key mismatch: If the key doesn’t match the certificate, Apache will fail to start. You can test with
openssl x509 -noout -modulus -in cert.crt | openssl md5andopenssl rsa -noout -modulus -in key.key | openssl md5; the hashes must match. - Not enabling SSL on the correct virtual host: Ensure the directives are inside the
:443virtual host, not the port 80 one. - Firewall blocking port 443: Make sure your server’s firewall allows HTTPS traffic.
Tips
- Always back up your previous certificate and key before replacing them.
- Set up a redirect from HTTP to HTTPS in your
.htaccessor virtual host to force secure connections. - Consider using a cron job to renew the certificate automatically if you’re using Let’s Encrypt, but for GoDaddy you’ll need to manually reissue and reinstall before expiry.
- Keep your private key secure; never share it or commit it to version control.
Troubleshooting
- Apache won’t start: Check the error log (
tail -f /var/log/apache2/error.logor/var/log/httpd/error_log). Common causes: file not found, permission denied, or key/cert mismatch. - Browser shows “Not Secure” or certificate error: Use an SSL checker to see if the chain is complete. If the intermediate is missing, re-add the
SSLCertificateChainFileline and restart. - Certificate works on one domain but not another: Ensure the certificate covers the exact domain (including
www). GoDaddy certificates usually cover both, but verify the common name. - Mixed content warnings: If your page loads resources over HTTP, you’ll see warnings. Update all internal links to HTTPS.
- Certificate expired: Reissue from GoDaddy, download the new files, and repeat the installation steps.
Frequently Asked Questions
Do I need to install the intermediate bundle?
Yes. Most browsers trust the root CA but not the intermediate. Without the chain file, the certificate chain is incomplete, and browsers will show an error.
What if I lost my private key?
You cannot recover it. You must reissue the certificate from GoDaddy with a new CSR and key.
Can I use the same certificate on multiple servers?
Yes, as long as the domain matches and you have the private key. You can install the same certificate on multiple servers, but it’s often easier to get a dedicated certificate for each.
How do I renew my GoDaddy SSL certificate?
Log in to GoDaddy, go to SSL Certificates, and click Renew. After renewal, download the new certificate and reinstall it on your server.
Why does my site show a padlock with a warning?
This could be due to mixed content (HTTP resources on an HTTPS page) or an incomplete chain. Check your browser’s console for specific errors.
Can I install a GoDaddy certificate on Apache using cPanel?
Yes, cPanel provides a graphical interface under Security > SSL/TLS. The steps are similar: paste the certificate, key, and bundle, then install.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.
More cards in this drawer
- Secure Boot Battlefield 6 ASUS: Fix & Enable Guide
- Best Tech Websites to Follow for Pros & Beginners
- Second Wind Quest Walkthrough: Where Winds Meet6.00 min/km
- Enshrouded Weapon Upgrade Guide: How to Improve Gear5.00 min/km
- Connect Phone to Controller for Cloud Gaming
- Python Search Highlighting: Snippets & Matches