This guide will walk you through the process of setting up custom SSL certificates on our server. SSL (Secure Sockets Layer) is a protocol that provides secure communication over the internet. It ensures that data transmitted between your website and its users is encrypted and secure.
Prerequisites
Before you begin, make sure you have the following:
- A domain name pointing to your server.
- An SSL certificate (you can purchase one from a trusted certificate authority).
- Access to your server’s command line interface.
Step-by-Step Guide
Install Certbot
Certbot is a client that automates the process of obtaining and installing SSL certificates. Install it on your server using the following command:sudo apt-get install certbot python3-certbot-apache
If you are using a different operating system, refer to the Certbot installation guide for instructions specific to your system.
Obtain an SSL Certificate
Once Certbot is installed, navigate to your website’s root directory and run the following command:sudo certbot --apache
Certbot will automatically detect your website’s domain and ask for your email address. After you confirm, it will attempt to obtain an SSL certificate from Let’s Encrypt.
Configure SSL Settings
Certbot will automatically update your Apache configuration to enable SSL. You can verify the changes by checking the Apache configuration file (usually located at/etc/apache2/sites-available/000-default.conf
).<VirtualHost *:443> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com chain.pem </VirtualHost>
Restart Apache
After making the changes, restart Apache to apply the new SSL configuration:sudo systemctl restart apache2
Test SSL Connection
You can test your SSL connection using a tool likecurl
:curl -k https://www.example.com
The
-k
flag allowscurl
to bypass certificate validation, which is useful for testing purposes.
Additional Resources
For more information on SSL and security best practices, please refer to our Security Best Practices Guide.