How to install free SSL using DNS challenge (apply on all subdomains) on ubuntu server?

Explain how to install/configure free SSL using DNS challenge on ubuntu server.

To configure free SSL on website domain, there are few steps need to follow and require you to have access of below:

- Domain management panel like route53 in AWS, DNS zone in azure etc where you can go and create a txt record.
- Server terminal access so that you can login and make some change in apache configuration file to specify certificate path

Once you have these access, now follow steps to generate certificate and apply on domain:
- Run the command
    sudo certbot -d abc.com -d *.abc.com --manual --preferred-challenges dns certonly    
- Copy the generated code and create a TXT record with name _acme-challenge and put the value you just copied and wait a minute to be the record in effect and then hit enter in terminal. You will see an information saying that certificate has been applied Successfully
- Now you just need to specify path of the certificate and secret files in apache virtual host file within tag.
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/abc.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/abc.com/privkey.pem