Scripts with PHP for CPanel

Posted on
To automate an action in PHP for cpanel it's very simple. You just need to know some information about your CPanel.

$cpanel_user - the username that you use to log into your cpanel.
$cpanel_password - the password for cpanel.
$cpanel_host - your cpanel host. You can find this after you login to cpanel, right before 'http://' until ':'.
$cpanel_skin - cpanel skin. You can find this after '/frontend/', default is 'x'.


Simple HTML Form

You can use this html forms to make the scripts for cpanel, you can add your own fields that you need.
<form action="cpaneladd.php" method="POST"> <table> <tr><td colspan="2" align="center"> <b>Cpanel info</b></td></tr><tr><td align="right">Cpanel host: </td><td align="left"> <input type="text" name="cpanelhost"></td></tr> <tr><td align="right">CPanel Username:</td><td align="left"> <input type="text" name="cpaneluser"></td></tr> <tr><td align="right">CPanel Password:</td><td align="left"> <input type="text" name="cpanelpass"></td></tr> <tr><td align="right">CPanel Skin:</td><td align="left"> <input type="text" name="cpanel_skin"></td></tr> </table> </form>


1. Adding a Database in CPanel

$newdb = "db_name"; $curl = curl_init(); //include CURL in PHP.ini curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($curl, CURLOPT_URL, "http://$cpanel_user: $cpanel_password@$cpanel_host:2082/frontend/$cpanel_skin /sql/adddb.html?db=$new_db"); $result=curl_exec ($curl); curl_close ($curl);


2. Adding a User to database in CPanel

$db_user = "db_user"; $db = "database"; $curl = curl_init(); //include CURL in PHP.ini curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($curl, CURLOPT_URL, "http://$cpanel_user: $cpanel_password@$cpanel_host:2082/frontend/$cpanel_skin/ sql/addusertodb.html?user={$cpanel_user}_{$db_user} &db={$cpanel_user}_{$db}&ALL=ALL"); $result=curl_exec ($curl); curl_close ($curl);


3. Delete a database in CPanel

$db="db"; $curl = curl_init(); //include CURL in PHP.ini curl_setopt ($curl, CURLOPT_URL, "http://$cpanel_user: $cpanel_password@$cpanel_host:2082/frontend/$cpanel_skin /sql/deldb.html?db=".$cpanel_user."_".$db); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result=curl_exec ($curl); curl_close ($curl);


4. Delete a user in CPanel

$userdb="user_db"; $curl = curl_init(); //include CURL in PHP.ini curl_setopt ($curl, CURLOPT_URL, "http://$cpanel_user: $cpanel_password@$cpanel_host:2082/frontend/$cpanel_skin/ sql/deluser.html?user=".$cpanel_user."_".$user_db); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result=curl_exec ($curl); curl_close ($curl);


Good Tip for Create CPanel Database through PHP Script

Need to make sure that you are using a cpanel user/pass not root and also that you are using port 2083
require("xmlapi.php"); // downlaoded from https://github.com/CpanelInc/xmlapi-php/blob/master/xmlapi.php $xmlapi = new xmlapi("Your CPanel Domain"); $xmlapi->set_port(2083); $xmlapi->password_auth($opts['user'],$opts['pass']); $xmlapi->set_debug(0);//output actions in the error log 1 for true and 0 false $cpaneluser=$opts['user']; $db_name="something"; $db_user="else"; $db_pass=$opts['pass']; //create database $createdb = $xmlapi->api1_query($cpaneluser, "Mysql", "adddb", array($db_name)); //create user $usr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduser", array($db_user, $db_pass)); //add user $addusr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduserdb", array("".$cpaneluser."_".$db_name."", "".$cpaneluser."_".$db_user."", 'all'));

I hope these tips have been helpful.
Free Hit Counters