How to install free SSL Certificate for your website using Let's Encrypt
SSL Certification
Secure websites use encryption and authentication standards to protect the confidentiality of web transactions. Hypertext Transfer Protocol Secure is an extension of the Hypertext Transfer Protocol. It is used for secure communication over a computer network and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security or, formerly, Secure Sockets Layer.
Step 1: Installation Of Apache
Use the following command to install Apache.
yum install httpd -y
After the installation, we can add service in the firewall using firewall-cmd.
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
Then we can reload the firewalld service.
firewall-cmd --reload
Start and Enable the Apache.
systemctl start httpd
systemctl enable httpd
Check the status of Apache
systemctl status httpd
When you have your server’s IP address or Domain name and enter it into your browser’s address bar.
Step 2: Create A Sample Website
Create the HTML directory for test.com
as follows, using the -p flag to create any necessary parent directories.
mkdir -p /var/www/test.com/html
Create an additional directory to store log files for the site.
mkdir -p /var/www/test.com/log
Next, Create a sample
vi /var/www/test.com/html/
Press i and add the following sample HTML to the file and save.
<html>
<head>
<title>Welcome to test.com!</title>
</head>
<body>
<h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
Create directory for sites-available and sites-enabled.
mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
Next
vi /etc/httpd/conf/httpd.conf
Add this line to the end of the file.
IncludeOptional sites-enabled/*.conf
Add following lines to this file.
vi /etc/httpd/sites-available/example.com.conf
<VirtualHost *:80>
ServerName www.test.ninjasail.com
ServerAlias test.ninjasail.com
DocumentRoot /var/www/test.com/html
ErrorLog /var/www/test.com/log/error.log
CustomLog /var/www/test.com/log/requests.log combined
</VirtualHost>
Finally create a symbolic link.
ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
Step 3: Free SSL Certificate
Go to certbot home page https://certbot.eff.org/
Select Apache and CentOs7.
Enable EPEL repo and install Certbot.
yum install certbot python2-certbot-apache
Run this command to get a certificate and have Certbot edit your Apache configuration automatically to serve it, turning on HTTPS access in a single step.
certbot --apache
Allow everything and put your domain name also.
Add a cron job to the default crontab.
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
Confirm that Certbot worked.
https://yourwebsitename.com
Our sample website name.
https://test.ninjasail.com
Conclusion
We hope this article helped you learn how to get a free SSL certificate for your website. SSL, more commonly called TLS, is a protocol for encrypting Internet traffic and verifying server identity. TheStack is one of the best web hosting providers that offer premium shared web hosting, cheap dedicated server hosting, VPS server, WordPress hosting, and free SSL certificates. Be assured with our services and reach out to our team of experts to know more.