XAXA
Update
Updating XAXA replaces the panel code, runs database migrations and restarts the panel services. Your sites, databases and configuration are not touched.
The panel does not look for new versions by itself. Click Instance → Updates → Check for updates: the card shows the installed version, when it was last checked and, when a newer one is out, an Update now button.
Update from the panel
On Admin → Instance, click Update now in the Updates card. The panel runs xaxa update (below) in the background as its own systemd unit and shows the log on the same page. The panel restarts during the update and may not answer for a few seconds; sites keep running. If the new version does not start, the previous one is restored by itself and the card shows the log. The log is kept in /var/log/xaxa-update.log (root only).
Update over SSH
Connect via SSH as root (or a sudo user) and run:
xaxa update
This downloads the latest release package, checks its minisign signature with the public key saved on this server at install time, and runs the installer from inside the verified package with --update. The installer served by the website is never run: whoever controls the website cannot run code on your server. The update:
- Uses the verified release package.
- Unpacks it to a new folder under
/opt/xaxa-releases/;.envandstorage/are shared between releases. - Applies the current server configuration (nginx, PHP, fail2ban, unattended upgrades) and re-installs the root agent and sudoers rule.
- Snapshots the panel database, runs migrations and rebuilds caches.
- Switches
/opt/xaxato the new release, restarts the panel and checks that it answers. If it does not — or if a migration fails before that — the previous release, its root agent and the database snapshot are restored automatically, and the broken release is removed. - Runs
xaxa resync-sites, so template improvements reach existing sites (vhosts you edited by hand are left alone).
If no admin account exists yet, the update also prints a one-time setup link at the end. If an admin exists, no setup token is created.
The last three releases are kept. To go back manually (the root agent is switched back too):
xaxa rollback
Updating from 0.2.x runs the old
xaxacommand one last time, which still fetches the installer from the website. From then on updates run only signed packages. The update also moves phpMyAdmin and the web terminal to port 2083: open it in your provider's cloud firewall if there is one (UFW is opened automatically).
Operating system updates
Security updates are installed automatically by unattended-upgrades. Run a full upgrade from time to time:
apt update && apt full-upgrade
Found a mistake or need help? support@xaxa.com.tr