Skip to content

How to install Certbot on your Linux VPS

Instructions for installing Certbot for Apache2 and Nginx on a Linux VPS.

With Certbot you can set up free TLS/SSL certificates from Let's Encrypt.

  1. Update system
    First update the system of your server. Open the console and enter the following command:

    bash
    apt update && apt upgrade -y
    apt update && apt upgrade -y
  2. Install Snap
    Install Snap by entering the following commands in the console:

    bash
    sudo apt install snapd
    sudo snap install core
    sudo snap refresh core
    sudo apt install snapd
    sudo snap install core
    sudo snap refresh core
  3. Install Certbot
    Install Certbot via Snap:

    bash
    sudo snap install --classic certbot
    sudo snap install --classic certbot
  4. Enable command
    Make the Certbot command available system-wide:

    bash
    sudo ln -s /snap/bin/certbot /usr/bin/certbot
    sudo ln -s /snap/bin/certbot /usr/bin/certbot
  5. Use Certbot
    Run Certbot for your web server:

    • For Apache2:
    bash
    sudo certbot --apache
    sudo certbot --apache
    • For Nginx:
    bash
    sudo certbot --nginx
    sudo certbot --nginx
  6. Check certificates
    You can find certificates under:

    /etc/letsencrypt/live/<your-domain>/
    /etc/letsencrypt/live/<your-domain>/

    Show status:

    bash
    sudo certbot certificates
    sudo certbot certificates
  7. Automatic renewal
    Certbot automatically creates a cronjob. You can use the following command to test whether the automatic renewal works correctly:

    bash
    sudo certbot renew --dry-run
    sudo certbot renew --dry-run

Certbot via APT

Note

This method often installs outdated versions. Only use it if Snap is not possible.

  1. Update system
    First update the system of your server. Open the console and enter the following command:

    bash
    apt update && apt upgrade -y
    apt update && apt upgrade -y
  2. Install Certbot
    Install Certbot for your web server:

    • For Apache2:
    bash
    sudo apt install certbot python3-certbot-apache
    sudo apt install certbot python3-certbot-apache
    • For Nginx:
    bash
    sudo apt install certbot python3-certbot-nginx
    sudo apt install certbot python3-certbot-nginx
  3. Use Certbot
    Run Certbot for your web server:

    • For Apache2:
    bash
    sudo certbot --apache
    sudo certbot --apache
    • For Nginx:
    bash
    sudo certbot --nginx
    sudo certbot --nginx
  4. Check certificates
    You can find certificates under:

    /etc/letsencrypt/live/<your-domain>/
    /etc/letsencrypt/live/<your-domain>/

    Show status:

    bash
    sudo certbot certificates
    sudo certbot certificates
  5. Automatic renewal
    Certbot automatically creates a cronjob. You can use the following command to test whether the automatic renewal works correctly:

    bash
    sudo certbot renew --dry-run
    sudo certbot renew --dry-run

Important

The domain must point to the server (A or AAAA entry), and port 80 (HTTP challenge) must be accessible - otherwise the validation will fail.