/serverpilot-letsencrypt

Bash script to generate and install Let's Encrypt certificate for your websites on your ServerPilot account (Free or Paid Plan)

Primary LanguageShellMIT LicenseMIT

Serverpilot Let's Encrypt Ubuntu 14.04 Ubuntu 16.04

Bash script to generate and install Let's Encrypt certificate for your websites on your free/paid ServerPilot account. Currently, the only easy way to add SSL to your ServerPilot-powered websites is by subscribing to the paid plan.

How to install

  • ssh to your server, sudo su to act as root
  • Copy sple.sh to your /usr/local/bin folder
  • Run sudo chmod +x /usr/local/bin/sple.sh to make it executable

How to use

  • Run sple.sh anywhere from your console as root
  • Follow the on-screen instructions

Why root?

This script updates/create script in the /etc/nginx-sp that requires root access

IF things go wrong

  • Check /var/log/letsencrypt for detailed error messages
  • ssh to your sp server as root
    cd /etc/nginx-sp/vhosts.d
  • List all the ssl config files
    ls *ssl*
  • Delete the <appname>.ssl.conf that is causing problem

Restart nginx sudo service nginx-sp restart

Schedule auto renewal

Add the following to your crontab (crontab -e)

For Ubuntu 14.04

0 */12 * * * /usr/local/bin/certbot-auto renew --quiet --no-self-upgrade

For Ubuntu 16.04

0 */12 * * * letsencrypt renew

Notes

  • This script assumes that you did not change your default ServerPilot installation folder
  • When entering your domain names, please list the primary root domain name first
  • To force HTTPS on your website, please follow instructions here
  • Obey/observe the rate limits. Read the full documentation on the Let's Encrypt website for more information.