{"id":2073,"date":"2019-01-01T12:03:35","date_gmt":"2019-01-01T12:03:35","guid":{"rendered":"http:\/\/www.softaculous.com\/blog\/?post_type=docs&#038;p=2073"},"modified":"2025-09-09T06:09:52","modified_gmt":"2025-09-09T06:09:52","slug":"whmcs-auto-install-module","status":"publish","type":"docs","link":"https:\/\/www.softaculous.com\/blog\/docs\/developers\/whmcs\/whmcs-auto-install-module\/","title":{"rendered":"WHMCS Auto Install Module"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Overview<\/h3>\n\n\n\n<p>This guide will help you to setup WHMCS to auto-install scripts during user account creation. Setting this up is very easy. This guide assumes that you have already installed Softaculous on your server.<\/p>\n\n\n\n<p class=\"alert alert-info\"><strong>Note<\/strong>: This works only with Webuzo, cPanel, cPanel Extended, DirectAdmin, Plesk, Interworx, VestaCP, ISPmanager and CWP at the moment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">List of Scripts<\/h3>\n\n\n\n<p><strong>All the scripts in Softaculous can be Auto Installed. Following is the popular list of scripts&nbsp;:<\/strong><\/p>\n\n\n\n<p><em>WordPress, Joomla, Drupal, phpBB, SMF, Gallery, Magento, osTicket, CodeIgniter, Moodle, Elgg.<\/em><\/p>\n\n\n\n<p>(See the first pic to see where you have to add the names of scripts, the box outlined in red is where you add the list of scripts.)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Download and Upload<\/h3>\n\n\n\n<p>Download the Auto Installation Hook here\u00a0<a href=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2025\/09\/Autoinstall.zip\" target=\"_blank\" rel=\"noreferrer noopener\">File:Autoinstall.zip<\/a><br>Unzip it and upload the file called\u00a0<strong>softaculous.php<\/strong>, in your \/path\/to\/whmcs\/includes\/hooks\/ Directory. If you want to debug for any errors or test the Auto Install is working properly please also upload the\u00a0<strong>softaculous_debug.php<\/strong>\u00a0file in your \/path\/to\/whmcs\/includes\/hooks\/ Directory. You can remove the\u00a0<strong>softaculous_debug.php<\/strong>\u00a0file later after it works successfully.<\/p>\n\n\n\n<p>If you want to add Auto Installation for Custom Scripts then please modify&nbsp;<strong>softaculous_extra.php<\/strong>&nbsp;and upload it as well. Otherwise you dont need to upload softaculous_extra.php<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Editing a Product\/Service<\/h3>\n\n\n\n<p>Now login to your WHMCS Admin Panel. This guide assumes you have already setup WHMCS to create user accounts automatically. If you have not already setup your server you can find detailed guides on the&nbsp;<a href=\"https:\/\/docs.whmcs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WHMCS Docs<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Setup Custom Fields<\/h4>\n\n\n\n<p>Go to Setup -&gt; Products\/Services and click on the Edit Product Icon of the Product you wish to setup Auto Installation for.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"461\" height=\"61\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Product.jpg\" alt=\"\" class=\"wp-image-2074\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Product.jpg 461w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Product-300x40.jpg 300w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/figure>\n\n\n\n<p>In the Edit Product section, click the &#8216;Custom Fields&#8217; tab. In the Custom Fields tab &gt; Add New Custom Field.<br>We will have to add 4 Custom Fields.<\/p>\n\n\n\n<p>You can only add 1 Custom Field at a time, so after adding the first field hit the &#8216;Save Changes&#8217; button, for the 2nd field to show up.<\/p>\n\n\n\n<p>This is how we add custom fields.<br>See the images below for the 4 custom fields.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"788\" height=\"451\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_1.jpg\" alt=\"\" class=\"wp-image-2075\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_1.jpg 788w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_1-300x172.jpg 300w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_1-768x440.jpg 768w\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"383\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_2.jpg\" alt=\"\" class=\"wp-image-2076\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_2.jpg 792w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_2-300x145.jpg 300w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Softaculous_custom_fields_2-768x371.jpg 768w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<p class=\"alert alert-info\"><strong>Note<\/strong>&nbsp;: You can give &#8220;None&#8221; as the first option in the List of Scripts. If users dont want to install a script when their account is created, they can choose &#8220;None&#8221; to refrain from installing any script.<br><strong>Very Important Note<\/strong>&nbsp;: Fill in the fields name as per the image only.&nbsp;<strong>IF<\/strong>&nbsp;you wish to modify the Field Names (e.g. &#8220;Admin Username&#8221; instead of &#8220;Admin Name&#8221;) then you must upload the softaculous_extra.php file as well (it has sample code to modify the field names).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Additional Custom Fields<\/h4>\n\n\n\n<p>You can also setup additional Fields for optional parameters like &#8220;Site Name&#8221;, &#8220;Site Description&#8221;, etc. Continue adding the Fields that you wish similarly as you did above.&nbsp;<br>You need to make one more change in the softaculous_extra.php<\/p>\n\n\n\n<p>You need to create an Array&nbsp;<strong>$GLOBALS[&#8216;softaculous_conf&#8217;][&#8216;custom_fields&#8217;]<\/strong>&nbsp;add the number of fields you want to add in this array the key of the array will be the name of the field in the&nbsp;<strong>install.xml<\/strong>&nbsp;file of the script.<br>For Eg: If you want to add the&nbsp;<strong>Site Name<\/strong>&nbsp;field for WordPress&nbsp;<br>1. Go to&nbsp;<strong>\/var\/softaculous\/wp\/install.xml<\/strong><br>2. Search for the site name field, you will get the following code:<br><code>&lt;input type=\"text\" name=\"site_name\" size=\"30\" value=\"My Blog\"&gt;<br>&lt;\/input&gt;<\/code><br>3. The key for&nbsp;<strong>$GLOBALS[&#8216;softaculous_conf&#8217;][&#8216;custom_fields&#8217;]<\/strong>&nbsp;will be the name of the input tag i.e.&nbsp;<strong>site_name<\/strong><br>4. The value for&nbsp;<strong>$GLOBALS[&#8216;softaculous_conf&#8217;][&#8216;custom_fields&#8217;]<\/strong>&nbsp;will be the Custom Field name that you provided in the WHMCS product setup in this case&nbsp;<strong>Site Name<\/strong>.<br>5. The additional field is now setup.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"180\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Additional_fields.jpg\" alt=\"\" class=\"wp-image-2077\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Additional_fields.jpg 746w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Additional_fields-300x72.jpg 300w\" sizes=\"auto, (max-width: 746px) 100vw, 746px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Setup Module Run Time<\/h4>\n\n\n\n<p>The Softaculous Hook will run and try to Auto Install the script only when the account is being created. This option can be found while editing the Product\/Service in&nbsp;<strong>Module Settings<\/strong>&nbsp;Tab. You can choose any of the option in the image shown below. Just remember that Softaculous will create the account only as per the method you select.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"136\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/When_to_Create.jpg\" alt=\"\" class=\"wp-image-2078\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/When_to_Create.jpg 600w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/When_to_Create-300x68.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p>Once you are done with the 4 fields, hit the&nbsp;<strong>Save Changes<\/strong>&nbsp;button and you are done.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Testing the Setup<\/h3>\n\n\n\n<p>You can test the setup by making a DUMMY Order and going to the settings of that order.<br>For debugging purposes upload&nbsp;<strong>softaculous_debug.php<\/strong>&nbsp;in the \/path\/to\/whmcs\/includes\/hooks\/ Directory. If you dont upload the&nbsp;<strong>softaculous_debug.php<\/strong>&nbsp;no error messages will be shown.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"75\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Order.jpg\" alt=\"\" class=\"wp-image-2079\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Order.jpg 600w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Order-300x38.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Creating Account<\/h4>\n\n\n\n<p>Make sure the&nbsp;<strong>Admin Name<\/strong>&nbsp;and&nbsp;<strong>Admin Pass<\/strong>&nbsp;are setup and the desired script is selected e.g. WordPress<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"196\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Screen.jpg\" alt=\"\" class=\"wp-image-2080\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Screen.jpg 500w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Edit_Screen-300x118.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p>Then click on the&nbsp;<strong>Create<\/strong>&nbsp;button to create the account on the server.<br>You will see a Box shown in the following image<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"343\" height=\"199\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Create_Account.jpg\" alt=\"\" class=\"wp-image-2081\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Create_Account.jpg 343w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Create_Account-300x174.jpg 300w\" sizes=\"auto, (max-width: 343px) 100vw, 343px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Success Message<\/h4>\n\n\n\n<p>When the page reloads (assuming debugging is enabled) the following message will be shown in case of success&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"101\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Debug_Successful.jpg\" alt=\"\" class=\"wp-image-2082\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Debug_Successful.jpg 600w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Debug_Successful-300x51.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Error Message<\/h4>\n\n\n\n<p>Incase of Failure errors will be shown (assuming debugging is enabled).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"48\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Debug_Failure.jpg\" alt=\"\" class=\"wp-image-2083\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Debug_Failure.jpg 600w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Debug_Failure-300x24.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p>There could be several reasons for the Hook Not to work&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A firewall is blocking requests<\/li>\n\n\n\n<li>You put the incorrect Field Names<\/li>\n\n\n\n<li>cURL is disabled in PHP<\/li>\n\n\n\n<li>etc.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Remove Debug File<\/h4>\n\n\n\n<p>Please remove the&nbsp;<strong>softaculous_debug.php<\/strong>&nbsp;file after you have successfully setup the Module.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Custom Scripts<\/h3>\n\n\n\n<p>If you have made a Custom Script in Softaculous and want to enable Auto Installation of that script via WHMCS then please upload the file&nbsp;<strong>softaculous_extra.php<\/strong>&nbsp;as well in the hooks folder.<\/p>\n\n\n\n<p>Before uploading the softaculous_extra.php file, please modify it and add the scripts to the&nbsp;<strong>$add_softaculous_scripts<\/strong>&nbsp;array for the script you want to automate installation.<\/p>\n\n\n\n<p>Please note that the ID of the custom script must be the same as that of the Custom Script in Softaculous Admin Panel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Install WordPress Plugins\/Themes Set<\/h3>\n\n\n\n<p>If you need to install a particular set of plugins\/themes along with WordPress you can add the Plugins\/Themes Set from Softaculous admin panel referring to the following <a href=\"http:\/\/www.softaculous.com\/docs\/admin\/wordpress-admin-manage-sets\/\" target=\"_blank\" rel=\"noreferrer noopener\">guide <\/a>and then configure the below line in&nbsp;<strong>softaculous_extra.php<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['defaults']['sets_name'][] = 'ecommerce_admin';<\/pre>\n\n\n\n<p>In the above example the set name is &#8220;ecommerce&#8221; and &#8220;_admin&#8221; is the suffix required to tell Softaculous that this set is created by admin and exists in the admin panel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Random Username\/Password<\/h3>\n\n\n\n<p>If you need a Random string for username or the password, you can just delete the field &#8220;Admin User&#8221; or &#8220;Admin Pass&#8221; from WHMCS admin panel -&gt; Setup -&gt; Products\/Services -&gt; Custom Fields. And if the values for username or password are not passed while creating the Module Softaculous will generate random string of 12 characters with atleast one Uppercase character, one Special character and one Integer.<\/p>\n\n\n\n<p>The details for the same will be sent via email to the user.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Custom Length for Random Password<\/h3>\n\n\n\n<p>If you need the set a custom length for Random string for admin password to make the password stronger, you can specify the length in&nbsp;<strong>softaculous_extra.php<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['rand_pass_length'] = 15;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Overwrite Files<\/h3>\n\n\n\n<p>If you get an error that the files already exists and you wish to overwrite the files just change the value of the following variable in&nbsp;<strong>softaculous_extra.php<\/strong>&nbsp;to&nbsp;<strong>1<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['overwrite_existing'] = 1;\n<\/pre>\n\n\n\n<p>This will now overwrite the existing files and complete the script installation without any errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">USER MOD DIR<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you wish to install the script using User Mod dir i.e. install a script on&nbsp;<strong><a href=\"http:\/\/ip\/~USER\/\">http:\/\/IP\/~USER\/<\/a><\/strong>&nbsp;instead of domain.<\/li>\n\n\n\n<li>Just change the value of the following variable to&nbsp;<strong>1<\/strong>&nbsp;in the softaculous_extra.php<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['user_mod_dir'] = 0;\n<\/pre>\n\n\n\n<p><strong>TO<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['user_mod_dir'] = 1;\n<\/pre>\n\n\n\n<p class=\"alert alert-info\"><strong>Note<\/strong>&nbsp;: In order to use this feature, the&nbsp;<strong>Use User Mod Dir<\/strong>&nbsp;option should be enabled from the Softaculous Admin panel on the server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Specify script to Install<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you do not want the user to choose the script to install, instead you want to specify the script to be installed.<\/li>\n\n\n\n<li>Just add the following code to the&nbsp;<strong>softaculous_extra.php<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['custom_fields']['Script'] = 'WordPress';\n<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You can provide the script of any script. You can find the script name in the&nbsp;<strong>\/path\/to\/softaculous\/enduser\/scripts.php<\/strong>.<\/li>\n\n\n\n<li>Thats it! Now when the user account is created&nbsp;<strong>WordPress<\/strong>&nbsp;will be installed. You can also delete the Custom field&nbsp;<strong>Script<\/strong>&nbsp;(which we created above).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Specify specific script to Install for specific WHMCS products<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you have multiple products and want to install different scripts for different WHMCS products without having the user to choose the script, you can specify the same using the variables explained below.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['install']['pid'][1] = 'WordPress'; \/\/ 1 is the PID and WordPress is the script we want to install\n$GLOBALS['softaculous_conf']['install']['pid'][2] = 'Joomla'; \/\/ 2 is the PID and Joomla is the script we want to install\n<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the above example we installed WordPress for any orders created for the WHMCS product (with PID 1) and Joomla for any orders created for the WHMCS product (with PID 2).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Specify default values for Custom Fields<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you want to specify the default values for custom fields like Admin username or Directory, etc, just add the following code to the&nbsp;<strong>softaculous_extra.php<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['defaults']['admin_username'] = 'admin';\n$GLOBALS['softaculous_conf']['defaults']['softdirectory'] = 'test';\n<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Similarly you can set the default values for any other custom field.<\/li>\n\n\n\n<li>Thats it! Now when the user account is created the Admin Username will be&nbsp;<strong>admin<\/strong>&nbsp;and the script will be installed in&nbsp;<strong>test<\/strong>&nbsp;directory. You can also delete the Custom fields&nbsp;<strong>Admin Name<\/strong>&nbsp;and&nbsp;<strong>Directory<\/strong>&nbsp;(which we created above).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Specify default values for Custom Fields by Product IDs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you want to specify the default values by Product IDs for custom fields like Admin username or Directory, etc, just add the following code to the&nbsp;<strong>softaculous_extra.php<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['defaults_by_pid'][1]['admin_username'] = 'admin';\n$GLOBALS['softaculous_conf']['defaults_by_pid'][1]['softdirectory'] = 'test';<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Similarly you can set the default values for any other custom field.<\/li>\n\n\n\n<li>Thats it! Now when the user account is created the Admin Username will be&nbsp;<strong>admin<\/strong>&nbsp;and the script will be installed in&nbsp;<strong>test<\/strong>&nbsp;directory for the Product ID 1. You can also delete the Custom fields&nbsp;<strong>Admin Name<\/strong>&nbsp;and&nbsp;<strong>Directory<\/strong>&nbsp;(which we created above).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Specify WHMCS Product IDs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You can specify the product ids for which you want the module to be executed, just add the following code to the&nbsp;<strong>softaculous_extra.php<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['pid'] = array(1, 2);\n<\/pre>\n\n\n\n<ul class=\"wp-block-list alert alert-info\">\n<li><strong>Note&nbsp;:<\/strong>&nbsp;the above value should be an array and if you want the hook to be executed for just one product you can pass it as follows&nbsp;:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['pid'] = array(1);\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Email Installation Password in Plain Text<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you choose to generate the admin password randomly you might want to email that password to the user in plain text. In order to do that please set the following variable in <strong>softaculous_extra.php<\/strong><\/li>\n\n\n\n<li><strong>Note <\/strong>: This setting will apply only for the installation done via WHMCS. Any installation done by user from Softaculous enduser panel later will use the default password masking setting as set in Softaculous admin or enduser panel.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['defaults']['email_password'] = 1; \/\/ Set this to 1 if you wish to send the installation password in plain text\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Enable Softaculous sidebar link in clientarea<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You can enable Softaculous link at the left sidebar of the WHMCS client area, just add the following code to the&nbsp;<strong>softaculous_extra.php<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted php hljs\">$GLOBALS['softaculous_conf']['softaculous_sidebar_link'] = 1; \/\/ \/\/Set this to 1 if you wish to enable Softaculous link in client area sidebar.\n<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Thats it! Now you will be able to see the Softaculous link<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"478\" src=\"http:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Screenshot-whmcs7.nuftp_.com-2018-12-19-14-32-42.png\" alt=\"\" class=\"wp-image-2084\" srcset=\"https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Screenshot-whmcs7.nuftp_.com-2018-12-19-14-32-42.png 1000w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Screenshot-whmcs7.nuftp_.com-2018-12-19-14-32-42-300x143.png 300w, https:\/\/www.softaculous.com\/blog\/wp-content\/uploads\/2019\/01\/Screenshot-whmcs7.nuftp_.com-2018-12-19-14-32-42-768x367.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Debug<\/h3>\n\n\n\n<p>If the module is not working and you would like debug, please upload the&nbsp;<strong>softaculous_debug.php<\/strong>&nbsp;to the&nbsp;<strong>\/path\/to\/whmcs\/includes\/hooks\/<\/strong>&nbsp;directory and then test the module.<\/p>\n\n\n\n<p>This will Log the error message in WHMCS admin panel -&gt; Settings -&gt; System Logs<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Support<\/h3>\n\n\n\n<p>If you need any assistance then please contact Softaculous Support. Please send us a screenshot of the Order Form and the Custom Fields you added to the Product.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Vote<\/h3>\n\n\n\n<p>If you find this addon useful please vote for us&nbsp;:&nbsp;<br><a href=\"https:\/\/www.whmcs.com\/members\/communityaddons.php?action=viewmod&amp;id=1038\">https:\/\/www.whmcs.com\/members\/communityaddons.php?action=viewmod&amp;id=1038<\/a><br><\/p>\n","protected":false},"featured_media":0,"parent":1690,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","docs_category":[],"class_list":["post-2073","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/docs\/2073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/comments?post=2073"}],"version-history":[{"count":28,"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/docs\/2073\/revisions"}],"predecessor-version":[{"id":6228,"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/docs\/2073\/revisions\/6228"}],"up":[{"embeddable":true,"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/docs\/1690"}],"wp:attachment":[{"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/media?parent=2073"}],"wp:term":[{"taxonomy":"docs_category","embeddable":true,"href":"https:\/\/www.softaculous.com\/blog\/wp-json\/wp\/v2\/docs_category?post=2073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}