cPanel is the most popular web hosting control panel, used by over 70% of commercial web hosts. Installing cPanel on a Russia VPS gives you a graphical interface for managing websites, email, DNS, databases, and security. This tutorial walks through the complete installation process on AlmaLinux 9, including license requirements, pre-installation configuration, post-install setup, and troubleshooting common issues.
1. Prerequisites and License Requirements
Before starting, verify your environment meets cPanel's requirements. Operating system: AlmaLinux 9 or Rocky Linux 9 (cPanel does NOT support Ubuntu, Debian, or Fedora). Hardware: minimum 2GB RAM (4GB recommended for production), 20GB disk space (40GB+ recommended), 1 vCPU minimum (2+ recommended). Network: a static public IP address, hostname set to a fully-qualified domain name (e.g., server.yourdomain.com), and ports 2086, 2087, 2082, 2083, 80, 443, 21, 22, 25, 53 open. License: a cPanel license for your IP address — Solo (1 account, $20/month), Admin (5 accounts, $30/month), or Premier (100 accounts, $50/month). Purchase from cPanel.net or a reseller like LicenseCube or BuyCPanel.
2. Provisioning the Right VPS
For cPanel, choose a Russia VPS provider that supports AlmaLinux 9 templates. Most providers in our 2026 lineup offer AlmaLinux: PrivateAlps, Hostkey, PQ.Hosting, Kamatera, and Vultr Moscow all support it. Avoid providers that only offer Ubuntu or Debian templates — cPanel does not support them. Provision at least a 4GB RAM plan — 2GB will technically work but will be sluggish with even a few accounts. For production hosting, choose 8GB+ RAM and 80GB+ disk. Make sure the VPS has a static public IP — cPanel licenses are tied to the IP address and cannot be transferred between IPs without a support ticket.
3. Pre-Installation: OS Preparation
Once your AlmaLinux 9 VPS is provisioned, SSH in as root and prepare the OS. First, update all packages: `dnf update -y`. Install required utilities: `dnf install -y wget curl perl tar gzip`. Set the hostname to a fully-qualified domain name: `hostnamectl set-hostname server.yourdomain.com`. Update /etc/hosts to include your server's IP and hostname: `echo "YOUR_IP server.yourdomain.com server" >> /etc/hosts`. Disable SELinux (cPanel requires this): edit `/etc/selinux/config` and set `SELINUX=disabled`, then `setenforce 0` to apply immediately. Reboot to ensure all changes take effect.
4. Pre-Installation: Network Configuration
cPanel requires specific network configuration. Disable NetworkManager and enable the network service: `systemctl disable NetworkManager && systemctl enable network`. Configure your network interface with a static IP (your VPS provider should have done this already, but verify in `/etc/sysconfig/network-scripts/ifcfg-eth0`). Disable firewalld (cPanel configures its own firewall via cPHulk and csf): `systemctl disable firewalld`. Ensure your VPS provider's external firewall allows the cPanel-required ports: 2086, 2087 (WHM), 2082, 2083 (cPanel), 80, 443 (web), 21 (FTP), 22 (SSH), 25, 465, 587 (email), 53 (DNS).
5. Installing cPanel
Once the OS is prepared, install cPanel with a single command: `cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest`. The installation script will download and install cPanel, WHM, and all dependencies. This process takes 30-60 minutes depending on your VPS performance and network speed. Do not interrupt the installation — let it complete fully. The installer will display progress and any errors. If the installation fails, check `/var/cpanel/installer.log` for details. Common failure causes: insufficient RAM (need 2GB+), SELinux not disabled, NetworkManager not disabled, or firewall blocking downloads.
6. Initial WHM Setup
After installation completes, access WHM at `https://YOUR_IP:2087` (use the same username/password as root SSH). The first-time setup wizard will guide you through: (1) accepting the license agreement, (2) setting the contact email (important — cPanel sends alerts here), (3) configuring DNS resolvers (use 8.8.8.8 and 8.8.4.4 or your provider's resolvers), (4) setting the primary IP address, (5) configuring the hostname and nameservers (e.g., ns1.yourdomain.com, ns2.yourdomain.com), (6) setting the root MySQL password. Take your time with this wizard — incorrect settings here cause problems later.
7. License Activation
If you have not yet purchased a cPanel license, WHM will display a license warning. Purchase a license for your IP from cPanel.net or a reseller. Once purchased, force cPanel to check the license: from WHM, go to "Manage License" or run `/usr/local/cpanel/cpkeyclt` from SSH. The license should activate within 5 minutes. If it does not, verify your IP address matches the license (cPanel licenses are IP-specific) and that the license is active in the cPanel store. Common issue: cPanel licenses take 5-15 minutes to propagate after purchase — be patient.
8. Configuring Nameservers
cPanel can run its own DNS server (BIND) or use a remote DNS cluster. For most users, running BIND locally is simplest. In WHM, go to "Basic WebHost Manager Setup" and set the nameservers (e.g., ns1.yourdomain.com, ns2.yourdomain.com). cPanel will configure BIND to serve DNS for these nameservers. Register these nameservers with your domain registrar (Network Solutions, GoDaddy, Namecheap) — each registrar has a "register nameservers" or "glue records" page where you associate the nameserver hostname with your VPS IP. DNS propagation takes 24-48 hours, so do this early.
9. Setting Up the First cPanel Account
To host a website, create a cPanel account. In WHM, go to "Create a New Account". Enter: domain name (e.g., yourdomain.com), username (auto-generated from domain, or custom), password (strong, generated by password manager), package (default or custom — packages define resource limits), contact email. Click "Create". cPanel will create the user account, set up the home directory, configure Apache virtual host, create DNS zone, and set up email. The user can now log in to cPanel at `https://YOUR_IP:2083` with their username and password to manage their site.
10. Installing SSL Certificates
cPanel includes AutoSSL, which issues free Let's Encrypt SSL certificates for all domains. In WHM, go to "Manage AutoSSL" and ensure it is enabled. By default, cPanel will issue certificates for all domains and subdomains, automatically renewing them before expiry. To manually issue a certificate for a specific domain, log in to the user's cPanel, go to "SSL/TLS Status" and click "Run AutoSSL". For wildcard certificates or EV certificates, use the "Install an SSL Certificate" tool and paste the certificate and private key. SSL setup is critical — Google ranks non-HTTPS sites lower and browsers warn users about insecure sites.
11. Email Server Configuration
cPanel includes a full email server (Exim for SMTP, Dovecot for IMAP/POP3). Email is automatically configured when you create a cPanel account. Users can create email addresses (e.g., user@yourdomain.com) from their cPanel. However, sending email from a Russia VPS can be challenging: many email providers (Gmail, Outlook, Yahoo) block email from unknown IPs or non-Western jurisdictions. To improve email deliverability: (1) set up SPF and DKIM records (cPanel does this automatically), (2) set up DMARC records, (3) use a relay service like SendGrid or Amazon SES for transactional email, (4) warm up your IP by sending low volumes initially. For most production use cases, use a transactional email service rather than self-hosting email.
12. Security Hardening
After installation, harden cPanel security. In WHM, configure: (1) cPHulk — brute force protection, set to block IPs after 5 failed logins within 30 minutes, (2) ModSecurity — web application firewall, enable the OWASP Core Rule Set, (3) SSH password authentication — disable, force key-only authentication, (4) Shell Fork Bomb Protection — enable, (5) Compiler access — disable for non-root users, (6) Apache mod_userdir — disable, (7) PHP open_basedir — enable, (8) cPanel services — require SSL for all logins. Install ConfigServer Security & Firewall (csf) for additional firewall and LFD (Login Failure Daemon) integration.
13. Backup Configuration
Configure regular backups before hosting any production sites. In WHM, go to "Backup Configuration" and set: backup type (compressed), backup frequency (daily for accounts, weekly for system), retention (7 daily, 4 weekly, 3 monthly), destination (local disk, remote FTP, or Amazon S3). For local backups, ensure you have sufficient disk space — each backup is typically 50-100% of the source data size. For remote backups, configure an FTP server or S3 bucket. Test backup restoration in a staging environment before relying on it for production. A backup you have not tested is not a backup.
14. Common Issues and Troubleshooting
Several common issues arise during cPanel installation and operation. Installation fails with "out of memory" — increase VPS RAM to at least 2GB and retry. License not activating — verify your IP matches the license, wait 15 minutes for propagation, then run `cpkeyclt`. Cannot access WHM at port 2087 — verify your VPS provider's external firewall allows the port, and check that cPanel services are running: `systemctl status cpanel`. Email not sending — check that port 25 is not blocked by your VPS provider (many block outbound port 25 to prevent spam). DNS not resolving — verify nameservers are registered with your domain registrar and DNS has propagated (24-48 hours). SSL not issuing — check that the domain resolves to the VPS IP before running AutoSSL.
Conclusion
Installing cPanel on a Russia VPS takes 1-2 hours from provisioning to first hosted website. Use AlmaLinux 9 (not Ubuntu or Debian), provision at least 4GB RAM, prepare the OS by disabling SELinux and NetworkManager, run the installer, complete the WHM setup wizard, activate your license, configure nameservers, and create your first account. Hardened with cPHulk, ModSecurity, AutoSSL, and ConfigServer Firewall, cPanel on a Russia VPS provides a robust hosting platform for hundreds of websites. The main tradeoffs are licensing cost ($20-50/month) and the requirement to use AlmaLinux/Rocky Linux instead of Ubuntu.