HisarHestia · documentation
User guide
A short account of how HisarHestia is installed, what the modules show, and within which limits backup and restore work. The full guide ships with the package in Turkish and English.
HisarHestia Write to us for details
Version 1.1.2 · HestiaCP 1.10.5 · Preparing for release: general download is not open yet
Installation
Back up your server first. Then, as root in the package directory, run the pre-check and then the installation:
bash install.sh --check --user admin --with-modules
bash install.sh --user admin --with-modules
There are three scopes and you choose one:
| Scope | Option | What it installs |
|---|---|---|
| Appearance only | (none) | light and dark themes, the FileGator skin; Hestia's templates are left alone |
| Admin modules | --with-modules | 13 read-only modules, a separate collector service, a narrow sudoers rule |
| Full portal | --with-full | backup, restore, DNS, mail, site health and operations tools |
--with-modules and --with-full cannot be combined. Add --theme hisarhestia-dark for the dark theme and --without-file-manager where FileGator is not available. --set-default makes the theme the default and --set-app-name sets the panel name to HisarHestia; both apply only when given. The installer backs up what it changes, tries to roll back on failure, and uses a lock so two installations never run at once.
Signing in and languages
You sign in with your normal Hestia account. The language is chosen on the account editing screen; the modules follow the Hestia session language and the theme labels follow the page language. Supported languages are Turkish, English, German, Spanish, French, Portuguese and Russian; a missing translation falls back to English. Domain, user and service names are not translated.
Admin modules
The modules live at /list/hisarhestia/ and are open only to the real root panel administrator; a session impersonating another user cannot reach them.
| Module | Shows |
|---|---|
| SSL Certificates | expiry dates of local certificates |
| Mail DNS Checks | presence of MX, SPF and DMARC records |
| PHP Profiles | PHP/FPM settings and enabled extensions |
| Database Inventory | database details by account |
| Mail Queue | a queue summary without message contents or recipients |
| Task Scheduler | systemd timers and their services |
| Storage Health | RAID and inode information |
| Package Updates | candidate versions in the local APT catalogue |
| Network Capacity | traffic and error counters |
| Service Error Summary | bounded error counts for the last 24 hours |
| Portal Audit Log | management actions accepted by the portal |
| Alert Centre | measurement and service alerts |
| Resource History | bounded resource measurements for the last 24 hours |
A timer separate from the web request collects measurements every five minutes. Refresh data starts a new collection; reopen the page when it finishes. Times are shown in UTC. A missing or failed measurement does not mean healthy, and an empty table does not by itself mean there is no problem.
The full portal adds the four centres that came with 1.1: Site Reliability, WordPress Fleet, Recovery and Repair, and Mail Delivery. Details are in the 1.1 release note.
Backup and restore (full portal)
- Local and encrypted cloud backup come with the full scope, but the connections ship switched off and empty: each installation defines its own cloud and notification settings on the server under
/etc/hisarhestia/. The package holds no passwords, keys or server-specific values. - Since 1.1.2, an incremental or a full scan can be chosen when starting a OneDrive backup. The incremental round transfers only changed blocks; either way the snapshot restores completely.
- Scheduled backups and write operations started from the panel share one lock; a write started while a backup runs is refused with a clear message.
- Restore works from a local Hestia backup, previewed and queued, with a fresh backup of the account taken first. In this release only existing web spaces and MySQL/MariaDB databases are restored; DNS, mail, cron and user-directory components are refused.
- The original backup file is never changed or deleted; the work is done on a separate, verified copy.
- After an interrupted restore, new writes on that account stop until an administrator has inspected the account and acknowledged the operation. Repair diagnostics show it by its identifier.
- If a Hestia backup exclusion is active, restore and WordPress updates are refused; HisarHestia never changes exclusion settings on its own.
Security boundaries
- Every state-changing action goes through POST and Hestia's own CSRF check.
- There are no arbitrary commands, arguments or paths; targets come from the live Hestia inventory and the commands are fixed.
- Network measurements take no address from the user and never connect to private, local or reserved addresses. Third-party blocklist queries are off by default.
- The collector runs apart from the web request and writes its status file with restricted permissions.
Troubleshooting
- Access denied: check that you are signed in as the root administrator and not impersonating another account.
- CSRF error: reopen the page and try again.
- Measurements stop updating: a server administrator can check
systemctl status hisarhestia-modules.timer hisarhestia-modules.service. - Generic error screen: include the reference number shown in your support request; never share passwords or session tokens.
- The old look persists: reload without cache and check the selected theme.
Updating and uninstalling
Appearance and module scopes are upgraded by running the same install command from the new package after the pre-check. The full portal never applies a changed package silently: remove the previous scope first with bash uninstall.sh --user admin, then pre-check and install the new package. Configuration and secret files under /etc/hisarhestia/ are kept when uninstalling.
bash uninstall.sh restores the recorded baseline theme, FileGator files and selected Hestia settings. It is not a website or database backup restore.