php.inithe PHP binary should use.
onin version 11.38.1.
.conffile extension. For example, an application that is named
examplewill have a configuration file of
In order for your cPanel or Webmail application to be compatible with AppConfig, it must exist in the
In order for your WHM application to be compatible with AppConfig, it should exist in the
Applications in the
Note:This key must contain one of three values:
Note: This key may only contain one value. If your application is used in more than one service, you must create configuration files for each service.
|user||Optional||all||11.32|| This value should contain the system user that will run the application. This user must exist on the system but should not be a cPanel user. As a best practice, we strongly recommend that you prefix your username with
Note: The application will not run as the specified user until cPanel has been restarted. To restart cPanel, run the
Note: In 11.38.1 and later, you may use the special user '$authuser' which will cause the application to run with the associated system account of the logged in user.
Note: For backwards compatibility with AppConfig 1.0, if you register your application with the
|phpHandler||Optional||all||11.32|| This key's value is the path to the
Note: This value must contain the directory inside of
|url2, url3, url4...||Optional||all||11.38.1||These are additional URLs through which your application can be accessed.|
|acls||Optional or Required||whostmgr||11.38.1|| This is a comma-separated list of ACLs. The logged-in user must have at least one of these ACLs in order to access your application at the URL(s) provided.
Note: A special
|features||Optional or Required||cpanel, webmail||11.38.1|| This is a comma-separated list of features. The logged-in user must have at least one of these features in order to access your application at the URL(s) provided.
Note: A special
|entryurl||Optional||whostmgr||11.38.1|| This is the URL that will be used to enter your application though WHM. If you provide this option WHM will automatically create a link to your application (For example,
Note:You should not use this key if you use the legacy
|displayname||Optional||whostmgr||11.38.1|| This is the name that will be displayed for your application in WHM.
Note: This replaces the use of the
|upgradecall||Optional||all||11.38.1|| This is the path to an upgrade script that will run each time cPanel is upgraded to a newer version. The script will be passed two arguments: the previous version of cPanel and the newly-installed version of cPanel (For example,
Note: You can use this script to convert an application that is installed on a system which uses version 11.38.1 or earlier.
|icon||Optional||whostmgr||11.38.1|| This is the filename of the icon that is used by the application (For example:
Note:The icon must be located in the
register_appconfigto create the
php.inifile located at
# Service that will serve this app service=cpanel # Physical path: /usr/local/cpanel/3rdparty/Foo.php # Literal URL path: $server:$port/$cpsession/3rdparty/Foo.php url=/3rdparty/Foo.php # System user to run process as user=cpaneluser # Directory containing php.ini # - must exist in /usr/local/cpanel/3rdparty/etc/ phpHandler=Foo # Features required features=any
/cgi/addon_securityadvisor.cgi, you should relocate it to
/cgi/addons/securityadvisor/index.cgiwhen you upgrade to 11.38.1+. Run this with the
upgradecallscript to move your application to the new location when it detects that
/usr/local/cpanel/bin/register_appconfig <appconfig_file>— This script registers an application with the path to the application's configuration file. After registration is complete, the configuration file will be moved to
/var/cpanel/apps/. If registration is successful, you will see a
/usr/local/cpanel/bin/unregister_appconfig <appconfig_file|appname>— This script unregisters an application from AppConfig and removes the configuration file for that application from
/var/cpanel/apps/. Only third-party applications can be unregistered. If unregistration is successful, you will see a
/usr/local/cpanel/bin/is_registered_with_appconfig <service> <appname>— This script indicates whether an application is registered with AppConfig for a specific service. The script will output
0if the application is not registered and
1if the application is registered.
/usr/local/cpanel/bin/update_appconfig_apps— This script attempts to call the
upgradecallscript of every application that is registered with AppConfig.
/usr/local/cpanel/bin/show_appconfig— This script displays a YAML-formatted list of applications that are registered with AppConfig and their settings.
--- cpanel: - features: - webmail name: horde phpConfig: horde url: /horde/ user: cpanelhorde - features: - logaholic name: logaholic url: /3rdparty/Logaholic user: cpanellogaholic webmail: - features: - webmail name: roundcube phpConfig: roundcube url: /3rdparty/roundcube/ user: cpanelroundcube whostmgr: - acls: - all name: internal_dnsclustering_root url: - /cgi/adjustclusterdns.cgi - /cgi/adjustclusteroptions.cgi user: root
featureskey to the AppConfig file. If your application runs inside WHM, you only need to add the
aclskey to the AppConfig file.