All Category

Plugin Configuration & Installation

Plugin install

install_cp_plugin https://example.com/plugin_name.zip

This page describes the configuration required to add a 3rd-party plugin by php to OLSPanel. The configuration file should be included in the root zip file of the plugin.

Example Configuration File

# The Display name.
name=RoundCube webmail

# The application's service.
service=user_panel

# Physical path: /usr/local/lsws/Example/html/mypanel/3rdparty/index.php
# Literal URL path: $server:$port/3rdparty/plugin_folder/name/index.php
url=/3rdparty/roundcube/index.php
auto_login_url=/3rdparty/roundcube/?_task=login

# Pass parameters via HTTP headers
header[HTTP_AUTOLOGINUSER]=%email%
header[HTTP_AUTOLOGINPASS]=%email_password%

# System user and group to run process as
user=$authuser
group=$authuser

# Features required
features=mail

# Media required
icon=/media/icon/roundcube.png

# Short order
sorder=0

Configuration Fields

Field Description Usage / Notes
name The display name of the plugin as shown in the panel. Example: RoundCube webmail
service The type of panel service this plugin belongs to. Common values: user_panel, admin_panel. Determines access and available actions.
url Physical path of the plugin relative to the panel root. Example: /3rdparty/roundcube/index.php. This must point to the plugin’s main PHP entry file.
auto_login_url URL used for automatic login to the plugin. Example: /3rdparty/roundcube/?_task=login. This URL will be accessed using credentials passed via HTTP headers.
header[] HTTP headers sent to the plugin for auto-login. Can include any of these placeholders:
%email% – user email
%email_password% – email password
%username% – panel username
%userid% – panel user ID
%dbinfo% – database connection info
%usertoken% – secure user token

Example: header[HTTP_AUTOLOGINUSER]=%email%
header[HTTP_AUTOLOGINPASS]=%email_password%
user / group System user and group under which the plugin PHP process runs. Can use $authuser (panel system user), nobody, or any valid system user/group.
Ensures correct file permissions and process ownership.
features Required system features or capabilities for the plugin. Supported features (lowercase):
domains, files, security, database, email, mail, advance, software.
Multiple features can be comma-separated: features=mail,email
icon Path to the plugin icon to display in the panel interface. Example: /media/icon/roundcube.png
sorder Short order / display order of the plugin in the list. Lower numbers appear first. Example: sorder=0

Usage

After adding the plugin configuration in the root zip file and uploading it to OLSPanel, the plugin will appear in the 3rd-party section of the panel. Auto-login will use the provided headers if configured.

Notes

  • Ensure the url path matches the actual location of the plugin files.
  • Header placeholders like %email%, %username%, etc. will be replaced automatically by OLSPanel during login.
  • Set user and group to the panel user or nobody if necessary for permissions.

Plugin Configuration File

Each plugin requires a corresponding configuration file with the extension .conf. The system automatically detects the plugin’s nickname from the plugin name specified inside the configuration file. By convention, the configuration file should be named as plugin_<nickname>.conf, for example, plugin_roundcube.conf. This file must be placed inside the panel’s root directory, alongside the plugin’s main entry file (e.g., index.php).

The plugin icon file must also reside in the root of the plugin ZIP archive and must be named following the convention plugin_icon.png, for example, plugin_icon.png. This ensures the panel can automatically display the icon in the plugin listing.

Example directory structure for the RoundCube plugin:

zip/
├── index.php
├── plugin_roundcube.conf
├── plugin_icon.png
    
The system will automatically read the configuration file to determine the plugin’s display name, service, headers, and other settings required for proper integration and auto-login.