web-cp.net

"open source web hosting control panel"

← Back to Articles

Installation Guide

2026-01-15 · Mike Reynolds guide installation

This guide walks you through installing web-cp on a fresh server. We’ll cover the three most common platforms: Debian/Ubuntu, RHEL-based systems, and FreeBSD.

Prerequisites

Before installing web-cp, ensure your server has:

  • A clean operating system installation
  • Root access (or sudo privileges)
  • A static IP address
  • A valid hostname that resolves to your server

Step 1: Install Dependencies

Debian / Ubuntu

sudo apt update
sudo apt install apache2 mysql-server php php-mysqli php-mbstring php-openssl
sudo systemctl enable apache2 mysql
sudo systemctl start apache2 mysql

RHEL / CentOS / AlmaLinux

sudo dnf install httpd mysql-server php php-mysqli php-mbstring php-openssl
sudo systemctl enable httpd mysqld
sudo systemctl start httpd mysqld
sudo mysql_secure_installation

FreeBSD

pkg install apache24 mysql80-server php83 php83-mysqli php83-mbstring php83-openssl
sysrc apache24_enable=YES mysql_enable=YES
service apache24 start
service mysql-server start

Step 2: Download and Extract

cd /usr/local/src
wget https://web-cp.net/downloads/web-cp-0.8.2.tar.gz
tar xzf web-cp-0.8.2.tar.gz
cd web-cp-0.8.2

Step 3: Run the Installer

sudo ./install.sh

The installer will:

  1. Detect your operating system and package manager
  2. Verify all dependencies are installed
  3. Create the MySQL database and user
  4. Install web-cp files to /usr/local/webcp
  5. Configure Apache virtual hosts
  6. Set up the initial administrator account

Follow the prompts to set your admin username and password.

Step 4: Start Web-CP

sudo /etc/init.d/webcp start

You can now access the server control panel at https://your-server-ip:2087.

Step 5: Post-Installation

After logging in for the first time:

  1. Update the server hostname under Server Settings
  2. Configure your DNS template if using BIND
  3. Create your first reseller account
  4. Set resource limits and defaults

Troubleshooting

Apache won’t start: Check for port conflicts with netstat -tlnp | grep :80. Another web server may be running.

MySQL connection errors: Verify the MySQL socket path in /usr/local/webcp/config/database.php matches your system’s configuration.

Permission errors: Ensure the web-cp daemon runs as root. The installer should configure this automatically.

For additional help, visit the support page.