Install the release candidate

This guide explains how to install AegisAdmin from its official APT repository and perform the initial checks on a test machine.

Before you begin

AegisAdmin manages sensitive server components. For an initial trial, use a virtual machine or test server with a restorable backup, and retain independent SSH access.Do not begin on a production server.

  • Use an account authorised to run sudo.
  • Keep a recent snapshot or backup of the machine.
  • Never disable APT signature verification.
  • Do not install a key whose fingerprint differs from the one published below.

1. Check the machine

The currently published release is intended for Debian or Ubuntu systems using systemd, APT and the amd64 architecture. Apache is optional and is never installed automatically by AegisAdmin.

dpkg --print-architecture
ps -p 1 -o comm=
Expected results:
amd64
systemd
Install the tools required to download and verify the key:
sudo apt update
sudo apt install ca-certificates gnupg wget

2. Download the official public key

First download the key to a temporary file without installing it:

wget --https-only 
    --output-document=/tmp/aegisadmin-archive-keyring.gpg 
    https://packages.aegisadmin.fr/aegisadmin-archive-keyring.gpg
Display its identity and fingerprints:
gpg --show-keys --with-fingerprint 
    /tmp/aegisadmin-archive-keyring.gpg
Expected identity:
AegisAdmin Archive 
Official primary key fingerprint:
D01E 7409 36E2 CB6E 7BA8  76F9 C103 5511 5D7F 97DB
Initial signing subkey:
591B 7C62 F74D 090D 3B2C  E8EF CA15 4A9B 3734 C7A1
You can obtain the primary fingerprint without spaces:
gpg --show-keys --with-colons --fingerprint 
    /tmp/aegisadmin-archive-keyring.gpg 
    | awk -F: '$1 == "fpr" { print $10; exit }'
The command must display exactly:
D01E740936E2CB6E7BA876F9C10355115D7F97DB
Stop the installation immediately if the fingerprint differs.

3. Install the key and configure the APT repository

Install the public key in the keyring reserved for AegisAdmin:

sudo install -o root -g root -m 0644 
    /tmp/aegisadmin-archive-keyring.gpg 
    /usr/share/keyrings/aegisadmin-archive-keyring.gpg
Download the repository declaration and inspect it:
wget --https-only 
    --output-document=/tmp/aegisadmin.sources 
    https://packages.aegisadmin.fr/aegisadmin.sources
cat /tmp/aegisadmin.sources
Expected content:
Types: deb
URIs: https://packages.aegisadmin.fr
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/aegisadmin-archive-keyring.gpg
Then install this declaration:
sudo install -o root -g root -m 0644 
    /tmp/aegisadmin.sources 
    /etc/apt/sources.list.d/aegisadmin.sources
The Signed-By directive limits the trust granted to this key to the AegisAdmin repository alone. Do not use apt-key, trusted=yes, or any option that ignores a signature error.

4. Check the proposed package

Refresh the indexes, then check the origin and candidate version:

sudo apt update
apt policy aegisadmin
The candidate version must come from:
https://packages.aegisadmin.fr stable/main amd64 Packages
APT successively verifies the signature of the InRelease file, the index checksums, and the checksum of the downloaded package. Any signature, validity date, or checksum error must stop the installation.

To download the package without installing it and inspect its information:
cd /tmp
apt download aegisadmin
dpkg-deb --info aegisadmin_*_amd64.deb
The Package field must be aegisadmin, the architecture must be amd64, and the maintainer must be AegisAdmin.

5. Install AegisAdmin

Start the installation from the signed repository:

sudo apt install aegisadmin
The package installs, among other things:the unprivileged Go web server;

  • the privileged Go system backend;
  • the corresponding systemd services;
  • direct Go HTTPS listening on 8443 without Apache, or an Apache proxy to 127.0.0.1:9080 when Apache is present;
  • a local TLS key pair and an SQLite database;
  • the migrations and administration tools.

At the end of the installation, a message should indicate that the services have been restarted. If an error occurs, consult the diagnostics section before running the installation again.

6. Initialise the administrator account

This operation is required only for a genuinely new installation:

sudo aegisadmin initialize
The tool asks for the default language (fr or en), first name, last name, email address, password, and password confirmation. This language controls the sign-in screen; each user can subsequently choose their own language under My Account. The password must contain between 12 and 72 characters. Typed characters are represented by # symbols.

The sign-in username is always:
root
The first name, last name, and email address do not replace this username. Do not run the initialisation again if the tool indicates that the root account already exists.

When MySQL or MariaDB is active, the same process configures the dedicated monitoring account. You can resume this step with:
sudo aegisadmin mysql-setup
The SQL administrator password is entered without being displayed and is not stored by AegisAdmin.

7. Check that the system is working

sudo systemctl status 
    aegisadmin-system.service 
    aegisadmin-web.service 
    --no-pager -l
sudo aegisadmin version
With Apache, check apache2.service and the https://127.0.0.1:9080/readyz probe separately. Without Apache, use https://127.0.0.1:8443/readyz. Both AegisAdmin services must be active. The probe must return a response in this form:
{"status":"ok","version":"VERSION","backend":"ok","database":"ok"}
With Apache, port 9080 is used by the Go server for local listening and must not be exposed to the Internet. Without Apache, Go listens directly on the dedicated port 8443.

8. Open the interface for the first time

The package provides dedicated HTTPS access, served directly by Go without Apache or through the dedicated VirtualHost when Apache is present:

https://SERVER_IP_ADDRESS:8443/
Check that the server is listening on this port:
sudo ss -ltnp | grep ':8443'
The firewall is not modified automatically. If the port is filtered, allow only the test address or network using the firewall tool already in use on the machine.

The initial certificate is local and is not signed by a public certificate authority. The browser will therefore normally display a warning. Before accepting it, display its fingerprint directly on the server:
sudo openssl x509 
    -in /etc/aegisadmin-system/tls/admin-local.crt 
    -noout -sha256 -fingerprint
Compare this fingerprint with the one presented by the browser, then sign in with the username root and the password defined previously.

9. Recommended initial checks

Begin with read-only operations:

  1. check the dashboard and resource refresh;
  2. open Processes, Storage, Services, Network, and Logs;
  3. check Apache, Fail2ban, Firewall, Cron, and TLS Certificates;
  4. check Updates, Users, Modules, Settings, and Server Configuration;
  5. test all four themes, French, English, and a narrow screen width;
  6. create a backup under Settings > Database Backup.

Test modification operations only after creating a backup or snapshot of the machine.

10. Install subsequent versions

sudo apt update
apt policy aegisadmin
sudo apt install aegisadmin
The database, backups, snapshots, local configurations, and TLS key pair are retained during a normal upgrade.

11. Quick diagnostics

If the interface does not respond:

sudo journalctl -u aegisadmin-system.service -n 100 --no-pager -l
sudo journalctl -u aegisadmin-web.service -n 100 --no-pager -l
sudo ss -ltnp | grep -E ':8443|:9080'
If Apache is installed, also run sudo journalctl -u apache2.service -n 100 --no-pager -l and sudo apache2ctl configtest.

Check the following in this order:aegisadmin-system.service;

  1. the /run/aegisadmin-system/backend.sock socket;
  2. aegisadmin-web.service;
  3. the local probe appropriate for the installation mode;
  4. direct Go listening on 8443, or Apache in front of 9080;
  5. the firewall and network routing.

Never start the AegisAdmin web server manually as root.

12. Recover the root account

To replace the root password:

sudo /usr/libexec/aegisadmin/aegisadmin-admin reset-root-password
sudo systemctl restart aegisadmin-web.service
To disable two-factor authentication after losing the TOTP generator:
sudo /usr/libexec/aegisadmin/aegisadmin-admin disable-root-two-factor
sudo systemctl restart aegisadmin-web.service
These operations invalidate existing root sessions.

13. Uninstall AegisAdmin from a test machine

Removing the package intentionally preserves the data:

sudo apt remove aegisadmin
Purging also removes the Debian configurations and local TLS key pair, but retains the database, its backups, and the snapshots:

sudo apt purge aegisadmin

Delete any remaining data manually only after confirming that it has been backed up, and only on a machine whose destruction is authorised.

14. Report an issue

Without transmitting any password, private key, TOTP secret, or personal data, include the following information:

cat /etc/os-release
uname -a
dpkg --print-architecture
sudo aegisadmin version
apt policy aegisadmin
Also provide the steps required to reproduce the problem, the expected result, the observed result, and only the log excerpts needed for diagnosis.

Official website: en.aegisadmin.fr
Package repository: packages.aegisadmin.fr
Source code: GitHub