CyberPanel OLS Manager — cPanel/WHM Plugin Guide

Have a Question?
< All Topics
Print

CyberPanel OLS Manager — cPanel/WHM Plugin Guide

What is the CyberPanel OLS Manager Plugin?

The CyberPanel OLS Manager is a free plugin for cPanel/WHM servers running OpenLiteSpeed. It provides a graphical interface for managing OLS directly from WHM (for server admins) and cPanel (for end users) — no SSH required.

The plugin is included automatically when you install CyberPanel Custom OpenLiteSpeed on a cPanel server via OLS for Any Panel.


Features

WHM Admin Plugin (Root Access)

Feature Description
Dashboard OLS service status (running/stopped, PID, uptime, worker count), installed PHP versions, domain count, cache size, recent errors — all at a glance
PHP Extensions Install or remove PHP extensions per lsphp version. Toggle extensions on/off without editing php.ini manually
PHP Settings Edit php.ini values with a simple form (memory_limit, upload_max_filesize, max_execution_time, etc.) or use the advanced raw editor for full control
Domain PHP Versions Change PHP version per domain via cPanel’s MultiPHP Manager API. Bulk-apply to multiple domains at once
Cache Management View LSCache stats (size, entries), purge all cache or per-domain, with auto-refresh
Server Logs Tail OLS error.log with severity filter (ALL / ERROR / WARN / INFO) and auto-refresh
Service Control Start, Stop, Restart, and Graceful restart — all from the dashboard with one click

cPanel User Plugin (Per-User Access)

Feature Description
Overview Shows the user’s domains with their current PHP version
PHP Versions Change PHP version for user’s own domains. Only shows actually installed PHP versions in the dropdown
PHP Settings Edit safe php.ini settings (memory_limit, upload_max_filesize, max_execution_time, etc.) — scoped to user’s domains only
Cache Purge LSCache for user’s own domains

How It Works

Architecture

The plugin uses a privilege separation model for security:

  1. PHP pages run as nobody (WHM) or the cPanel user (user plugin)
  2. All system operations go through 8 shell scripts in /usr/local/cpanel/cyberpanel-ols/sbin/
  3. Scripts are executed via sudo with strict sudoers rules
  4. Every sbin script validates input with regex whitelists (domains, PHP versions, extensions)
  5. The cPanel user plugin verifies domain ownership before any operation

PHP Version Change Flow

When you change a domain’s PHP version through the plugin:

  1. User selects the new PHP version and clicks Apply
  2. Plugin calls domain-php.sh set <domain> <version> via sudo
  3. Script uses cPanel’s whmapi1 php_set_vhost_versions API
  4. Apache config is rebuilt (rebuildhttpdconf)
  5. Apache config is flattened (resolves all Include directives)
  6. OLS picks up the new PHP handler via ReadApacheConf
  7. Graceful restart completes the change

The entire process takes approximately 13 seconds and requires zero downtime.


Prerequisites

  • cPanel 130+ (Ubuntu 22/24, RHEL/AlmaLinux 8/9)
  • CyberPanel Custom OpenLiteSpeed installed via OLS for Any Panel
  • Root SSH access for installation

If you haven’t installed OLS yet, follow the Custom OpenLiteSpeed Installation Guide first, or register for OLS for Any Panel (free).


Installation

Step 1: Install OpenLiteSpeed on cPanel

If you already have OLS for Any Panel installed, skip to Step 2.

# One-command install — auto-detects cPanel, installs OLS, reads Apache config
bash <(curl -sSL https://cyberpanel.net/ols-install.sh)

This installer:

  • Detects your OS and cPanel version
  • Installs OpenLiteSpeed with the custom binary (PHPConfig, Origin header, static linking)
  • Installs matching lsphp versions for all your cPanel EA-PHP versions
  • Creates an Apache wrapper so cPanel thinks Apache is still running
  • Reads your existing Apache configuration via ReadApacheConf — all sites work immediately
  • Sets up systemd override so systemctl restart httpd controls OLS

Step 2: Install the WHM/cPanel Plugin

# Download and install the plugin
cd /usr/local/CyberCP/cyberpanel_ols/cpanel/plugin
bash install-plugin.sh

The plugin installer:

  • Copies privileged sbin scripts to /usr/local/cpanel/cyberpanel-ols/sbin/
  • Installs sudoers rules for safe privilege escalation
  • Deploys the WHM admin plugin
  • Deploys the cPanel user plugin to all themes (Jupiter, Paper Lantern)
  • Registers with cPanel’s AppConfig system
  • Restarts cpsrvd

Step 3: Access the Plugin

Interface Location
WHM Admin WHM > Plugins > CyberPanel OLS Manager
cPanel User cPanel > Software > CyberPanel OLS Manager

Uninstallation

Remove the Plugin Only

bash /usr/local/CyberCP/cyberpanel_ols/cpanel/plugin/uninstall-plugin.sh

Remove OLS and Restore Apache

# Uninstalls OLS, restores Apache binary, removes systemd override
bash <(curl -sSL https://cyberpanel.net/ols-install.sh) --uninstall

The uninstaller restores the original Apache binary, removes the systemd override, cleans up symlinks, and starts Apache. All your sites continue working immediately.


Plugin Shell Scripts (sbin)

For advanced users, the plugin’s privileged scripts can also be used from the command line:

Script Commands Description
ols-service.sh start | stop | restart | status | graceful OLS service control
php-ext.sh list | install | remove <ver> [ext] PHP extension management (apt/yum)
php-config.sh get | set <ver> [key=val] Read/write php.ini settings
php-config-raw.sh get-raw | set-raw <ver> Raw php.ini dump/replace
cache-ctl.sh purge | stats | purge-domain <domain> LSCache management
domain-php.sh list | list-versions | list-user | set Per-domain PHP version management
flatten-httpd.sh [input] [output] Resolve Apache Include directives
log-tail.sh [-n lines] [-s severity] Tail error.log with filter

All scripts are located at /usr/local/cpanel/cyberpanel-ols/sbin/ and return JSON output.


Frequently Asked Questions

Is the plugin free?

Yes, the cPanel/WHM plugin is completely free. It’s included with OLS for Any Panel, which is also free and open source (GPLv3).

Does the plugin require the paid .htaccess Module?

No. The plugin manages OLS service, PHP versions/extensions, and LSCache — these features work with the free custom OLS binary. The .htaccess Module is a separate paid product ($59/yr) that adds Apache .htaccess file processing (headers, redirects, access control, PHP directives in .htaccess, brute force protection). You can use them together or independently.

Will my existing cPanel sites work after switching to OLS?

Yes. The installer uses ReadApacheConf to automatically read your existing Apache configuration and create matching OLS virtual hosts. All sites, SSL certificates, and PHP settings are preserved. You can revert to Apache at any time with one command.

How do PHP version changes work?

The plugin uses cPanel’s native whmapi1 php_set_vhost_versions API, so PHP version changes are fully compatible with cPanel’s MultiPHP Manager. The Apache config is rebuilt and OLS re-reads it via ReadApacheConf.

Can cPanel users manage their own PHP settings?

Yes. The cPanel user plugin lets end users change PHP versions and safe php.ini settings for their own domains. Domain ownership is verified before any operation, so users can only modify their own sites.

What happens when cPanel rebuilds Apache config?

The Apache binary is replaced with a wrapper script that translates Apache commands to OLS equivalents (e.g., httpd -k graceful becomes lswsctrl restart). For diagnostic flags like httpd -t or httpd -V, the wrapper calls the real Apache binary (backed up as httpd.real) so cPanel’s config test still works correctly.

Is there a Plesk version?

Yes. CyberPanel also provides a Plesk extension for OpenLiteSpeed management. See the main product guide for details.


Troubleshooting

Plugin not visible in WHM

# Re-register AppConfig
/usr/local/cpanel/bin/register_appconfig /var/cpanel/apps/cyberpanel_ols.conf

# Restart cpsrvd
/usr/local/cpanel/scripts/restartsrv_cpsrvd

Permission denied errors

# Verify sudoers is installed
cat /etc/sudoers.d/cyberpanel-ols

# Validate sudoers syntax
visudo -c -f /etc/sudoers.d/cyberpanel-ols

OLS not starting after install

# Check error log
tail -50 /usr/local/lsws/logs/error.log

# Verify binary is the custom version
/usr/local/lsws/bin/openlitespeed -v

# Check systemd override
systemctl cat httpd

Sites returning 503 after install

This usually means ModSecurity ABI mismatch. Make sure you’re using the matching mod_security-compatible-*.so from cyberpanel.net. See the installation guide.

cPanel user plugin not visible

# Check if deployed to current theme
ls /usr/local/cpanel/base/frontend/jupiter/addon_cyberpanel_ols_user/

# Re-run installer
bash /usr/local/CyberCP/cyberpanel_ols/cpanel/plugin/install-plugin.sh

# Restart cpsrvd
/usr/local/cpanel/scripts/restartsrv_cpsrvd

Supported Platforms

OS cPanel Version Status
Ubuntu 22.04 / 24.04 130+ Fully Supported
AlmaLinux / Rocky Linux 8.x 130+ Fully Supported
AlmaLinux / Rocky Linux 9.x 130+ Fully Supported
RHEL 8.x / 9.x 130+ Fully Supported
CloudLinux 8.x 130+ Fully Supported

Related Documentation


Getting Help

Table of Contents