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
- A new server (dedicated or VPS), x86_64, with CloudLinux OS 8 or 9 or a minimal AlmaLinux 8 or 9 to convert. No other panel installed. At least 2 CPUs, 4 GB of memory and 40 GB of disk.
- The server's public IPv4 address is the licence's (one of them, if it has several). The server talks to the repository and to the licence server over IPv4.
- A name for the server (for example
srv1.example.com) with the A record (and AAAA, if it has IPv6) pointing to the server and, if possible, the reverse (PTR) of the IP with that name: without it, many mail servers refuse what it sends. - The CloudLinux licence for the plan's edition (Solo, Admin, Shared or Shared Pro): your own, or requested from us in the licence portal.
- Optional: an Imunify360 licence (antivirus, WAF and firewall). The panel works without it, but without those protections.
- An administrator e-mail that exists: the server sends its notices there (the
--email). - Optional: the network you will administer from (your fixed IP, the office network or the VPN). With it, the panel's administration only opens from there; without it, it opens from any IP, with the password and two-step authentication. You can set it later, in Security › Management networks.
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.