Crear CGIs para cPanel

javier   2 diciembre, 2010   Comentarios desactivados en Crear CGIs para cPanel

Una de las maneras de hacer que cPanel sea más flexible consiste en la creación de apliaciones CGI usando la API de Cpanel.

Estos CGIs (o secuencias de comandos) que proporciona cPanel deben estar localizados en el directorio /usr/local/cpanel/base/3rdparty/ y deben poseer los permisos mínimos de ejecución por el usuario.
Una vez que el script haya sido colocado en ese directorio, se podrá acceder a la ejecución del mismo a través de la siguiente ruta: $IP: 2083/3rdparty/nombredelcgi.cgi

Es preciso recordar, que cuando estos CGI se ejecutan, lo hacen con los permisos del usuario que estemos usando en ese momento.

Si deseo hacer una llamada a la API de cPanel desde el CGI que estoy programando existen las siguientes formas para hacerlo:
1.- Si lo que deseo es controlar la ejecución del script a través de Javascript, puedo utilizar la aAPI de JSON.
2.- La otra opción es utilizar el modulo Cpanel::XML, el cual nos permite hacer llamadas a la API XML de cPanel sin utilizar una interface http.

A través de la función cpanel_fast_exe podremos realizar llamadas rápidas a la API XML.
Consiste básicamente en un interfaz de Perl en API1 y API2 al aque se puede acceder desde fuera de cPanel.

Por ejemplo, si deseamos obtener una lista de cuentas de correo electrónico, crearíamos el siguiente código.

my $xml = Cpanel::XML::cpanel_exec_fast(
        {
                'cpanel_xmlapi_module' => 'Email',
                'cpanel_xmlapi_func' => 'listpopswithdisk',
        }
);
$xml = XMLin($xml);

En este caso, $xml es una referencia a un hash que contiene toda la informaci´no que devuelve la llamada.