Hosting

From LOAF
Revision as of 18:44, 9 January 2025 by Jeremy McNaughton (talk | contribs) (wrote content for overview section)
Jump to navigation Jump to search

Notes about hosting a LOAF server

This page has notes and information about setting up a server to host multiple web applications but is not meant to be a linear tutorial. It's a work in progress. On is a bird's eye perspective on the London, Ontario LOAF server as a whole.

More information on setting up each individual service will be on separate pages.

Overview of software used on a LOAF server

Almost all software used is installed from official Debian packages. The only exception is Nextcloud which is downloaded as a tarball from the website. The reason for using Debian packages wherever possible is to facilitate simple and easy upgrades.

Also wherever possible software has been configured without modifying conffile contents. This allows apt/dpkg to perform upgrades without prompting the user about modified configuration files.

List of software
  • Debian 12 "bookworm" with "bookworm-backports" enabled
  • Nextcloud installed from tarball downloaded from the website.
  • Debian's mediawiki package
  • systemd-nspawn(1) and machinectl(1) from the systemd-container package
    • for managing containers for each hosted web application.
  • debootstrap(8) from the debootstrap package
    • for building containers or templates for containers.
  • fail2ban
    • for turning one kind of log spam into another kind of log spam.
  • PostgreSQL
    • Our web applications need an RDBMS.
  • Apache httpd
    • To act as reverse proxy and do TLS termination.
  • certbot (letsencrypt)
    • For TLS certificates.
  • OpenSSH
    • For remote login sessions.
  • nftables
    • For a basic firewall.
  • Postfix
    • To act as an MTA for system services that require one, and for containers.