HOWTO

This is a self-hosted website. I run a small web server at home. Part of my motivation is to use it to learn about computing technology. I try to keep at least somewhat current. The other objective of this exercise is to keep things simple and exert more control over my internet presence. The wiki has been a satisfying resource for documenting my (right-brain) interests and side-channel personal creative practice. It is another small tool that is enjoyable to build skill with and to use. The equipment that I use is largely recycled or repurposed hardware that was decommissioned from the university that I work at.

Hardware

Originally, I started off with a repurposed raspberry pi 1 model A+ running Raspbian. Later I upgraded to a raspberry pi 3 Model B+ running Ubuntu Server. Currently, I have the website running on a Debian container as part of a small homelab server that I put together from a decommissioned lab computer. I miss the RPis, but this freed up some limited outlet space in the retrolab occupied by their wallwarts. Resource allocation is also far more dynamic -- instead of buying a 16 or 32GB microSD, I can tailor the size of the container and grow it as needed.

Without any experience with hypervisors and containers, the RPi was the right way to start off. A small, standalone machine is easy to configure and to start over if necessary. The SD storage is simple to backup and archive on another computer. A light web server doesn't need the latest and greatest hardware. Other than some issues when processing uploaded images, the A+ did a fine job. The 3B+ was snappier and could handle images better.

My current setup is a Proxmox VE that runs several containers -- one for performing backups of household laptops, another for ad blocking on the network, and the webserver. The machine is an old office computer from about 2017 with an 8-core Xeon processor, 32GB of RAM (overkill for my uses, currently), and three 256GB SSDs. All of this, except for an additional 12TB spinning rust drive, was basically headed for the scrap heap.

Webserver

Since my servers have been Debian (Raspbian) or Ubuntu, it can run apache2 out of the box. I run the machines headless and do all of the management through the command line. Getting the pmwiki up and running is straightforward. I'm a little wary that someday it will become unsupportable and susceptible to security issues through its use of php. I chose pmwiki, though, because it uses the filesystem rather than a database. In the end, everything I type into it is a text file in a directory.

I'm using a fairly vanilla installation of PmWiki (PmWiki site). The only additional module I have installed is Mini, which is a cleaner interface for sharing photos in my view. (It advertises itself as a "simple, lightweight, un-bloated gallery with thumbnail generator.") It requires some small degree of configuration. See the Mini Cookbook page.

One somewhat significant challenge is getting ssl running correctly so that the webserver can default to a secure site. I want this to be between you and me! Also, I don't want anyone sniffing the passwords as I log in to edit it. Eventually, I'll post some details about the ssl setup and getting certificates.

Because the machine is at home, I have ddclient installed for dynamic DNS services. I originally bought my domain through Google Domains and had the dynamic DNS through them. Now that the business has been sold to Squarespace, I'm not sure what I'll do next. Hosting privately also requires a port forwarding to be opened on my network router for ports 80 (html) and 443 (ssl). These forward to the webserver container.

Finally, the server backs up to a remote computer. While hardly necessary, I have a healthy paranoia. A cron job rsyncs to the remote server (a frequency dictated by my skepticism of the SSD durability on the Pis that I used previously) where a compete copy of the /var/www tree is kept. Each day the remote computer creates a dated tarball of the site which rolls over each month. Hopefully, if it becomes necessary, I can catch any corruption and roll back to an earlier version.

More on?

  • server config
  • ssl certificates
  • backups
  • pmwiki

Is this useful? - Useful Unix commands

pmwiki reminders

  • (:comment lorem ipsum dolor :) to comment out text

Is there a way to make self-numbering footnotes? [1] Yes, but you have to put the references in the right order. [2]

  1. Reference 1.
  2. Reference 2.

This is the code:

Is there a way to make self-numbering footnotes? [[#ref1|#]] Yes, but you have to put the references in the right order. [[#ref2|#]]

# [[#ref1]] Reference 1.
# [[#ref2]] Reference 2.