DropVPS Team
Writer: Cooper Reagan
How to Install WHMCS on Ubuntu 25.10

Table of Contents
WHMCS is the industry-standard billing and automation platform for hosting companies, VPS providers, domain resellers, and IT service businesses. Ubuntu 25.10 provides a clean, stable base for running WHMCS with Apache, PHP, and MariaDB.
Step 1: Update Your System
Start by ensuring all packages are up to date:
sudo apt update && sudo apt upgrade -y
Step 2: Install Apache Web Server
WHMCS runs smoothly on Apache:
sudo apt install apache2 -y
sudo systemctl enable --now apache2
Verify:
systemctl status apache2
Step 3: Install PHP and Required Extensions
WHMCS requires a specific set of PHP modules. Install them all at once:
sudo apt install -y php php-cli php-fpm php-common php-mysql php-curl php-zip php-xml php-json php-mbstring php-gd php-intl php-opcache php-bcmath php-imagick
Restart Apache:
sudo systemctl restart apache2
Check version:
php -v
Step 4: Install MariaDB (Database Server)
WHMCS uses MySQL/MariaDB. Install and secure it:
sudo apt install mariadb-server -y
sudo systemctl enable --now mariadb
sudo mysql_secure_installation
Step 5: Create Database and User for WHMCS
Log into MariaDB:
sudo mysql -u root
Run:
CREATE DATABASE whmcs;
CREATE USER 'whmcsuser'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON whmcs.* TO 'whmcsuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 6: Download WHMCS Files
Download WHMCS (requires a WHMCS account).
Upload the ZIP to your server using SFTP or browser.
Move to your web root:
cd /var/www/
Extract WHMCS:
sudo unzip whmcs.zip -d whmcs
Set proper permissions:
sudo chown -R www-data:www-data whmcs
sudo chmod -R 755 whmcs
Step 7: Configure Apache Virtual Host
Create site config:
sudo nano /etc/apache2/sites-available/whmcs.conf
Add:
<VirtualHost *:80>
ServerName your-domain.com
DocumentRoot /var/www/whmcs
<Directory /var/www/whmcs/>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/whmcs-error.log
CustomLog ${APACHE_LOG_DIR}/whmcs-access.log combined
</VirtualHost>
Enable config + modules:
sudo a2ensite whmcs.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
Step 8: Install IonCube Loader (Required)
WHMCS will NOT run without IonCube.
Download loader:
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
sudo tar xvf ioncube_loaders_lin_x86-64.tar.gz
Find PHP extension dir:
php -i | grep extension_dir
Copy correct loader file:
sudo cp ioncube/ioncube_loader_lin_8.2.so /usr/lib/php/20230831/
Enable it:
echo "zend_extension = /usr/lib/php/20230831/ioncube_loader_lin_8.2.so" | sudo tee /etc/php/8.2/apache2/conf.d/00-ioncube.ini
Restart Apache:
sudo systemctl restart apache2
Step 9: Run the WHMCS Installer
Open your browser:
http://your-domain.com/install
Follow the setup wizard:
-
Enter database details
-
Enter license key
-
Create admin account
After installation, remove the installer directory:
sudo rm -rf /var/www/whmcs/install
Whmcs Now installed.