Install Let’s encrypt certificate on Shared Hosting (Like bluehost, a small orange)

After writing this article, I investigated more and found easier and less bothering way. Click here and check.

Commonly, Let’s encrypt guides are for full-featured linux environment like local one. In shared hosting, that’s not common. Though many of them provide SSH environment, those are very limited.
In this guide, it doesn’t use shared hosting’s SSH environment. It only needs your linux environment.

Required

  1. Accessible linux environment other than Hosting provider’s (e.g. Bash on Windows, Ubuntu virtual machine)
  2. CPanel accessible shared hosting (e.g. Bluehost, a small orange)

Procedure

  1. Install git on linux environment.

    sudo apt install git

  2. Clone Let’s encrypt’s repository.

    git clone https://github.com/letsencrypt/letsencrypt

  3. Enter letsencrypt directory, and run script.

    cd letsencrypt
    ./letsencrypt-auto certonly -a manual –rsa-key-size 4096 -d (Domain to apply)

  4. Then it will show some windows. Proceed to ‘Make sure your web browser…’ message. When the message shows up, stop and go to next procedure.
  5. After that, it shows acme-challenge. As it shows, upload the file with given name and contents, at public_html/.well-known/acme-challenge directory. And then press ENTER.
  6. Finally certificates are created. Go to given directory, and copy all of them to local. The directory is blocked for users so you would need ‘sudo -s’ to cd.
  7. Access to CPanel of your shared hosting. And find SSL/TLS.
  8. Go into Private Keys
  9. Go down to ‘Choose a .key file’ and click ‘Browse’. Then upload ‘privkey.pem’.
  10. Go back and select Certificates (CRT). And upload cert.pem and chain.pem.
  11. Go to Install and Manage SSL for your site(HTTPS).
    Firstly select your domain and click ‘Autofill by Domain’.
  12. Push ‘Install Certificate’ button.
  13. Access with https:// and check if it’s correctly installed.