Test HTTP Requests Tools Blog PHP Quiz API Log In With Github
Test HTTP Requests Tools Blog PHP Quiz API Log In With Github
« Return to the tutorials list
We have updated the website and our policies to make sure your privacy rights and security are respected.
Click here to learn more about the way our website handles your data.

Remove this message.

You can read this article in: English :: Español

Usar PHP para crear nuevos subdominios, bases de datos y cuentas de correo en servidores con cPanel

Daniel Gheorghe Difficulty: 30 / 50 Tweet
control panel button

La mayoría de los proveedores de hosting utilizan cPanel. Este tutorial es un ayudante para aquellos de ustedes que necesitan gestionar varias cosas de cPanel con PHP - Más concretamente, les mostraré cómo crear nuevos subdominios, bases de datos y cuentas de correo electrónico. Para poder "hablar" de ida y vuelta con la API de cPanel usted necesitará el "XMLAPI Client Class" que puede ser descargado de GitHub.

Creación de un nuevo subdominio

    
    <?php
      $cpanelusr = 'username';
      $cpanelpass = 'password';
      $xmlapi = new xmlapi('127.0.0.1');
      $xmlapi->set_port( 2083 );
      $xmlapi->password_auth($cpanelusr,$cpanelpass);
      $xmlapi->set_debug(0);
      $result = $xmlapi->api1_query($cpanelusr, 'SubDomain', 'addsubdomain', array('subdomainname','domain.com',0,0, '/public_html/subdomainname'));
    ?>
    
  

Creación de una nueva base de datos y un usuario para ella

    
    <?php
    $cpanelusr = 'username';
    $cpanelpass = 'password';
    $xmlapi2 = new xmlapi('127.0.0.1');
    $xmlapi2->set_port( 2083 );
    $xmlapi2->password_auth($cpanelusr,$cpanelpass);
    $xmlapi2->set_debug(0);

    // $databasename y $databaseuser contendrán el prefijo de cPanel Ej: prefix_dbname y prefix_dbuser
    $databasename = 'db_name';
    $databaseuser = 'db_usr'; //¡Tener cuidado! Esto puede tener un máximo de 7 caracteres
    $databasepass = 'passwordforthenewuser';

    $createdb = $xmlapi2->api1_query($cpanelusr, "Mysql", "adddb", array($databasename)); //crea la base de datos
    $usr = $xmlapi2->api1_query($cpanelusr, "Mysql", "adduser", array($databaseuser, $databasepass)); //crea el usuario
    $addusr = $xmlapi2->api1_query($cpanelusr, "Mysql", "adduserdb", array("".$cpanelusr."_".$databasename."", "".$cpanelusr."_".$databaseuser."", 'all')); //concede todos los privilegios al usuario que acabamos de crear
    ?>
    
  

Adición de una nueva cuenta de correo electrónico

    
    <?php
    //por favor, utilice el mismo proceso como antes para autenticarse

    $email_user = "emailusr";
    $email_password = "emailusrpass";
    $email_domain = "domain.com";
    $email_quota = '10';

    $addemail $xmlapi->api1_query($cpanelusr, "Email", "addpop", array($email_user, $email_password, $email_quota, $email_domain) );
    ?>
    
  

Por supuesto que usted puede hacer mucho más si se estudia la API cPanel, pero el código de arriba ha sido probado antes por mí mismo y pensé que debía compartirlo con ustedes. No dude en añadir más API llamadas en la sección de comentarios.