Webserver Upgraded to Debian 13


It was finally time to upgrade the old Debian 10 webserver to something more modern. This time I wanted to keep everything as stock and simple as possible.

I created a new Digital Ocean dropplet and enabled IPv6.

Logged into the new system:

ssh jasonmurray.org

Make sure the system is up to date:

sudo apt update && sudo apt upgrade && sudo reboot

Enabled IPv6:

sudo vi /etc/netplan/50-cloud-init.yaml

Adding the following lines to enable IPv6:

      addresses:
      - "2604:a880:4:1d0:0:1:4c16:5000/64"
      routes:
      - to: "::/0"
        via: "2604:a880:4:1d0::1"

Installed basic software:

sudo apt install fail2ban nginx certbot python3-certbot-nginx rsync nftables

Validate unattended-upgrades are enabled:

sudo dpkg-reconfigure unattended-upgrades

Added a Nginix virtual host:

sudo vi /etc/nginx/sites-enabled/jasonmurray.org 

With the following basic config to get Certbot working:

server {
	listen 80;
	listen [::]:80;

	server_name jasonmurray.org;

	root /home/www/jasonmurray.org;
	index index.html;

	location / {
		try_files $uri $uri/ =404;
	}
}

Created the directory:

mkdir -p /home/www/jasonmurray.org

Reload the server:

sudo systemctl reload nginx

Enabled SSL using Certbot:

sudo certbot --nginx -d jasonmurray.org

Updated my Hugo syncwebsite script:

alias syncwebsite="hugo --cleanDestinationDir && rsync -av --exclude '.DS_Store' --delete ~/Documents/www-personal/current/jasonmurray.org/public/ jasonmurray.org:www/jasonmurray.org"

Updated the website:

cd hugo; syncwebsite

That is about it. Eazy.

Sometimes it’s nice to “start over”. I didn’t copy anything, I didn’t move configs, I didn’t try to reference the old system. I “just built” a new system. A lot changed over the years. Starting over forces you to learn the “new ways” of the operating system. What commands have been replaced? Where is that configuration file at? How do they configure the network now? What new features/automations should I be using?