2024 Server Migration: Difference between revisions
(→OS selection: start adding software availability) |
|||
Line 84: | Line 84: | ||
|- |
|- |
||
|postfix |
|postfix |
||
|B 3.5.9 |
|||
|? |
|||
|B 3.7.5 |
|B 3.7.5 |
||
|B 3.6.4 |
|B 3.6.4 |
||
|- |
|- |
||
|mailman |
|mailman |
||
| |
|~ |
||
|B 3.3.8 |
|B 3.3.8 |
||
|A (3) 20200530 |
|A (3) 20200530 |
||
|- |
|- |
||
|postgrey |
|postgrey |
||
|T 1.37<sup>EPEL</sup> |
|||
|? |
|||
|B 1.37 |
|B 1.37 |
||
|A 1.36 |
|A 1.36 |
||
|- |
|- |
||
|mediawiki |
|mediawiki |
||
| |
|~ |
||
|B 1.39 |
|B 1.39 |
||
|A 1.35 |
|A 1.35 |
||
Line 109: | Line 109: | ||
|- |
|- |
||
|trac |
|trac |
||
| |
|~ |
||
|[https://tracker.debian.org/pkg/trac ~] (but [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988462 maybe coming later]) |
|[https://tracker.debian.org/pkg/trac ~] (but [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988462 maybe coming later]) |
||
|A 1.5.3 |
|A 1.5.3 |
||
|- |
|- |
||
|apache |
|apache |
||
|B 2.4.53 |
|||
|? |
|||
|B 2.4.57 |
|B 2.4.57 |
||
|B 2.4.52 |
|B 2.4.52 |
||
|- |
|- |
||
|nginx |
|nginx |
||
|B 1.20.1 / 1.22.1 |
|||
|? |
|||
|B 1.22.1 |
|B 1.22.1 |
||
|B 1.18.0 |
|B 1.18.0 |
||
|- |
|- |
||
|php |
|php |
||
|B 8.0 / 8.1 |
|||
|? |
|||
|B 8.2 |
|B 8.2 |
||
|B 8.1 |
|B 8.1 |
||
|- |
|- |
||
|php-fpm |
|php-fpm |
||
|B 8.0 / 8.1 |
|||
|? |
|||
|B 8.2 |
|B 8.2 |
||
|A 8.1 |
|A 8.1 |
||
|- |
|- |
||
|python2 |
|python2 |
||
| |
|~ |
||
|[https://wiki.debian.org/Python/FAQ#Python_2_support ~] |
|[https://wiki.debian.org/Python/FAQ#Python_2_support ~] |
||
|A 2.7.18 |
|A 2.7.18 |
||
|- |
|- |
||
|python3 |
|python3 |
||
|B 3.9.16 |
|||
|? |
|||
|B 3.11.2 |
|B 3.11.2 |
||
|B 3.10.4 |
|B 3.10.4 |
||
|- |
|- |
||
|perl5 |
|perl5 |
||
|B 5.32 |
|||
|? |
|||
|B 5.36 |
|B 5.36 |
||
|B 5.34 |
|B 5.34 |
||
|- |
|- |
||
|mysql |
|mysql |
||
|B 8.0 |
|||
|? |
|||
|~ |
|~ |
||
|B 8.0 |
|B 8.0 |
||
|- |
|- |
||
|mariadb |
|mariadb |
||
|B 10.5 |
|||
|? |
|||
|B 10.11 |
|B 10.11 |
||
|A 10.6 |
|A 10.6 |
||
|- |
|- |
||
|fail2ban |
|fail2ban |
||
|T 0. |
|T 1.0.2<sup>EPEL</sup> |
||
|B 1.0.2 |
|B 1.0.2 |
||
|A 0.11.2 |
|A 0.11.2 |
||
Line 166: | Line 166: | ||
Third-party repositories: |
Third-party repositories: |
||
* EPEL - [ |
* EPEL - [https://docs.fedoraproject.org/en-US/epel/ Extra Packages for Enterprise Linux] |
||
== Nice-to-haves == |
== Nice-to-haves == |
Revision as of 07:15, 15 July 2023
This page is to collect information about our current configuration and options for switching to a new server going forward. Please feel free to edit to add missing information or correct errors.
Server selection
Linode has been acquired by Akamai and raised their prices. Could potentially downgrade from the $12/mo (2GB RAM) plan to the $5 (1GB RAM "Nanode") plan depending on distro system requirements. Could also consider dropping paid backup service or using something different.
Other VPS providers can be considered, not sure if they are any cheaper/better.
OS selection
CentOS Linux is dead. CentOS Stream is only viable as long as Red Hat/IBM has a business case for it. Can consider other options like pure Debian or Ubuntu LTS.
Service enumeration
Services that are currently running on the WPLUG Linode server. These should include things that are user-facing only, not infrastructure.
- E-mail (Postfix)
- Mailing lists (Mailman)
- Wiki (MediaWiki)
- Monkeybot IRC bot (infobot)
- While one of the oldest WPLUG services, since freenode is essentially dead, there may not be good reason to keep it alive.
- Ticketing system (Trac)
- This is virtually unused, likely not worth deploying.
Infrastructure software which supports the services above.
- Web server (Apache) - it would be possible to use Nginx instead, but I (Vance) am not familiar with setting it up
- PHP (Apache mod_php) for MediaWiki - could be replaced with PHP-FPM
- Let's Encrypt for TLS certificate
- Python for Mailman, Let's Encrypt, and Trac
- Perl for Monkeybot
- MariaDB for MediaWiki - may be possible to use SQLite or PostgreSQL instead
- Greylisting daemon (Postgrey)
- Fail2ban
Support lifetime
- CentOS Stream 9 - 2027-05-31 (limited to RHEL Full Support lifetime)
- Rocky Linux 9 - 2032-05-31
- AlmaLinux 9 - 2032-05-31
- Debian 12 "bookworm" - 2028-06-10 or later
- Ubuntu 22.04 LTS - 2027-04
System requirements
CPU | RAM | Disk | |
---|---|---|---|
CentOS / Rocky / Alma 9 | amd64, arm64, ppc64el | 1.5 GB | 10 GB |
Debian 12 | amd64, arm64, i386 (686 or higher), ppc64el, mipsel, mips64el | 512 MB | 4 GB |
Ubuntu 22.04 | 1 GHz amd64, arm64, ppc64el | 1 GB | 2.5 GB |
Software availability
This table is to track, for the different distros under consideration, whether the software we need is available within its repositories. We want to minimize the number of applications which have to be maintained manually.
Key:
- B: in distro's base repository
- A: in an additional repository provided by the distro
- T: in a third-party repository
- ~: not available in any known repository
- ?: availability unknown
CentOS / Rocky / Alma 9 | Debian 12 | Ubuntu 22.04 | |
---|---|---|---|
postfix | B 3.5.9 | B 3.7.5 | B 3.6.4 |
mailman | ~ | B 3.3.8 | A (3) 20200530 |
postgrey | T 1.37EPEL | B 1.37 | A 1.36 |
mediawiki | ~ | B 1.39 | A 1.35 |
infobot | ~ | ~ | ~ |
trac | ~ | ~ (but maybe coming later) | A 1.5.3 |
apache | B 2.4.53 | B 2.4.57 | B 2.4.52 |
nginx | B 1.20.1 / 1.22.1 | B 1.22.1 | B 1.18.0 |
php | B 8.0 / 8.1 | B 8.2 | B 8.1 |
php-fpm | B 8.0 / 8.1 | B 8.2 | A 8.1 |
python2 | ~ | ~ | A 2.7.18 |
python3 | B 3.9.16 | B 3.11.2 | B 3.10.4 |
perl5 | B 5.32 | B 5.36 | B 5.34 |
mysql | B 8.0 | ~ | B 8.0 |
mariadb | B 10.5 | B 10.11 | A 10.6 |
fail2ban | T 1.0.2EPEL | B 1.0.2 | A 0.11.2 |
Third-party repositories:
Nice-to-haves
- We have an archive of static web pages from the pre-2007 server "penguin" - it would be nice to make this history available somehow.