SakerCP features

Installing SakerCP

For those with an active alpha licence. The licence belongs to the server's public IP: the repository only delivers packages to that IP, and the panel confirms it on its own. During the alpha, install on a new server with nothing in production.

Before you start

Install with the installer

As root, on the server (with its name pointing to it):

curl -fsSO https://repo.sakercp.com/install.sh
bash install.sh --host srv1.example.com --email admin@example.com

The installer checks this IP's SakerCP licence; on AlmaLinux it converts the server to CloudLinux (with the IP's CloudLinux licence, or with --cloudlinux-key-file /root/cloudlinux.key, a root-only file with the activation key) and asks for a reboot; it turns on quotas and MariaDB, installs the packages, configures the server and creates the first administrator. If a licence fails, it stops and says why and what to do: SakerCP's (awaiting approval, revoked, missing) or CloudLinux's (key refused, IP without a licence). It can run again without breaking anything; after a reboot, run the same command. Other options: --admin-net (where you will administer from, several networks separated by commas; without it, from any IP), --ns1/--ns2, --imunify-key-file and --lang pt (messages in Portuguese; English by default). The log is in /var/log/sakercp-install.log.

The steps below are what the installer does, for those who prefer to do them by hand.

1. CloudLinux

On AlmaLinux 8 or 9, convert to CloudLinux with the activation key (or -i for an IP-based licence) and reboot:

dnf -y install wget
wget https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
sh cldeploy -k <activation-key>
reboot

After the reboot, cldetect --check-license must answer OK.

2. Quotas and database

The panel uses per-user disk quotas on the file system that holds the home directories. Best is /home on its own partition, XFS mounted with uquota,gquota (in /etc/fstab), or ext4 with the quota feature. quotaon -pu /home must say they are on.

dnf -y install mariadb-server
systemctl enable --now mariadb

On Shared Pro plans, sakercp-setup then installs the MySQL Governor, which replaces MariaDB with CloudLinux's build; on a new server without databases that is automatic.

3. SakerCP

curl -fsSo /etc/yum.repos.d/sakercp.repo https://repo.sakercp.com/sakercp.repo
dnf -y install sakercp sakercp-cpvendor

dnf asks you to accept the repository key: check that the fingerprint is AAFD 07EB 2FAB 0DA2 78F2 3FB1 1699 16C6 F393 5FCD.

Then the server configuration, with your values:

export SK_HOST=srv1.example.com
export SK_IP4=203.0.113.10          # the licence IP
export SK_IP6=                      # empty if there is no IPv6
export SK_NS1=ns1.example.com SK_NS2=ns2.example.com
export SK_NS1_IPS='"203.0.113.10"' SK_NS2_IPS='"203.0.113.10"'
export SK_ADMIN_EMAIL=admin@example.com
export SK_ADMIN_NET=198.51.100.0/24  # where you will administer from
sakercp-setup

sakercp-setup first checks what is missing (licensed CloudLinux, quotas, MariaDB, no other panel) and refuses to continue if anything is, with the list. Then it configures Apache, mail, DNS, FTP, CageFS and the firewall. It can run again without breaking anything. Its messages are in Portuguese.

4. The first administrator

/opt/sakercp/bin/sk-broker admin-create admin
reboot

The credentials are written to /root/sakercp-admin-admin.txt: the password and the code for the authenticator app (the second step is mandatory in the administration). Delete the file once you have saved them. The reboot applies the /proc protection.

The administration opens at https://srv1.example.com:2444/ (only from the network you set) and the client panel at https://srv1.example.com:2443/ and at https://painel.<client domain>. The licence is under Software › SakerCP licence.

5. Imunify360 (optional)

With the Imunify360 licence, after sakercp-setup:

wget https://repo.imunify360.cloudlinux.com/defence360/i360deploy.sh
bash i360deploy.sh --key <imunify360-key>
imunify360-agent install-vendors

The Imunify360 interface opens from the panel's administration.

The CloudLinux edition

The panel adapts to the edition of the CloudLinux licence: on Solo, one hosting account and no resource limits (LVE) or MySQL Governor; on Admin, up to 5 accounts and no Governor; on Shared and Shared Pro, no account limit, with resellers and the Governor. If the licence changes edition (for example, from Solo to Shared Pro), the administration warns you and, under Network and certificates › Hostname and resolvers, the Install what is missing button installs what the new edition allows. For each site, the domain and www must point to the server before the certificate.

Updates

The panel updates itself: critical versions (security fixes) within minutes, the others every day at 02:00, with a health check and automatic rollback. The level is chosen under Software › SakerCP updates; by hand, sakercp-update. Only the panel's services restart: websites, mail and databases keep running. Without an active licence, the repository delivers no updates.

Help

During the alpha, write to alpha@sakercp.com with what went wrong and the command's output.