Deployment Overview of ISPmanager on Server¶
Prerequisites and Basic Requirements¶
The deployment of ISPmanager requires a specific operating system environment and root-level privileges to execute installation scripts and manage system services.
-
Operating System: Ubuntu 22.04 LTS.
-
Privileges: Root access is required to install packages, modify system configurations, and run the installer script.
-
Network Access: The server must have outbound internet access to download the installer and dependencies.
-
DNS Configuration: An A record must be configured for the target domain pointing to the server's public IPv4 address to enable Let's Encrypt certificate issuance.
FQDN of the Final Panel¶
The fully qualified domain name (FQDN) for the ISPmanager panel is constructed using a specific prefix and the server identifier. The format follows the pattern <prefix><Server ID>.hostkey.in.
-
Zone:
hostkey.in -
Prefix:
isp -
Final Domain Format:
isp<Server ID>.hostkey.in -
Access Port:
443(HTTPS)
Application Installation Process¶
The application is installed using the official ISPmanager installer script (install.eu.sh). The process involves downloading the script, modifying it to bypass interactive prompts, and executing it with specific parameters.
-
Prerequisite Installation: Essential tools such as
wget,curl,ca-certificates,gnupg,gpg, anddnsutilsare installed viaapt. -
System Preparation:
-
AppArmor is stopped and disabled.
-
APT-related services (
unattended-upgrades,apt-daily,apt-daily-upgrade) are stopped, masked, and any existing locks are cleared to prevent installation conflicts.
-
-
Installer Download: The script is downloaded from
https://download.ispmanager.com/install.eu.shto/root/install.eu.sh. -
Script Modification: The installer script is patched using
sedto automatically answer interactive questions (selecting "s" for silent/standard options and "1" for default choices). -
Execution: The installer is run with the following parameters:
-
--release stable: Installs the stable release. -
--ignore-hostname: Allows installation regardless of the system hostname. -
--silent: Runs the installation without interactive prompts. -
--dbtype mysql: Specifies MySQL as the database type. -
--mysql-server mariadb: Specifies MariaDB as the database server. -
ispmanager-lite: Installs the Lite flavor of ISPmanager. -
--le-domain <domain>: If DNS resolution matches the public IP, Let's Encrypt SSL certificates are automatically configured. Otherwise,--no-letsencryptis used.
-
Databases¶
The application utilizes a relational database for storing configuration and user data.
-
Database Type: MySQL
-
Database Server: MariaDB
-
Storage Location: Default MariaDB data directories managed by the system package manager.
Proxy Servers and SSL Configuration¶
The deployment script handles SSL certificate provisioning based on DNS validation.
-
SSL Provider: Let's Encrypt.
-
Condition: Certificates are issued only if the A record for the FQDN resolves to the server's public IPv4 address.
-
Configuration: The installer is invoked with
--le-domainto automate the SSL setup for the panel domain.
Available Ports for Connection¶
The following ports are configured for accessing the ISPmanager panel:
| Port | Protocol | Purpose |
|---|---|---|
| 443 | HTTPS | External access to the ISPmanager panel. |
| 1500 | TCP | Internal management port (used internally by the application). |
Starting, Stopping, and Updating¶
ISPmanager services are managed via the ispcp service or direct binary execution. The primary service binary is located at /usr/local/mgr5/sbin/ispmgr.
-
Service Management: Standard systemd commands can be used to manage the ISPmanager service if the installer creates a systemd unit. Otherwise, the application runs as a daemon managed by its own control scripts.
-
Installation Log: The installation process output is logged to
/root/isp_install.log.
File and Directory Structure¶
Key files and directories created or modified during the deployment include:
-
Installer Script:
/root/install.eu.sh -
Installation Log:
/root/isp_install.log -
ISPmanager Binary:
/usr/local/mgr5/sbin/ispmgr -
Configuration Files: Located within the
/usr/local/mgr5/directory structure, managed by the ISPmanager application itself.