# SSL

# SSL CertBot with Lets Encrypt

This runs using "snap". You will need to install that first (if you don't have it already).

See if you have snap  
 ``snap`` or ``snap -v``

### **1. If you don't have snapd installed**  


Install it.   
if you can't, [go to this page. ](https://wiki.danicus.net/books/ssl/page/step-by-step-fix-for-installing-snapd-on-linux-mint "Step-by-Step Fix for Installing snapd on Linux Mint")

#### 1.5 Go here to follow a the process of installing certbot on your own. 

They keep this updated.

Install a certificate bot REPO for "lets encrypt"  
 Go to: [https://certbot.eff.org/lets-encrypt/](https://certbot.eff.org/lets-encrypt/)

### **2. Or... follow these steps.**

### Certbot : Auto SSL certifications. 

If, you are installing in linux dabian based.

Make sure Certbot is not installed first:

```bash
sudo apt-get remove certbot
```

##### Install Certbot

Run this command on the command line on the machine to install Certbot.

```bash
sudo snap install --classic certbot
```

##### Prepare the Certbot command

Execute the following instruction on the command line on the machine to ensure that the `certbot` command can be run.

```bash
sudo ln -s /snap/bin/certbot /usr/bin/certbot
```

##### Run Certbot

Run this command to get a certificate and have Certbot edit your nginx configuration automatically to serve it, turning on HTTPS access in a single step.

```bash
sudo certbot --nginx
```

##### Test automatic renewal

The Certbot packages on your system come with a cron job or systemd timer that will renew your certificates automatically before they expire. You will not need to run Certbot again, unless you change your configuration. You can test automatic renewal for your certificates by running this command:

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

If you get no errors... your done! Woot woot!

#####   
To renew certs you already have:

Run Auto Cert

```bash
sudo certbot --nginx
```

   
Test Automatic renewal

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

# Step-by-Step Fix for Installing snapd on Linux Mint

Ah — good catch. You need to install snapd but linux wont let you... Let’s fix that step by step 👇

---

## 🧰 Step-by-Step Fix for Installing `snapd` on Linux Mint

### **1. Check your Ubuntu base version**

Run this first:

```bash
grep UBUNTU_CODENAME /etc/os-release

```

You’ll likely see something like:

```
UBUNTU_CODENAME=noble

```

(Mint 22 "Zara" → Ubuntu 24.04 “Noble Numbat”)

---

### **2. Remove Mint’s Snap block**

Linux Mint disables Snap by default using a preference file.

Run:

```bash
sudo rm -f /etc/apt/preferences.d/nosnap.pref

```

That file literally tells APT: “don’t install snapd.”

---

### **3. Add Ubuntu repositories (if missing)**

Make sure your `/etc/apt/sources.list` (or Mint repo list) includes Ubuntu’s repositories.

Run:

```bash
cat /etc/apt/sources.list

```

If you only see `packages.linuxmint.com` entries and not any `archive.ubuntu.com` or `security.ubuntu.com` lines, you’ll need to add them manually.

For **Mint 22 (Ubuntu 24.04 base)**, add this:

```bash
echo "deb http://archive.ubuntu.com/ubuntu noble main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
echo "deb http://archive.ubuntu.com/ubuntu noble-updates main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
echo "deb http://security.ubuntu.com/ubuntu noble-security main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list

```

---

### **4. Update your package lists**

```bash
sudo apt update

```

Now APT should see the standard Ubuntu repositories.

---

### **5. Install Snapd**

```bash
sudo apt install snapd -y

```

If all goes well, you’ll see it pulling from the Ubuntu repos.

---

### **6. Enable Snap service**

```bash
sudo systemctl enable --now snapd.socket

```

Then check it:

```bash
snap version

```

---

### ✅ Optional: Reboot (recommended)

```bash
sudo reboot

```

---

Would you like me to give you a single **copy-paste command block** that handles all these steps automatically for Mint 22 (Zara)?