richardhawthorn / serverpilot-letsencrypt

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Serverpilot Let's Encrypt Ubuntu 14.04 Ubuntu 16.04

Forked and modified from lesaff's code, to account for different serverpilot folder structure

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
    cd /usr/local/bin && wget https://raw.githubusercontent.com/richardhawthorn/serverpilot-letsencrypt/master/sple.sh
    
  • Run sudo chmod +x 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 --post-hook "service nginx-sp reload"

For Ubuntu 16.04

0 */12 * * * letsencrypt renew && service nginx-sp reload

Notes

  • This script assumes that you keep your site files in /var/sites
  • When entering your domain names, please list the primary root domain name first
  • To force HTTPS on your website, please follow instructions here
  • To redirect www to non-www or non-www to www 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.

About

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

License:MIT License


Languages

Language:Shell 100.0%