Hello and welcome to my first blog post!
As my first post on the blog I figured it was only appropriate to write down the process of setting up and configuring this Grav instance. This instance is currently running Grav with the Editorial theme. I'm currently running it on the smallest size vps available from Linode. We're using Ubuntu 24.04 as the OS, Caddy for the reverse proxy, and php 8.3.
Info
This post assumes you already have a domain name with a domain record pointing to an Ubuntu 24.04 server
-
Download the skeleton and unzip it to the proper directory. Download the files and then unzip them into the proper directory. For my case I chose to put them into
/var/www/grav
.
Check to make sure the files are owned by the appropriate owner (ie www-data) or chown them if necessary -
Install the necessary php modules and caddy using the command below:
sudo apt-get install caddy php8.3-xml php8.3-zip php8.3-mbstring php8.3-gd php8.3-dom php8.3-curl php8.3-fpm
-
After everything is installed let's edit the Caddyfile located at
/etc/caddy/Caddyfile
. The only changes I made to the example webserver-configs Caddyfile is listed below.blog.dropthepackets.net root * /var/www/grav php_fastcgi unix//run/php/php8.3-fpm.sock
-
Once we have our Caddyfile, let's format it and then reload Caddy. We can do this by running
caddy fmt --overwrite && caddy reload
while in the/etc/caddy
directory. After that we'll check to make sure Caddy is up and running:bpenguin@blog:/var/www/grav$ sudo systemctl status caddy [sudo] password for bpenguin: ● caddy.service - Caddy Loaded: loaded (/usr/lib/systemd/system/caddy.service; enabled; preset: enabled) Active: active (running) since Wed 2025-02-19 14:15:53 UTC; 11h ago Docs: https://caddyserver.com/docs/ Main PID: 660 (caddy) Tasks: 7 (limit: 1066) Memory: 21.9M (peak: 59.7M swap: 2.0M swap peak: 2.9M) CPU: 17.055s CGroup: /system.slice/caddy.service └─660 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
Now we're able to access our new blog! For the next post I will be looking at getting the site synced and deployed with Github Actions. Thanks for stopping by and reading!