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:
- PHP pages run as
nobody(WHM) or the cPanel user (user plugin) - All system operations go through 8 shell scripts in
/usr/local/cpanel/cyberpanel-ols/sbin/ - Scripts are executed via
sudowith strict sudoers rules - Every sbin script validates input with regex whitelists (domains, PHP versions, extensions)
- 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:
- User selects the new PHP version and clicks Apply
- Plugin calls
domain-php.sh set <domain> <version>via sudo - Script uses cPanel’s
whmapi1 php_set_vhost_versionsAPI - Apache config is rebuilt (
rebuildhttpdconf) - Apache config is flattened (resolves all Include directives)
- OLS picks up the new PHP handler via ReadApacheConf
- 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 httpdcontrols 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
- CyberPanel Custom OpenLiteSpeed — Installation & Product Guide
- Installing & Activating the .htaccess Module (paid add-on, $59/yr)
- Register for OLS for Any Panel (free)
- Purchase .htaccess Module ($59/year or $199 lifetime)
Getting Help
- Support: [email protected]
- Knowledge Base: cyberpanel.net/KnowledgeBase
- GitHub Issues: github.com/usmannasir/cyberpanel_ols/issues
- Forums: forums.cyberpanel.net



