Skip to content

Overview of Deploying ISPmanager on Server

Prerequisites and Basic Requirements

  • The server must be running Ubuntu 22.04 LTS.
  • The playbook first verifies the distribution and version and will abort if the check fails.
  • The installer disables AppArmor and all automatic apt update services (unattended‑upgrades, apt‑daily, apt‑daily‑upgrade) before starting.
  • A working internet connection is required to download the installer script and, if possible, to obtain a Let’s Encrypt certificate.

Installation Process

  1. Pre‑configuration
  2. The playbook resolves the A‑record for the domain that will host the control panel.
  3. It checks whether the current public IP matches the DNS record; if they match, the installer will request a Let’s Encrypt certificate.

  4. Download and patch the installer

  5. The script install.eu.sh is fetched from the official ISPmanager URL.
  6. Interactive prompts in the script are patched with sed so that the installation proceeds automatically:
    • “b or s” → s
    • “s or b” → s
    • “1, 2” → 1
    • “1 or 2” → 1
    • “1, 2, or 3” → 1
  7. The script is left executable (0755).

  8. Run the installer

  9. The command executed by the playbook is:

    bash -lc '
      sh /root/install.eu.sh \
        --release stable \
        --ignore-hostname \
        --silent \
        "$LE_ARGS" \
        --dbtype mysql \
        --mysql-server mariadb \
        ispmanager-lite \
      |& tee /root/isp_install.log
    '
    
  10. The installer creates the ISPmanager “lite” edition with a MySQL (MariaDB) backend.

  11. If DNS and IP match, $LE_ARGS becomes --le-domain <isp_domain>; otherwise it uses --no-letsencrypt.
  12. The installation is logged to /root/isp_install.log.
  13. When finished, the binary /usr/local/mgr5/sbin/ispmgr is present.

  14. Restore automatic updates

  15. After the installer finishes, the playbook unmasks and reenables the original apt update services.

Security and Access Rights

  • The whole installation is performed as the root user.
  • After installation, the main control‑panel binary is owned by root and resides in /usr/local/mgr5/sbin/.
  • AppArmor is explicitly disabled to avoid interference with the installer.
  • Let’s Encrypt certificates are only requested when DNS records are correctly aligned with the server’s public IP, reducing the risk of mis‑issued certificates.

Databases

  • The installer sets up MariaDB as the database server (--mysql-server mariadb).
  • The control panel is configured to use MySQL as its database type (--dbtype mysql).
  • Database users, passwords, and schema creation are handled internally by the installer; no manual configuration is required.

Starting, Stopping, and Updating

Starting

The control panel is normally launched automatically during installation and runs as a system service.
To check its status:

systemctl status ispmanager

or

ispmgr status

Stopping

To stop the service:

systemctl stop ispmanager

or

ispmgr stop

Updating

  • Re‑running the same installer script with the same arguments will perform an in‑place upgrade.
  • For a quick upgrade, the command line tool can be used:
ispmgr upgrade
  • After an update, restart the service if necessary:
systemctl restart ispmanager
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×