Create cpanel database through php script

后端 未结 4 2112
囚心锁ツ
囚心锁ツ 2021-02-06 14:33

Im trying to automate the installation of some custom software using cpanel/whm and postwwwacct php script.This requires files to be copied to the users public_html folder then

4条回答
  •  感动是毒
    2021-02-06 15:14

    Without xmlapi

    function createDb($cPanelUser,$cPanelPass,$dbName) {
    
        $buildRequest = "/frontend/x3/sql/addb.html?db=".$dbName;
    
        $openSocket = fsockopen('localhost',2082);
        if(!$openSocket) {
            return "Socket error";
            exit();
        }
    
        $authString = $cPanelUser . ":" . $cPanelPass;
        $authPass = base64_encode($authString);
        $buildHeaders  = "GET " . $buildRequest ."\r\n";
        $buildHeaders .= "HTTP/1.0\r\n";
        $buildHeaders .= "Host:localhost\r\n";
        $buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
        $buildHeaders .= "\r\n";
    
        fputs($openSocket, $buildHeaders);
        while(!feof($openSocket)) {
            fgets($openSocket,128);
        }
        fclose($openSocket);
    }
    
    
    function createUser($cPanelUser,$cPanelPass,$userName,$userPass) {
    
        $buildRequest = "/frontend/x3/sql/adduser.html?user=".$userName."&pass=".$userPass;
    
        $openSocket = fsockopen('localhost',2082);
        if(!$openSocket) {
            return "Socket error";
            exit();
        }
    
        $authString = $cPanelUser . ":" . $cPanelPass;
        $authPass = base64_encode($authString);
        $buildHeaders  = "GET " . $buildRequest ."\r\n";
        $buildHeaders .= "HTTP/1.0\r\n";
        $buildHeaders .= "Host:localhost\r\n";
        $buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
        $buildHeaders .= "\r\n";
    
        fputs($openSocket, $buildHeaders);
        while(!feof($openSocket)) {
            fgets($openSocket,128);
        }
        fclose($openSocket);
    }
    
    function addUserToDb($cPanelUser,$cPanelPass,$userName,$dbName,$privileges) {
    
        $buildRequest = "/frontend/x3/sql/addusertodb.html?user=".$userName."&db=".$dbName.$privileges;
    
        $openSocket = fsockopen('localhost',2082);
        if(!$openSocket) {
            return "Socket error";
            exit();
        }
    
        $authString = $cPanelUser . ":" . $cPanelPass;
        $authPass = base64_encode($authString);
        $buildHeaders  = "GET " . $buildRequest ."\r\n";
        $buildHeaders .= "HTTP/1.0\r\n";
        $buildHeaders .= "Host:localhost\r\n";
        $buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
        $buildHeaders .= "\r\n";
    
        fputs($openSocket, $buildHeaders);
        while(!feof($openSocket)) {
            fgets($openSocket,128);
        }
        fclose($openSocket);
    }
    
    //Create Db
    createDb('CpanelUser','cPanelPass','dbName');
    
    //Create User
    createUser('cPanelUser','cPanelPass','dbUsername','dbUserPass');
    
    //Add user to DB - ALL Privileges
    addUserToDb('cPanelUsername','cPanelPass','dbUsername','dbName','&ALL=ALL');
    
    //Add user to DB - SELECTED PRIVILEGES
    addUserToDb('cPanelUsername','cPanelPass','dbUsername','dbName','&CREATE=CREATE&ALTER=ALTER');
    

提交回复
热议问题