Hosting: Difference between revisions

From LOAF
Jump to navigation Jump to search
m (Jeremy McNaughton moved page Notes on base setup to Hosting: change top level page for better organization)
(wrote content for overview section)
Line 1: Line 1:
=== Notes on setting up a server for hosting multiple web applications ===
=== 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…
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 ====


==== 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 [https://www.debian.org/doc/debian-policy/ch-files.html#configuration-files 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
* Debian 12 "bookworm" with "bookworm-backports" enabled
* [https://nextcloud.com/install/#instructions-server Nextcloud] installed from tarball downloaded from the website.
* Debian's [https://packages.debian.org/bookworm/mediawiki mediawiki] package
* [https://manpages.debian.org/bookworm/systemd-container/systemd-nspawn.1.en.html systemd-nspawn(1)] and [https://manpages.debian.org/bookworm/systemd-container/machinectl.1.en.html machinectl(1)] from the [https://packages.debian.org/bookworm/systemd-container systemd-container] package
* [https://manpages.debian.org/bookworm/systemd-container/systemd-nspawn.1.en.html systemd-nspawn(1)] and [https://manpages.debian.org/bookworm/systemd-container/machinectl.1.en.html machinectl(1)] from the [https://packages.debian.org/bookworm/systemd-container systemd-container] package
** for managing containers.
** for managing containers for each hosted web application.
* [https://manpages.debian.org/bookworm/debootstrap/debootstrap.8.en.html debootstrap(8)] from the [https://packages.debian.org/bookworm/debootstrap debootstrap] package
* [https://manpages.debian.org/bookworm/debootstrap/debootstrap.8.en.html debootstrap(8)] from the [https://packages.debian.org/bookworm/debootstrap debootstrap] package
** for building containers or templates for containers.
** for building containers or templates for containers.

Revision as of 18:44, 9 January 2025

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.