Subject: Migrating Virtualmin Master Server from CentOS 7.9 to AlmaLinux 9.1

Good day from Singapore,

Author: Mr. Turritopsis Dohrnii Teo En Ming (TARGETED INDIVIDUAL)
Country: Singapore
Date: 15 Dec 2022 Thursday

I have successfully migrated Virtualmin Master Server from CentOS 7.9 to AlmaLinux 9.1 on 14 Dec 2022 Wed from 4.00 PM to 7.30 PM Singapore Time.

Even though I have a fever of 38.5 degrees C on 14 Dec 2022 Wed, I still managed to carry out the migration.

As of 15 Dec 2022 Thursday at 4.30 PM, I still have a mild fever of 37.5 degrees C.

Below are the detailed instructions. Special thanks to Jamie Cameron at Virtualmin.com for providing guidance.

I am not migrating the slave DNS server yet. It is still running CentOS 7.9.

DETAILED INSTRUCTIONS

SECTION A - Installing Virtualmin 7.0.0 on new AlmaLinux 9.1 VPS

wget https://software.virtualmin.com/gpl/scripts/install.sh

/bin/sh install.sh

Running Virtualmin 7 pre-installation setup:
Syncing system time ..
.. done
Updating CA certificates ..
.. done

Welcome to the Virtualmin GPL installer, version 7.0.0

This script must be run on a freshly installed supported OS. It does not
perform updates or upgrades (use your system package manager) or license
changes (use the "virtualmin change-license" command).

The systems currently supported by install script are:

1
2
3
4
5
6
7
8
Red Hat Enterprise Linux and derivatives
  - RHEL 8 and 9 on x86_64
  - Alma and Rocky 8 and 9 on x86_64
  - CentOS 7 on x86_64

Debian Linux and derivatives
  - Debian 10 and 11 on i386 and amd64
  - Ubuntu 20.04 LTS and 22.04 LTS on i386 and amd64

If your OS/version/arch is not listed, installation will fail. More
details about the systems supported by the script can be found here:

https://www.virtualmin.com/os-support

The selected package bundle is LAMP and the size of install is
full. It will require up to 650 MB of disk space.

Exit and re-run this script with --help flag to see available options.

Continue? (y/n) y
[INFO] Started installation log in /root/virtualmin-install.log
▣◻◻ Phase 1 of 3: Setup
Installing core plugins for package manager [ ✔ ]
Downloading Virtualmin 7 release package [ ✔ ]
Installing Virtualmin 7 release package [ ✔ ]

▣▣◻ Phase 2 of 3: Installation
Installing EPEL release package [ ✔ ]
Enabling CRB package repository [ ✔ ]
Cleaning up software repo metadata [ ✔ ]
Checking and installing system packages updates [ ✔ ]
Installing dependencies and system packages [ ✔ ]
Installing Virtualmin 7 and all related packages [ ✔ ]
Installing Virtualmin 7 and all related packages updates [ ✔ ]

▣▣▣ Phase 3 of 3: Configuration
[1/21] Configuring AWStats [ ✔ ]
[2/21] Configuring Apache [ ✔ ]
[3/21] Configuring Bind [ ✔ ]
[4/21] Configuring ClamAV [ ✔ ]
[5/21] Configuring Dovecot [ ✔ ]
[6/21] Configuring Etckeeper [ ✔ ]
[7/21] Configuring Firewalld [ ✔ ]
[8/21] Configuring MySQL [ ✔ ]
[9/21] Configuring Postfix [ ✔ ]
[10/21] Configuring ProFTPd [ ✔ ]
[11/21] Configuring Procmail [ ✔ ]
[12/21] Configuring Quotas [ ✔ ]
[13/21] Configuring SASL [ ✔ ]
[14/21] Configuring Shells [ ✔ ]
[15/21] Configuring SpamAssassin [ ✔ ]
[16/21] Configuring Status [ ✔ ]
[17/21] Configuring Upgrade [ ✔ ]
[18/21] Configuring Usermin [ ✔ ]
[19/21] Configuring Webmin [ ✔ ]
[20/21] Configuring Fail2banFirewalld [ ✔ ]
[21/21] Configuring Virtualmin [ ✔ ]
▣▣▣ Cleaning up

[SUCCESS] Installation Complete!
[SUCCESS] If there were no errors above, Virtualmin should be ready
[SUCCESS] to configure at https://vmi1122973.contaboserver.net:10000 (or https://217.76.54.74:10000).
[SUCCESS] You may receive a security warning in your browser on your first visit.
[SUCCESS] Chromium based browsers, to bypass security warning screen may require
[SUCCESS] you to type thisisunsafe to get to the login page.

Post-Installation Wizard

Introduction

This post-installation wizard allows you to configure Virtualmin optimally for your system. You can make selections depending on whether you want to host websites, email or databases, and based on your system's memory and CPU power.
To continue, click the Next button below. To skip it and use the default settings, click Cancel.

Click Next.

Memory use

Virtualmin can be tuned to improve performance in its user interface and email processing, but at the cost of increased memory use. The best choice depends on how your system will be used.

Preload Virtualmin libraries? Choose Yes, faster UI with more RAM used (≈40M)

Run email domain lookup server? Choose Yes, faster mail processing with more RAM used (≈70M)

Click Next.

If your system is going to host domains that will receive a large amount of email, scanning incoming messages for viruses can generate high CPU load. Because scanning is done using the ClamAV scanning server clamd, it will consume RAM even when not processing email. If your system will not be hosting email, virus scanning can be disabled.

Enable virus scanning with ClamAV? Choose Yes, uses up to 2G of RAM

Click Next.

Spam filtering

If your system is going to host domains that will receive a large amount of email, filtering incoming messages for spam can generate significant CPU load. This is due to CPU use by the SpamAssassin mail filter when it is started, which can be avoided by running the SpamAssassin filter server spamd in the background. This consumes RAM, but reduces CPU load and makes mail processing faster.

Run SpamAssassin server filter? Choose Yes, faster mail processing with more RAM used (≈30M) and no per-domain settings

Click Next.

Database servers

Virtualmin supports both the MariaDB and PostgreSQL database servers, but you might want to run only one (or neither) on your system. Each consumes RAM when running, even if they are not being used.
Depending on the websites and applications you plan to host, running MariaDB only may be enough, as most web applications do not support or require PostgreSQL. If your system will only be used for mail or DNS hosting, there is no need to run either.

Run MariaDB database server? Yes

Run PostgreSQL database server? No

Click Next.

MariaDB password

To prevent other users on your system from managing the MariaDB database, a password for the root user should be set. Currently the MariaDB password is not set, which is highly insecure.

Set MariaDB password: <removed>

Click Next.

DNS configuration

For DNS zones created by Virtualmin to be resolvable, the primary nameserver record for each zone must be set to something that can itself be resolved by other systems on the Internet.

Primary nameserver: ns1.turritopsis-dohrnii-teo-en-ming.com

Click Skip check for resolvability.

Secondary nameservers (optional): ns2.turritopsis-dohrnii-teo-en-ming.com

Click Next.

All done

Virtualmin post-installation configuration is now complete!
However, you can continue with the wizard to configure optional features.

Click Next.

Password storage

Virtualmin gives you the option of storing plain-text passwords for virtual servers and mailboxes, or storing only one-way encrypted (hashed) passwords. Plain text passwords are more convenient, but less secure if your system is compromised. However, with hashed passwords enabled, password recovery for virtual servers will not be not possible, and database password for new servers will be different from the administration password, and will be randomly generated.

Password storage mode: Only store hashed passwords

Click Next.

MariaDB database size

MariaDB can be configured to trade off memory use for performance, depending on how much RAM your system has and how heavily you expect the database to be used.

MariaDB configuration size: Keep MariaDB system defaults

Click Next.

SSL key directory

Virtualmin gives you the option of keeping SSL certificates and keys in each virtual server's home directory, or another location under /etc. The former is easier to manage, but introduces the risk that server owners may cause your webserver to fail to start if they delete the certificate file.

Location for SSL certificates: Per-domain directory under /etc/ssl/virtualmin

Click Next.

Virtualmin can create a default virtual server that will serve web requests to your system that don't match any other domain. It can also be used to request a Let's Encrypt SSL certificate for use by Virtualmin's own UI.

Setup default virtual server? No, thanks

Click Next.

Additional post-installation configuration is now complete!

Click Finish.

SECTION B - Backing up Virtualmin Virtual Servers on old CentOS 7.9 VPS

Refer to my guide.

Reference guide: Have I performed my backups using Virtualmin GUI correctly?

Link a: https://sourceforge.net/p/webadmin/mailman/message/37744989/

Link b: https://marc.info/?l=webmin-l&m=167038794008036&w=2

SECTION C - Transferring Backup Files From CentOS 7.9 VPS to AlmaLinux 9.1 VPS

Download all the 20 backup files from CentOS 7.9 Linux server to your laptop using WinSCP.

Upload all the 20 backup files from your laptop to AlmaLinux 9.1 server using WinSCP.

The backup files should be uploaded to /restore directory on AlmaLinux 9.1 server.

SECTION D - Restore Backups in AlmaLinux 9.1 Server

Login to Virtualmin.

Click Backup and Restore.

Click Restore Virtual Servers.

Restore Virtual Servers Page

Source and format

Restore source: Local file or directory
Click and choose /restore

Features and settings

Features to restore: Restore all features

Virtualmin settings to restore: Select all

Other restore options

Re-allocate UIDs and GID: Yes

Just re-import server details: No

Delete and re-create virtual servers: No

IPv4 address for restored servers: Shared, on IP 217.76.54.74

IPv6 address for restored servers: Shared, on IP 2a02:c206:2112:2973:0000:0000:0000:0001

Click Show What Will Be Restored

Checking contents of the backup ..
.. found 6 virtual servers and 8 global virtualmin settings

Information! The following features were enabled in one or more of the domains in the backup, but are not enabled : Webalizer reporting
Without them, some functions of the restored virtual servers may not work.

Warning! Are you sure you want to restore the selected domains and features from local file /restore? Any existing data for the features in these domains will be over-written!

Click government-of-the-multiverse.online (Server does not exist, will be re-created)
Virtual server password, description and other details
Administration user's password, quota and Cron jobs
Records in DNS domain, except SOA
Mail/FTP users and mail aliases
Apache webserver configuration
Apache SSL webserver configuration and certificate
Logrotate configuration for log file
Contents of server's MariaDB databases
Spam filtering
Webmin ACL files
Server's home directory and web pages
AWStats configuration file

Click shaunlohxiaowen.xyz (Server does not exist, will be re-created)
Virtual server password, description and other details
Administration user's password, quota and Cron jobs
Records in DNS domain, except SOA
Mail/FTP users and mail aliases
Apache webserver configuration
Apache SSL webserver configuration and certificate
Logrotate configuration for log file
Contents of server's MariaDB databases
Spam filtering
Webmin ACL files
Server's home directory and web pages
AWStats configuration file

Click teo-en-ming-corp.com (Server does not exist, will be re-created)
Virtual server password, description and other details
Administration user's password, quota and Cron jobs
Records in DNS domain, except SOA
Mail/FTP users and mail aliases
Apache webserver configuration
Apache SSL webserver configuration and certificate
Logrotate configuration for log file
Contents of server's MariaDB databases
Spam filtering
Webmin ACL files
Server's home directory and web pages
AWStats configuration file

Click teo-en-ming.com (Server does not exist, will be re-created)
Virtual server password, description and other details
Administration user's password, quota and Cron jobs
Records in DNS domain, except SOA
Mail/FTP users and mail aliases
Apache webserver configuration
Apache SSL webserver configuration and certificate
Logrotate configuration for log file
Contents of server's MariaDB databases
Spam filtering
Webmin ACL files
Server's home directory and web pages
AWStats configuration file

Click theonlinecitizens.com (Server does not exist, will be re-created)
Virtual server password, description and other details
Administration user's password, quota and Cron jobs
Records in DNS domain, except SOA
Mail/FTP users and mail aliases
Apache webserver configuration
Apache SSL webserver configuration and certificate
Logrotate configuration for log file
Contents of server's MariaDB databases
Spam filtering
Webmin ACL files
Server's home directory and web pages
AWStats configuration file

Click turritopsis-dohrnii-teo-en-ming.com (Server does not exist, will be re-created)
Virtual server password, description and other details
Administration user's password, quota and Cron jobs
Records in DNS domain, except SOA
Mail/FTP users and mail aliases
Apache webserver configuration
Apache SSL webserver configuration and certificate
Logrotate configuration for log file
Contents of server's MariaDB databases
Spam filtering
Webmin ACL files
Server's home directory and web pages
AWStats configuration file

Click Virtualmin configuration settings
Virtualmin configuration
Custom fields, links and shells
New user email messages
Mail server settings
Scheduled Virtualmin backups
Third-party script installers
Server templates and plans

Click Restore Now.

Checking contents of the backup ..
.. found 6 virtual servers and 8 global virtualmin settings
Starting restore of 6 domains from local file /restore ..
Extracting backup archive files ..
.. done
Restoring Virtualmin settings ..
Restoring Virtualmin configuration ..
.. done
Restoring templates and plans ..
.. done
Restoring email templates ..
.. done
Restoring custom fields, links, categories and shells ..
.. done
Restoring custom script installers ..
.. done
Restoring scheduled backups and keys ..
.. done
Restoring DKIM settings ..
Finding virtual servers to enable DKIM for ..
.. no virtual servers with DNS and email enabled were found, but enabling for 1 extra domains
Extracting public key from private key in /etc/opendkim/keys/default.private ..
.. done
Setting domain and selector in DKIM filter configuration ..
.. done
Enabling DKIM filter at boot time ..
.. done
Starting DKIM filter ..
.. done
Configuring mail server to use DKIM filter ..
.. done
.. done
Restoring greylisting settings ..
.. leaving disabled
Restoring rate limiting settings ..
.. leaving disabled
Restoring mail server configuration ..
.. done
.. done
Re-creating virtual server government-of-the-multiverse.online ..
Creating administration group government-of-the-multiverse ..
.. done
Creating administration user government-of-the-multiverse ..
.. done
Creating aliases for administration user ..
.. done
Adding administration user to groups ..
.. done
Creating home directory ..
.. done
Creating mailbox for administration user ..
.. done
Adding new DNS zone ..
.. done
Adding to email domains list ..
.. done
Adding default mail aliases ..
.. done
Adding DKIM records to DNS domain government-of-the-multiverse.online ..
.. added successfully
Adding new virtual website ..
.. done
Starting FCGIwrap server ..
.. done
Adding webserver user apache to server's group ..
.. done
Performing other Apache configuration ..
.. done
Setting up scheduled Webalizer reporting ..
.. Webalizer reporting failed! : Webalizer config file /etc/webalizer.conf does not exist!
Creating SSL certificate and private key ..
.. done
Adding new SSL virtual website ..
.. done
Setting up log file rotation ..
.. done
Creating MariaDB login ..
.. done
Creating MariaDB database government_of_the_multiverse ..
.. done
Setting up spam filtering ..
.. done
Setting up virus filtering ..
.. done
Setting up AWStats reporting ..
.. done
Setting up password protection for AWStats ..
.. done
Creating Webmin user ..
.. done
Saving server details ..
.. done
Re-starting DNS server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
Restarting mail server ..
.. done
Restoring backup for virtual server government-of-the-multiverse.online ..
Restoring virtual server password, quota and other details ..
.. done
Updating administration password and quotas ..
.. done
Restoring Cron jobs ..
.. done
Extracting TAR file of home directory ..
.. done
Setting ownership of home directory ..
.. done
Re-creating records in DNS domain ..
.. done
Restoring Apache virtual host configuration ..
.. done
Checking restored PHP execution mode ..
.. mode FCGId cannot be used, switching to FPM.
Updating PHP FPM configuration ..
.. no fixes needed
Restoring Apache log files ..
.. done
Restoring SSL Apache virtual host configuration and certificate ..
.. done
Restoring Logrotate configuration ..
.. done
Restoring allowed MariaDB hosts ..
.. done
Re-loading MariaDB database government_of_the_multiverse ..
.. done
Re-loading MariaDB database government_of_the_multiverse_roundcube ..
Creating MariaDB database government_of_the_multiverse_roundcube ..
.. done
.. done
Restoring SpamAssassin and Procmail configurations ..
.. done
Restoring Webmin ACL files ..
.. done
Restoring AWStats configuration file ..
.. done
Re-creating mail and FTP users ..
.. done
Re-creating mail aliases ..
.. done
Restoring mail and FTP user Cron jobs ..
.. done
Updating Webmin user ..
.. done
Re-creating virtual server shaunlohxiaowen.xyz ..
Creating administration group shaun ..
.. done
Creating administration user shaun ..
.. done
Creating aliases for administration user ..
.. done
Adding administration user to groups ..
.. done
Creating home directory ..
.. done
Creating mailbox for administration user ..
.. done
Adding new DNS zone ..
.. done
Adding to email domains list ..
.. done
Adding default mail aliases ..
.. done
Adding DKIM records to DNS domain shaunlohxiaowen.xyz ..
.. added successfully
Adding new virtual website ..
.. done
Starting FCGIwrap server ..
.. done
Adding webserver user apache to server's group ..
.. done
Performing other Apache configuration ..
.. done
Setting up scheduled Webalizer reporting ..
.. Webalizer reporting failed! : Webalizer config file /etc/webalizer.conf does not exist!
Creating SSL certificate and private key ..
.. done
Adding new SSL virtual website ..
.. done
Setting up log file rotation ..
.. done
Creating MariaDB login ..
.. done
Creating MariaDB database shaun ..
.. done
Setting up spam filtering ..
.. done
Setting up virus filtering ..
.. done
Setting up AWStats reporting ..
.. done
Setting up password protection for AWStats ..
.. done
Creating Webmin user ..
.. done
Saving server details ..
.. done
Re-starting DNS server ..
.. done
Restarting PHP-FPM 8.0 server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
Restoring backup for virtual server shaunlohxiaowen.xyz ..
Restoring virtual server password, quota and other details ..
.. done
Updating administration password and quotas ..
.. done
Restoring Cron jobs ..
.. done
Extracting TAR file of home directory ..
.. done
Setting ownership of home directory ..
.. done
Re-creating records in DNS domain ..
.. done
Restoring Apache virtual host configuration ..
.. done
Checking restored PHP execution mode ..
.. mode FCGId cannot be used, switching to FPM.
Updating PHP FPM configuration ..
.. no fixes needed
Restoring Apache log files ..
.. done
Restoring SSL Apache virtual host configuration and certificate ..
.. done
Restoring Logrotate configuration ..
.. done
Restoring allowed MariaDB hosts ..
.. done
Re-loading MariaDB database shaun ..
.. done
Re-loading MariaDB database shaun_roundcube ..
Creating MariaDB database shaun_roundcube ..
.. done
.. done
Restoring SpamAssassin and Procmail configurations ..
.. done
Restoring Webmin ACL files ..
.. done
Restoring AWStats configuration file ..
.. done
Re-creating mail and FTP users ..
.. done
Re-creating mail aliases ..
.. done
Restoring mail and FTP user Cron jobs ..
.. done
Updating Webmin user ..
.. done
Re-creating virtual server teo-en-ming-corp.com ..
Creating administration group ceo ..
.. done
Creating administration user ceo ..
.. done
Creating aliases for administration user ..
.. done
Adding administration user to groups ..
.. done
Creating home directory ..
.. done
Creating mailbox for administration user ..
.. done
Adding new DNS zone ..
.. done
Adding to email domains list ..
.. done
Adding default mail aliases ..
.. done
Adding DKIM records to DNS domain teo-en-ming-corp.com ..
.. added successfully
Adding new virtual website ..
.. done
Starting FCGIwrap server ..
.. done
Adding webserver user apache to server's group ..
.. done
Performing other Apache configuration ..
.. done
Setting up scheduled Webalizer reporting ..
.. Webalizer reporting failed! : Webalizer config file /etc/webalizer.conf does not exist!
Creating SSL certificate and private key ..
.. done
Adding new SSL virtual website ..
.. done
Setting up log file rotation ..
.. done
Creating MariaDB login ..
.. done
Creating MariaDB database ceo ..
.. done
Setting up spam filtering ..
.. done
Setting up virus filtering ..
.. done
Setting up AWStats reporting ..
.. done
Setting up password protection for AWStats ..
.. done
Creating Webmin user ..
.. done
Saving server details ..
.. done
Re-starting DNS server ..
.. done
Restarting PHP-FPM 8.0 server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
Restoring backup for virtual server teo-en-ming-corp.com ..
Restoring virtual server password, quota and other details ..
.. done
Updating administration password and quotas ..
.. done
Restoring Cron jobs ..
.. done
Extracting TAR file of home directory ..
.. done
Setting ownership of home directory ..
.. done
Re-creating records in DNS domain ..
.. done
Restoring Apache virtual host configuration ..
.. done
Checking restored PHP execution mode ..
.. mode FCGId cannot be used, switching to FPM.
Updating PHP FPM configuration ..
.. no fixes needed
Restoring Apache log files ..
.. done
Restoring SSL Apache virtual host configuration and certificate ..
.. done
Restoring Logrotate configuration ..
.. done
Restoring allowed MariaDB hosts ..
.. done
Re-loading MariaDB database ceo ..
.. done
Re-loading MariaDB database ceo_roundcube ..
Creating MariaDB database ceo_roundcube ..
.. done
.. done
Restoring SpamAssassin and Procmail configurations ..
.. done
Restoring Webmin ACL files ..
.. done
Restoring AWStats configuration file ..
.. done
Re-creating mail and FTP users ..
.. done
Re-creating mail aliases ..
.. done
Restoring mail and FTP user Cron jobs ..
.. done
Updating Webmin user ..
.. done
Re-creating virtual server teo-en-ming.com ..
Creating administration group teo-en-ming ..
.. done
Creating administration user teo-en-ming ..
.. done
Creating aliases for administration user ..
.. done
Adding administration user to groups ..
.. done
Creating home directory ..
.. done
Creating mailbox for administration user ..
.. done
Adding new DNS zone ..
.. done
Adding to email domains list ..
.. done
Adding default mail aliases ..
.. done
Adding DKIM records to DNS domain teo-en-ming.com ..
.. added successfully
Adding new virtual website ..
.. done
Starting FCGIwrap server ..
.. done
Adding webserver user apache to server's group ..
.. done
Performing other Apache configuration ..
.. done
Setting up scheduled Webalizer reporting ..
.. Webalizer reporting failed! : Webalizer config file /etc/webalizer.conf does not exist!
Creating SSL certificate and private key ..
.. done
Adding new SSL virtual website ..
.. done
Setting up log file rotation ..
.. done
Creating MariaDB login ..
.. done
Creating MariaDB database teo_en_ming ..
.. done
Setting up spam filtering ..
.. done
Setting up virus filtering ..
.. done
Setting up AWStats reporting ..
.. done
Setting up password protection for AWStats ..
.. done
Creating Webmin user ..
.. done
Saving server details ..
.. done
Re-starting DNS server ..
.. done
Restarting PHP-FPM 8.0 server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
Restoring backup for virtual server teo-en-ming.com ..
Restoring virtual server password, quota and other details ..
.. done
Updating administration password and quotas ..
.. done
Restoring Cron jobs ..
.. done
Extracting TAR file of home directory ..
.. done
Setting ownership of home directory ..
.. done
Re-creating records in DNS domain ..
.. done
Restoring Apache virtual host configuration ..
.. done
Checking restored PHP execution mode ..
.. mode FCGId cannot be used, switching to FPM.
Updating PHP FPM configuration ..
.. no fixes needed
Restoring Apache log files ..
.. done
Restoring SSL Apache virtual host configuration and certificate ..
.. done
Restoring Logrotate configuration ..
.. done
Restoring allowed MariaDB hosts ..
.. done
Re-loading MariaDB database teo_en_ming ..
.. done
Re-loading MariaDB database teo_en_ming_roundcube ..
Creating MariaDB database teo_en_ming_roundcube ..
.. done
.. done
Restoring SpamAssassin and Procmail configurations ..
.. done
Restoring Webmin ACL files ..
.. done
Restoring AWStats configuration file ..
.. done
Re-creating mail and FTP users ..
.. done
Re-creating mail aliases ..
.. done
Restoring mail and FTP user Cron jobs ..
.. done
Updating Webmin user ..
.. done
Re-creating virtual server theonlinecitizens.com ..
Creating administration group theonlinecitizens ..
.. done
Creating administration user theonlinecitizens ..
.. done
Creating aliases for administration user ..
.. done
Adding administration user to groups ..
.. done
Creating home directory ..
.. done
Creating mailbox for administration user ..
.. done
Adding new DNS zone ..
.. done
Adding to email domains list ..
.. done
Adding default mail aliases ..
.. done
Adding DKIM records to DNS domain theonlinecitizens.com ..
.. added successfully
Adding new virtual website ..
.. done
Starting FCGIwrap server ..
.. done
Adding webserver user apache to server's group ..
.. done
Performing other Apache configuration ..
.. done
Setting up scheduled Webalizer reporting ..
.. Webalizer reporting failed! : Webalizer config file /etc/webalizer.conf does not exist!
Creating SSL certificate and private key ..
.. done
Adding new SSL virtual website ..
.. done
Setting up log file rotation ..
.. done
Creating MariaDB login ..
.. done
Creating MariaDB database theonlinecitizens ..
.. done
Setting up spam filtering ..
.. done
Setting up virus filtering ..
.. done
Setting up AWStats reporting ..
.. done
Setting up password protection for AWStats ..
.. done
Creating Webmin user ..
.. done
Saving server details ..
.. done
Re-starting DNS server ..
.. done
Restarting PHP-FPM 8.0 server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
Restoring backup for virtual server theonlinecitizens.com ..
Restoring virtual server password, quota and other details ..
.. done
Updating administration password and quotas ..
.. done
Restoring Cron jobs ..
.. done
Extracting TAR file of home directory ..
.. done
Setting ownership of home directory ..
.. done
Re-creating records in DNS domain ..
.. done
Restoring Apache virtual host configuration ..
.. done
Checking restored PHP execution mode ..
.. mode FCGId cannot be used, switching to FPM.
Updating PHP FPM configuration ..
.. no fixes needed
Restoring Apache log files ..
.. done
Restoring SSL Apache virtual host configuration and certificate ..
.. done
Restoring Logrotate configuration ..
.. done
Restoring allowed MariaDB hosts ..
.. done
Re-loading MariaDB database theonlinecitizens ..
.. done
Re-loading MariaDB database theonlinecitizens_roundcube ..
Creating MariaDB database theonlinecitizens_roundcube ..
.. done
.. done
Restoring SpamAssassin and Procmail configurations ..
.. done
Restoring Webmin ACL files ..
.. done
Restoring AWStats configuration file ..
.. done
Re-creating mail and FTP users ..
.. done
Re-creating mail aliases ..
.. done
Restoring mail and FTP user Cron jobs ..
.. done
Updating Webmin user ..
.. done
Re-creating virtual server turritopsis-dohrnii-teo-en-ming.com ..
Creating administration group turritopsis-dohrnii-teo-en-ming ..
.. done
Creating administration user turritopsis-dohrnii-teo-en-ming ..
.. done
Creating aliases for administration user ..
.. done
Adding administration user to groups ..
.. done
Creating home directory ..
.. done
Creating mailbox for administration user ..
.. done
Adding new DNS zone ..
.. done
Adding to email domains list ..
.. done
Adding default mail aliases ..
.. done
Adding DKIM records to DNS domain turritopsis-dohrnii-teo-en-ming.com ..
.. added successfully
Adding new virtual website ..
.. done
Starting FCGIwrap server ..
.. done
Adding webserver user apache to server's group ..
.. done
Performing other Apache configuration ..
.. done
Setting up scheduled Webalizer reporting ..
.. Webalizer reporting failed! : Webalizer config file /etc/webalizer.conf does not exist!
Creating SSL certificate and private key ..
.. done
Adding new SSL virtual website ..
.. done
Setting up log file rotation ..
.. done
Creating MariaDB login ..
.. done
Creating MariaDB database turritopsis_dohrnii_teo_en_ming ..
.. done
Setting up spam filtering ..
.. done
Setting up virus filtering ..
.. done
Setting up AWStats reporting ..
.. done
Setting up password protection for AWStats ..
.. done
Creating Webmin user ..
.. done
Saving server details ..
.. done
Re-starting DNS server ..
.. done
Restarting PHP-FPM 8.0 server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
Restoring backup for virtual server turritopsis-dohrnii-teo-en-ming.com ..
Restoring virtual server password, quota and other details ..
.. done
Updating administration password and quotas ..
.. done
Restoring Cron jobs ..
.. done
Extracting TAR file of home directory ..
.. done
Setting ownership of home directory ..
.. done
Re-creating records in DNS domain ..
.. done
Restoring Apache virtual host configuration ..
.. done
Checking restored PHP execution mode ..
.. mode FCGId cannot be used, switching to FPM.
Updating PHP FPM configuration ..
.. no fixes needed
Restoring Apache log files ..
.. done
Restoring SSL Apache virtual host configuration and certificate ..
.. done
Restoring Logrotate configuration ..
.. done
Restoring allowed MariaDB hosts ..
.. done
Re-loading MariaDB database turritopsis_dohrnii_teo_en_ming ..
.. done
Re-loading MariaDB database turritopsis_dohrnii_teo_en_ming_roundcube ..
Creating MariaDB database turritopsis_dohrnii_teo_en_ming_roundcube ..
.. done
.. done
Re-loading MariaDB database turritopsis_dohrnii_teo_en_ming_roundcube_2 ..
Creating MariaDB database turritopsis_dohrnii_teo_en_ming_roundcube_2 ..
.. done
.. done
Restoring SpamAssassin and Procmail configurations ..
.. done
Restoring Webmin ACL files ..
.. done
Restoring AWStats configuration file ..
.. done
Re-creating mail and FTP users ..
.. done
Re-creating mail aliases ..
.. done
Restoring mail and FTP user Cron jobs ..
.. done
Updating Webmin user ..
.. done
Enabling PHP modules for restored scripts ..
.. no PHP modules needed to be installed
WARNING - The following scripts used PHP versions that are not available :
government-of-the-multiverse.online - RoundCube - Version 7.2
government-of-the-multiverse.online - SquirrelMail - Version 7.2
shaunlohxiaowen.xyz - RoundCube - Version 7.2
teo-en-ming-corp.com - SquirrelMail - Version 7.2
teo-en-ming-corp.com - RoundCube - Version 7.2
teo-en-ming.com - SquirrelMail - Version 7.2
teo-en-ming.com - RoundCube - Version 7.2
theonlinecitizens.com - RoundCube - Version 7.2
turritopsis-dohrnii-teo-en-ming.com - RoundCube - Version 7.2

Re-starting DNS server ..
.. done
Restarting PHP-FPM 8.0 server ..
.. done
Applying web server configuration ..
.. done
Re-loading Webmin ..
.. done
Re-starting Usermin ..
.. done
.. restore complete.

SECTION E - Changing IP Address of Virtualmin Master Server (Primary DNS Server) at your Domain Registrar

Refer to the following guide.

Reference guide: [NAMECHEAP] How can I update my personal nameserver's IP address?

Link: https://www.namecheap.com/support/knowledgebase/article.aspx/292/10/how-can-i-update-my-personal-nameservers-ip-address/

SECTION F - Checking Virtualmin Configuration

The status of your system is being checked to ensure that all enabled features are available and properly configured ..
Your system has 7.5 GiB of memory, which is at or above the Virtualmin recommended minimum of 256 MiB
BIND DNS server is installed
Mail server Postfix is installed and configured
Postfix is configured to support per-domain outgoing IP addresses
PHP execution mode fcgid was selected in the default template, but is not supported on this system, and now will be changed to none
Apache is installed
CGI scripts can be executed using FCGIwrap
Apache supports HTTP/2 on your system
The following PHP execution modes are available : fpm
The following PHP-FPM versions are available : 8.0.20 (php-fpm)
PHP versions have changed to 8.0 since last check. Regenerating any missing php.ini files
Webalizer does not appear to be installed on your system, or has not yet been set up properly in Webmin's Webalizer Logfile Analysis module. If your system does not use Webalizer, it should be disabled in Virtualmin's module configuration page

.. your system is not ready for use by Virtualmin

SECTION G - System Information

System hostname vmi1122973.contaboserver.net (217.76.54.74) Operating system AlmaLinux 9.1
Webmin version 2.001 Usermin version 1.860
Virtualmin version 7.3 Authentic theme version 20.01.1:5
Time on system Wednesday, December 14, 2022 10:35 AM Kernel and CPU Linux 5.14.0-162.6.1.el9_1.x86_64 on x86_64
Processor information AMD EPYC 7282 16-Core Processor, 4 cores System uptime 19 hours, 12 minutes
Running processes 171 CPU load averages 0.28 (1 min) 0.37 (5 mins) 0.41 (15 mins)
Real memory 2.43 GiB used / 4.71 GiB cached / 7.5 GiB total Local disk space 17.53 GiB used / 178.22 GiB free / 195.76 GiB total
Package updates All installed packages are up to date

SECTION H - Tying up some loose ends for the Slave DNS Server

Part 1

Because I haven't migrate the slave DNS server (it is still running CentOS 7.9), we need to tie up some loose ends.

Use the following guide.

Reference guide: [PART 8 - DRAFT 2] [Virtualmin and Webmin] Teo En Ming's Notes for Setting Up Slave DNS Server

Link a: https://sourceforge.net/p/webadmin/mailman/message/37373922/

Link b: https://marc.info/?l=webmin-l&m=163528877500627&w=2

Link c: https://pastebin.com/raw/hVShREH6

Part 2

Then you need to login to the Webmin of the slave DNS server.

Click Servers > BIND DNS Server

For EACH AND EVERY DNS Zone, click on the DNS Zone.

Click Edit Zone Options.

Master servers: 217.76.54.74

Allow transfers from.. Click Listed.. and then specify 217.76.54.74

Click Save.

Part 3

Putty/SSH into the slave DNS server.

systemctl restart named

Run the below command for every domain name.

rndc reload <domain name>

Reference guide: Force dns zone transfer
Link: https://archive.virtualmin.com/node/14479

CONCLUSION

You have successfully migrated your Virtualmin master server from CentOS 7.9 to AlmaLinux 9.1!

ADDITIONAL READING MATERIALS

Reference guide: [8-Part Series] Complete Guide to Setting Up Virtualmin Web Hosting Control Panel with Master and Slave DNS Servers Configuration

Link a: https://sourceforge.net/p/webadmin/mailman/message/37373937/

Link b: https://marc.info/?l=webmin-l&m=163529128901657&w=2

Regards,

Mr. Turritopsis Dohrnii Teo En Ming
Targeted Individual in Singapore
Blogs:
https://tdtemcerts.blogspot.com
https://tdtemcerts.wordpress.com

Edit
Pub: 15 Dec 2022 10:37 UTC
Views: 152