Prólogo 4. Convenciones Tipográficas... 4 Sugerencias Acerca de Este Documento 6. Notas acerca del Flujo de Aprovisionamiento 8

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Prólogo 4. Convenciones Tipográficas... 4 Sugerencias... 5. Acerca de Este Documento 6. Notas acerca del Flujo de Aprovisionamiento 8"

Transcripción

1 Parallels Panel

2 Contenidos Prólogo 4 Convenciones Tipográficas... 4 Sugerencias... 5 Acerca de Este Documento 6 Notas acerca del Flujo de Aprovisionamiento 8 Desplegando el Panel 9 Despliegue Autónomo Obteniendo el ID de la Versión Obteniendo la Lista de Componentes del Producto Instalando el Panel Referencia de CLI del Instalador (Reducida) Script de Instalación (Linux/Unix) Desplegándolo en un Entorno de Parallels Containers Parallels Containers para Unix Parallels Containers para Windows Definiendo Mirrors con la Utilidad Rsync Creando Mirrors en Distribuciones Linux/Unix Creando Mirrors de Distribuciones Windows Descripción de Operaciones de Configuración 32 Iniciando el Panel Instalando Llaves de Licencia Personalizando el Panel Personalizando los Enlaces a los Servicios Configurando el DNS Cambiando la Plantilla del Registro SOA Configurando Plantillas de Registro de Recursos Instalando Certificados SSL Creando Dominios y Subdominios Instalando Aplicaciones Importando Paquetes de Aplicación Instalando una Aplicación Definiendo los Catálogos APS Disponibles Archivo de Configuración de Catálogos APS Configurando a través de la API Remota 48 Usando la API Remota Acerca de la API Remota Paquetes RPC para la API Creando software cliente Configurando el Panel... 87

3 Prólogo 3 Iniciando el Panel Instalando Llaves de Licencia Configurando el DNS Instalando Certificados SSL Creando Dominios Creando Subdominios Definiendo los Catálogos APS Disponibles Instalando Aplicaciones Configurando A través del CLI 205 Acerca del CLI del Panel Configurando el Panel Iniciando el Panel Instalando Llaves de Licencia Personalizando el Panel Configurando el DNS Instalando Certificados SSL Creando Dominios Creando Subdominios Definiendo los Catálogos APS Disponibles Instalando Aplicaciones

4 4 Prólogo Prólogo En esta sección: Convenciones Tipográficas... 4 Sugerencias... 5 Convenciones Tipográficas Antes de empezar a usar esta guía, es realmente importante entender las convenciones de la documentación usadas en la misma. Los siguientes tipos de formato en el texto indican información especial. Convención de formato Tipo de Información Ejemplo Negrita Especial Cursiva Monoespacio Elementos que debe seleccionar, como opciones de menú, botones de comando o elementos en una lista. Nombres de capítulos, secciones y subsecciones. Usada para enfatizar la importancia de un punto, para introducir un término o para designar un marcador de línea de comando, que debe reemplazarse por un nombre o valor real. Nombres de comandos, archivos y directorios. Vaya a la pestaña Sistema. Lea el capítulo Administración Básica. El sistema soporta búsquedas con el llamado carácter comodín. El archivo de licencia se encuentra en el directorio ses.

5 Prólogo 5 Preformateado Negrita Preformateada Salida en pantalla en sus sesiones de línea de comandos; código fuente en XML, C++ u otro lenguaje de programación. Lo que escribe, destacado de lo que se muestra en la pantalla del ordenador. # ls al /files total # cd /root/rpms/php MAYUSCULAS Nombres de teclas. SHIFT, CTRL, ALT KEY+KEY Combinaciones de teclas en que el usuario debe presionar y mantener presionada una tecla mientras presiona otra. CTRL+P, ALT+F4 Sugerencias Si encuentra algún error en esta guía o si tiene alguna duda o sugerencia acerca de cómo mejorarla, envíenos sus comentarios usando el formulario online que encontrará en Indíquenos el título de la guía, los títulos del capítulo y de la sección así como el fragmento de texto donde ha encontrado el error.

6 C A P Í T U L O 1 Acerca de Este Documento Finalidad Ámbito La finalidad de este documento es proporcionar información básica acerca del aprovisionamiento de Parallels Small Business Panel (en este documento denominado el Panel), lo que debería permitir a las empresas HSP (proveedores de servicios de hosting) proporcionar soluciones de alojamiento completas a sus clientes. Este documento va dirigido a desarrolladores HSP que deseen implementar el aprovisionamiento del Panel, es decir, que deseen automatizar su instalación/despliegue y la consiguiente configuración para cubrir las necesidades particulares de sus clientes. Este documento contiene recomendaciones acerca de lo que creemos que son las mejores prácticas - totalmente analizadas y garantizadas - al instalar y configurar el Panel en el ámbito de aprovisionamiento del producto. El documento no pretender en ningún caso ser una descripción funcional completa de las APIs: no se describen las operaciones y opciones más allá del ámbito destacado. Actualmente, los proveedores de servicios van más allá de sugerir el alojamiento de una infraestructura no gestionada y ofrecen servicios gestionados de valor añadido. Los planes de hosting que se venden a los clientes no sólo incluyen un entorno de servidor físico o virtual con instalaciones opcionales de panel de control, sino también certificados SSL y nombres de dominio. Ahora que el enfoque del SaaS es cada vez adoptado con más frecuencia por parte de los particulares, especialmente por las PYMEs, los paquetes de hosting también empiezan a incluir conjuntos predefinidos de aplicaciones instaladas en los dominios de los clientes. Muchas ofertas también incluyen servicios alojados como correo electrónico, herramientas de colaboración y gestión de contenido. En el caso de instalaciones del Panel, esto significa que una vez completada la instalación, el proveedor debería poder configurar el panel. Concretamente, las siguientes opciones de configuración pueden personalizarse a través del CLI o API remota: Configuración del DNS Configuración de dominios Aprovisionamiento de certificados SSL Instalación de aplicaciones APS Para proporcionar indicaciones a los proveedores acerca de los servicios adicionales, Parallels le ofrece este documento, que detalla el proceso de implementación e integración del despliegue y la configuración del Panel en una aplicación de aprovisionamiento.

7 Acerca de Este Documento 7 Descripción El capítulo Notas acerca del Flujo de Aprovisionamiento describe los momentos importantes que afectan al proceso general de aprovisionamiento. El capítulo Desplegando el Panel se centra en la fase de Despliegue del aprovisionamiento del Panel. Este capítulo detalla tanto la instalación en entornos Parallels Containers como en instalaciones independientes, además de debatir la creación de espekos personalizados del repositorio de distribuciones de Parallels Small Business Panel. Los siguientes tres capítulos están dedicados a la fase de Configuración del aprovisionamiento del Panel: El capítulo Descripción General de Operaciones de Configuración explica el significado y el volumen de las operaciones de Configuración. El capítulo Configurando a través de una API Remota se centra en la configuración del Panel a través de una API remota XML. El capítulo explica la API remota: proporciona una descripción general del protocolo RPC de la API así como ejemplos de herramientas utilizadas para interactuar con el servidor del Panel a través del protocolo, además de describir con detale los mensajes de petición que una herramienta de terceros debería emitir para realizar operaciones de configuración en el Panel (así como los mensajes de respuesta recibidos una vez completada cada una de las operaciones). El capítulo Configurando a través de CLI se centra en la configuración del Panel a través del interfaz de línea de comandos del Panel. En primer lugar, el capítulo ofrece una descripción general de los elementos básicos del CLI y posteriormente describe con detalle los comandos que deberían ejecutarse para llevar a cabo operaciones de configuración en el Panel.

8 C A P Í T U L O 2 Notas acerca del Flujo de Aprovisionamiento Cuando se aprovisiona Parallels Small Business Panel para Windows, incluya un intervalo de cinco minutos entre el despliegue y la configuración del producto. Este intervalo es imprescindible, ya que los scripts post-instalación requieren unos minutos para registrar y configurar componentes de terceros. Puede que las operaciones de aprovisionamiento realizadas durante este período no puedan completarse correctamente.

9 C A P Í T U L O 3 Desplegando el Panel Este capítulo se centra en la fase de Despliegue del aprovisionamiento de Parallels Small Business Panel. El capítulo detalla tanto la instalación en entornos Parallels Containers como en instalaciones independientes, además de debatir la creación de espekos personalizados del repositorio de distribuciones del Panel. En Este Capítulo: Despliegue Autónomo Desplegándolo en un Entorno de Parallels Containers Definiendo Mirrors con la Utilidad Rsync... 26

10 10 Desplegando el Panel Despliegue Autónomo Esta sección debate la automatización del despliegue del Panel en un entorno que no sea Parallels Containers, como por ejemplo un entorno basado en Linux/Unix o Windows. La sección describe los conceptos básicos de instalación del Panel y proporciona indicaciones acerca de la así como la instalación del producto a través del interfaz de línea de comandos. Si desea más información acerca de los requisitos para la instalación, consulte la Guía de Instalación disponible en la página de documentación de Parallels Small Business Panel (http://www.parallels.com/products/small-business-panel/documentation/). El despliegue independiente del Panel se realiza utilizando la utilidad Instalador de Parallels. La utilidad se conecta al servidor de actualizaciones de Parallels Small Business Panel, donde se almacenan los paquetes del Panel, recupera los paquetes requeridos y procede con su instalación. El Instalador de Parallels puede ejecutarse en modo interactivo (a través del interfaz web de usuario gráfico o la línea de comandos) o en modo automático cuando se ejecuta desde la línea de comandos habiéndose indicado determinadas opciones. La última opción le permite automatizar el despliegue del Panel utilizando scripts shell. Existen distintas distribuciones del Instalador de Parallels, creadas para distintos sistemas operativos y plataformas, por lo que le recomendamos comprobar que obtiene el Instalador de Parallels adecuado para los sistemas operativos de su host. Generalmente, los binarios del Instalador de Parallels se distribuyen con nombres en el siguiente formato: parallels_installer_v<installer version>_os_<operating system version>_<platform>. Nota: Cuando describimos el CLI del Instalador de Parallels, damos por sentado que la utilidad Instalador de Parallels se denomina parallels_installer. Los repositorios oficiales de Parallels Small Business Panel son autoinstall.plesk.com (paquetes Linux/Unix) y autoinstall-win.parallels.com (paquetes Windows). Puede que desee crear espejos personalizados (en la página 26) de los repositorios del Panel dentro de su entorno de alojamiento para así ahorrar tiempo, tráfico y probablemente proteger la instalación. En esta sección: Obteniendo el ID de la Versión Obteniendo la Lista de Componentes del Producto Instalando el Panel Referencia de CLI del Instalador (Reducida) Script de Instalación (Linux/Unix)... 18

11 Desplegando el Panel 11 Obteniendo el ID de la Versión El ID de la Versión es el identificador único para la versión del Panel. Un ejemplo sería Parallels Small Business Panel Para obtener una lista de IDs de versión, emita el siguiente comando: parallels_installer show-all-releases en un servidor Linux/Unix parallels_installer.exe show-all-releases en un servidor Windows Se le mostrará una lista de las versiones del producto. Por ejemplo: PPSMBE_10_2_0 (Parallels Small Business Panel )

12 12 Desplegando el Panel Obteniendo la Lista de Componentes del Producto Para obtener la lista de los componentes de la versión, emita el comando del siguiente formato: parallels_installer select-release-id <ID> --show-components Por ejemplo, para Parallels Small Business Panel 10.2 sería: parallels_installer select-release-id PPSMBE_10_2_0 --show-components en un servidor Linux/Unix parallels_installer.exe select-release-id PPSMBE_10_2_0_WIN show-components La lista de componentes muestra el nombre del componente a la izquierda, además de indicar si el componente puede instalarse ([install]) o actualizarse ([update]) y una descripción breve a la derecha. Por ejemplo: base [install] - paquetes base de Parallels Small Business Panel autoinstaller [install] - Instalador de Productos de Parallels postfix [install] - Servidor de correo Postfix php5 [install] - Soporte para PHP5 postgresql [install] - Soporte para PostgreSQL api [install] - API de Parallels Small Business Panel siteeditor [install] - Editor de Sitios setemplates [install] - Plantillas del Editor de Sitios mod_python [install] - Módulo mod_python de Apache ruby [install] - Soporte para Ruby on Rails firewall [install] - Añadido de Firewall vpn [install] - Añadido de VPN fileserver [install] - Añadido de servidor de archivos watchdog [install] - Añadido de monitorización de sistema (Watchdog) drweb [install] - Parallels Premium Antivirus spamassassin [install] - Soporte para SpamAssassin backup [install] - Administrador de Copias de Seguridad backup-vz [install] - Administrador de Copias de Seguridad con soporte para reinstalación de PVC de-de-locale [install] - Paquete de idioma alemán ja-jp-locale [install] - Paquete de idioma japonés es-es-locale [install] - Paquete de idioma español ru-ru-locale [install] - Paquete de idioma ruso fr-fr-locale [install] - Paquete de idioma francés it-it-locale [install] - Paquete de idioma italiano zh-cn-locale [install] - Paquete de idioma chino para China zh-tw-locale [install] - Paquete de idioma chino para Taiwán

13 Desplegando el Panel 13 nl-nl-locale [install] - Paquete de idioma holandés para los Países Bajos atmail [install] - Soporte para webmail Atmail

14 14 Desplegando el Panel Instalando el Panel Para instalar Parallels Small Business Panel, emita un comando del siguiente formato: parallels_installer <packages source options> --select-release-id <ID> <components installation options> [other options] donde packages source options define la ubicación donde el instalador debería obtener los paquetes del Panel para la instalación <packages source options> = source <URL> si utiliza un espejo del servidor de Actualizaciones del Panel o source VPS dashboard si utiliza el sistema de archivos local o none si realiza la instalación desde el servidor de Actualizaciones del Panel components installation options (en la página 12) define los componentes del Panel que deberían instalarse <components installation options> = install-everything o install-component component1 [--install-component component2 [... [--install-component componentn]]] other options incluye aquellas que definen la configuración del proxy, el registro de instalación y demás opciones. Si desea más información, consulte la sección Referencia de CLI del Instalador (en la página 15) Ejemplos, Linux/Unix 1. El siguiente comando instala Parallels Small Business Panel 10.2 (el ID de versión es PPSMBE_10_2_0) desde el espejo configurado en el servidor disponible a través de HTTP en el host ppsmbe-mirror.example.com. Los archivos de instalación se almacenarán temporalmente en /tmp/ppsmbe y se informará del estado de instalación al Los componentes instalados son los paquetes base del Panel, un servidor PostgreSQL y el filtro de spam SpamAssassin../parallels_installer source --target /tmp/ppsmbe select-release-id PPSMBE_10_2_0 --install-component base install-component postgresql install-component spamassassin notify- 2. El siguiente comando realiza la instalación completa (se instalarán todos los componentes disponibles del producto) de Parallels Small Business Panel 10.2 (el ID de versión es PPSMBE_10_2_0) desde el servidor de Actualizaciones de Parallels. Todas las salidas del instalador se redireccionarán a un archivo XML.

15 Desplegando el Panel 15./parallels_installer select-release-id PPSMBE_10_2_0 --install-everything enable-xml-output Ejemplos, Windows 1.El siguiente comando instala Parallels Small Business Panel 10.2 (el ID de versión es PPSMBE_10_2_0_WIN) desde el espejo configurado en el servidor disponible a través de HTTP en el host ppsmbe-mirror.example.com. Los archivos de instalación se almacenarán de forma temporal en la carpeta %SystemDrive%\Parallels\ y se informará del estado de la instalación al Los componentes instalados son los paquetes base del Panel, un servidor de nombres Bind, un servidor de correo MailEnable, un motor de scripts PHP, el Editor de Sitios y Webmail Horde. parallels_installer.exe source --target %SystemDrive%\Parallels select-release-id PPSMBE_10_2_0_WIN install-component base install-component dns install-component mailenable install-component php5 --install-component siteeditor install-component webmail notify- 2.El siguiente comando realiza la instalación completa (se instalarán todos los componentes disponibles del producto) de Parallels Small Business Panel 10.2 (el ID de versión es PPSMBE_10_2_0_WIN) desde el servidor de Actualizaciones de Parallels. Todas las salidas del instalador se redireccionarán a un archivo XML. parallels_installer.exe select-release-id PPSMBE_10_2_0_WIN install-everything enable-xml-output Referencia de CLI del Instalador (Reducida) Esta referencia detalla las opciones del Instalador de Parallels relevantes en el caso de la instalación del Panel a través del CLI. Si desea más información acerca de las opciones relacionadas con la actualización de un Panel ya instalado o sobre el sistema operativo del host, emita el siguiente comando: parallels_installer help Opción --source VPS dashboard <url> --target VPS dashboard Descripción y posibles argumentos Cuando recupere paquetes del Panel desde un sistema de archivos local, indique la opción --source para así apuntar al archivo.inf3 que contiene la información acerca de la build del Panel que desea instalar. Cuando recupere paquetes del Panel desde un servidor de red, indique la opción source <URL> para así apuntar al directorio donde reside el espejo del servidor de actualizaciones del Panel. Por defecto, el instalador guardar los archivos recuperados en el directorio /<current user name>/psa. Por ejemplo, si el instalador fue ejecutado por el usuario root, se creará y usará el directorio /root/psa. Si desea usar un directorio personalizado para guardar los archivos recuperados, use la opción target. Ejemplo: --target /opt/storage/psa o --target D:\temp

16 16 Desplegando el Panel Opción --proxy-host <network address> Descripción y posibles argumentos Cuando utilice un servidor proxy o un firewall, use estqa opción para indicar la dirección IP o el nombre de dominio del servidor proxy. --proxy-port <port number> Opciones de autenticación del proxy: --proxy-user <user-name> --proxy-password <password> --show-releases --show-all-releases --select-release-id <ID> --select-release-lat est --show-components --install-component <component-name> --install-everything --show-os-list --no-space-check --no-daemon --notify- < > Ejemplo: --proxy-host proxy.example.com El puerto por defecto para conectar con el servidor del proxy es el Si su servidor proxy usa otro número de puerto, deberá indicarlo usando esta opción. Ejemplo: --proxy-port 5741 Si su servidor proxy requiere autenticación, deberá usar estas opciones para autenticar el instalador en el servidor proxy. Ejemplo: --proxy-user smith proxy-password f1sz9anq4eno52 Indique esta opción para recuperar una lista de las versiones disponibles para el sistema operativo donde se ejecuta el instalador. Se le proporcionará una lista de los identificadores de versión y de descripciones de las mismas. Los identificadores de versión son lo que necesitará. Esta opción muestra todas las versiones disponibles en el servidor de actualizaciones del Panel. Use esta opción para indicar la versión que desea instalar o para ver la propiedades de la misma. Use esta opción para seleccionar la última versión disponibles para su sistema operativo. Indique esta opción para obtener la información sobre los componentes disponibles para la versión seleccionada. Se le mostrará la descripción y el nombre de los componentes. Los nombres de los componentes son lo que necesitará indicar cuando seleccione los componentes adicionales a instalar. Use esta opción para indicar el componente que desea instalar. Si desea instalar dos o más componentes a la vez, repita esta opción para cada uno de los componentes. Ejemplo: --install-component base install-component postgresql install-component spamassassin Use esta opción para instalar todos los componentes de la versión seleccionada. Use esta opción para descubrir qué sistemas operativos soporta la versión seleccionada del Panel. Instala paquetes incluso si no dispone de mucho espacio en disco. Realiza el proceso de instalación en primer plano. Use esta opción para que el instalador envíe los informes de su estado por . Un informe de finalización correcta incluye una lista de los paquetes instalados/actualizados con un registro detallado.

17 Desplegando el Panel 17 Opción --enable-xml-output --query-status --truncate-log --separate-log --debug --version Descripción y posibles argumentos Esta opción ha sido diseñada para comunicarse con el Panel, pudiéndose usar para interactuar con otras aplicaciones. Cuando indique esta opción, todas las salidas del instalador estarán en XML. Tenga en cuenta que esta opción no permite al instalador informar sobre errores por código de salida. El código de salida siempre es cero y todos los errores se informan dentro de la salida XML. Como la base de datos RPM no permite múltiples accesos, el instalador bloquea su funcionalidad. Ejecute esta opción para descubrir si el instalador está activo. Esto hará que se compruebe la existencia de un bloqueo y devolverá o bien un código de salida (0 - instalador inactivo, 1 - instalador en ejecución y ocupado) o una salida en formato XML. Vacía el archivo de registro cuando se inicia el Instalador de Productos Parallels. Usa un archivo de registro nuevo cada vez que se inicia el Instalador de Productos Parallels. Activa la salida detallada al archivo de registro. Muestra la versión del Instalador de Productos Parallels.

18 18 Desplegando el Panel Script de Instalación (Linux/Unix) Esta sección ofrece información acerca de la implementación y ejecución de un script de instalación, además de proporcionar un par de scripts de instalación de muestra. Notas de Ejecuciones e Implementación Para evitar que se le pregunte la contraseña cada vez que conecte vía SSH a los servidores donde debe instalarse el Panel, incluya su llave pública en la lista de llaves autorizadas del usuario en cuyo nombre se ejecuta el script en cada servidor (consulte la documentación SSH para conocer los detalles sobre el procedimiento). Si dispone de un espejo local del servidor de actualizaciones del Panel (tal y como se describe en la sección Configurando Mirrors (en la página 26)), utilice la siguiente opción: source <mirror URL> Por defecto, todos los paquetes descargados se guardan en el directorio /root/psa. Si desea utilizar otro directorio, use la siguiente opción: target <directory-name> Scripts de Muestra 1.Este script es válido cuando el Instalador de Parallels ya ha sido cargado al servidor de destino y el bit de ejecución está definido en sus permisos. #!/bin/sh SERVERS_LIST= node1.example.com node2.example.com for current_server in $SERVERS_LIST; do scp parallels_installer ssh -f parallels_installer source --target /tmp/ppsmbe select-release-id PPSMBE_10_2_0 --install-component base install-component postgresql install-component asp notify- done 2. Este script de muestra es válido cuando el binario del Instalador de Parallels se obtiene directamente desde una ubicación de red (la URL del ejemplo debe reemplazarse por un enlace de descarga válido del instalador). #!/bin/sh SERVERS_LIST= node1.example.com node2.example.com for current_server in $SERVERS_LIST; do

19 Desplegando el Panel 19 ssh -f wget -o parallels_installer;chmod 755./parallels_installer;./parallels_installer source --target /tmp/ppsmbe select-release-id PPSMBE_10_2_0 --install-component base install-component postgresql install-component spamassassin notify- done

20 20 Desplegando el Panel Desplegándolo en un Entorno de Parallels Containers Esta sección sólo describe los pasos que deben realizarse usando el CLI de Parallels Containers para el despliegue del Panel, centrándose en la creación de un Contenedor con Parallels Small Business Panel. Si desea más información acerca de la funcionalidad CLI de Parallels Containers o la API de Parallels Containers (XML o SOAP), consulte la Documentación de desarrollador de Parallels Containers (http://www.parallels.com/ptn/documentation/virtuozzo/) (en inglés). El despliegue del Panel en un entorno Parallels Containers implica las siguientes dos fases: 1. Instalación de la plantilla de aplicación del Panel en un nodo hardware. 2. Creación de un Contenedor y despliegue de la aplicación desde la plantilla. La primera fase se realiza una única vez en cada nodo hardware: Cuando la plantilla de la aplicación esté instalada en un nodo hardware, esta puede desplegase en tantos Contenedores como sea necesario. En vez de crear un Contenedor nuevo cada vez que necesite desplegar un Contenedor con el Panel, siempre puede clonar un Contenedor existente que tenga instalado el Panel, que actuará como una especie de Contenedor de Plantilla. En esta sección: Parallels Containers para Unix Parallels Containers para Windows... 24

21 Desplegando el Panel 21 Parallels Containers para Unix Existen dos plantillas EZ disponibles para Parallels Small Business Panel 10.2: ppsmbe10 Contiene los componentes clave del Panel. ppsmbe10-extended Contiene los componentes adicionales, como el filtro antispam SpamAssassin, el framework Ruby-on-Rails, Parallels Premium Antivirus, plantillas adicionales del Editor de Sitios y otros componentes. Si desea instalar una versión ampliada del Panel, instale ambas plantillas. La instalación de la plantilla del Panel en el nodo hardware de destino puede realizarse de las siguientes dos formas: usando la utilidad vzup2date. Si desea más información, consulte la Guía de Referencia de Parallels Containers para Linux (en inglés) que encontrará en Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). descargando la plantilla directamente desde el Sitio web de Parallels (http://www.parallels.com) e instalándola con la utilidad vzpkg Una vez haya instalado la plantilla en un nodo hardware, se desplegará el conjunto de archivos principal, que incluye la definición del repositorio de paquetes de la aplicación. Ahora, una vez la aplicación ya está instalada en un contenedor, Parallels Containers se comunicará con el repositorio (el repositorio predeterminado de Parallels Small Business Panel para Linux/Unix es el servidor de Actualizaciones de Parallels disponible en y recuperará los paquetes de la aplicación y los instalará en el contenedor. Los paquetes se guardan en la caché del nodo hasta que esta se elimina y entonces los paquetes se recuperan otra vez desde el repositorio cuando la aplicación se instala en el Contenedor. Para ahorrarle tiempo y tráfico, puede utilizar un espejo personalizado del repositorio del Panel. Para instalar la plantilla del Panel en un nodo hardware Parallels Containers utilizando la utilidad vzpkg: 1. Obtenga la plantilla del Panel en el Sitio Web de Parallels (http://www.parallels.com) y cárguela al nodo hardware Parallels Containers de destino. 2. Instale la plantilla de la aplicación emitiendo un comando del siguiente formato: vzpkg install template [-q <-d <number>>] <path_to_package>... donde -q desactiva el registro a la pantalla y al archivo de registro -d --debug <number> define el nivel de detalle del registro de 0 a 10 Por ejemplo, el siguiente comando instala los componentes clave y los adicionales del Panel:

22 22 Desplegando el Panel # vzpkg install template ppsmbe10-debian-5.0-x86-ez prl noarch.rpm ppsmbe10-extended-debian-5.0-x86-ez prl noarch.rpm Si desea utilizar un espejo personalizado: 1. Configure un espejo tal y como se explica en la sección Creando un Mirror de Distribuciones Linux/Unix (en la página 27). 2. En el nodo hardware, edite el archivo que declara la URL del repositorio: a. Abra el archivo /vz/template/linux/<os-version>/<platform>/config/a pp/<app-template-name>/default/repositories. Es /vz/template/linux/<os-version>/<platform>/config/app/ppsmbe10/ default/repositories y /vz/template/linux/<os-version>/<platform>/config/app/ppsmbe10- extended/default/repositories. Si tiene instaladas las dos plantillas, edite ambos archivos. b. Reemplace las URLs del servidor de Actualizaciones de Parallels por las correspondientes a su espejo y guarde el archivo. 3. Vacíe o vuelva a recuperar los metadatos de los paquetes. Puede hacerlo, por ejemplo, a través del comando vzpkg clean. Si desea más información, consulte la Guía de Referencia de Parallels Containers para Linux (en inglés) que encontrará en Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Para crear un Contenedor nuevo e instalarle el Panel: 1. Cree un contenedor y, si lo desea, configúrelo en función de sus necesidades. Emita los siguientes comandos: vzctl create <CT_ID> [options] vzctl set <CT_ID> <setting_name> <value> [--save] donde <CT_ID> define un número de ID de contenedor arbitrario superior a 100, un número único en el nodo hardware El switch save informa a vzctl si deben guardarse los cambios en el archivo de configuración del Contenedor Nota: Si desea más información acerca de las opciones de configuración y creación de Contenedores, consulte la Guía de Referencia de Parallels Containers para Linux que encontrará en Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Por ejemplo, los siguientes comandos hacen lo siguiente: 1. crear un Contenedor con ID 444 con IP , basado en la plantilla de SO predeterminada definida en el archivo de configuración global de Parallels Containers

23 Desplegando el Panel definir una barrera y un límite para memoria de kernel no intercambiable, memoria privada (o potencialmente privada), número de archivos abiertos por todos los procesos del Contenedor, espacio en disco y número total de inodos de disco (archivos, directorios, vínculos simbólicos) que puede asignar un Contenedor 3. guardar los valores de barrera/límite en el archivo de configuración del Contenedor 4. permitir la administración del Contenedor utilizando un navegador Web (prohibiendo la gestión offline a través de la opción offline_management no ) Nota: Es sumamente importante que defina esta opción de la misma forma que en el ejemplo mostrado. De lo contrario, no podrá acceder al panel a través de un navegador Web. # vzctl create ipadd # vzctl set save kmemsize : privvmpages : numfile 12000: diskspace : diskinodes : offline_management no 2. Inicie el Contenedor creado: # vzctl start <CT_ID> 3. Instale la plantilla del Panel en el Contenedor: vzpkg install <CT_ID> <ppsmbe_template_name>... Por ejemplo, el siguiente comando instala el Panel y los componentes adicionales: # vzpkg install 444 ppsmbe10 ppsmbe10-extended Para clonar un Contenedor: Emita un comando del siguiente formato: vzmlocal -C {CT List} {CT List} = <source_ct_id>:<dst_ct_id>[:[<dstct_private>][:<dstct_root>]] [...] Es necesario indicar el ID del Contenedor de origen (<source_ct_id>) y el ID del Contenedor de destino (<dest_ct_id>). La indicación de la ruta al área privada del Contenedor de destino (<dstct_private>) y la ruta raíz (<dstct_root>) es opcional; esto le permite reemplazar las rutas predeterminadas - /vz/private/<dst_ct_id> y /vz/root/<dst_ct_id>, respectivamente. Si desea más información acerca de las opciones del comando, consulte la Guía de Referencia de Parallels Containers para Linux que encontrará en Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Por ejemplo, para clonar el Contenedor con el Panel creado durante el procedimiento anterior: # vzmlocal -C 444:445

24 24 Desplegando el Panel Parallels Containers para Windows Para instalar la plantilla del Panel en un nodo hardware Parallels Containers: 1. Obtenga la plantilla del Panel en el Sitio Web de Parallels (http://www.parallels.com) y cárguela al nodo hardware Parallels Containers de destino. 2. Instale las plantillas de aplicación del Panel. Si está realizando la instalación en Microsoft Windows Server 2003, también deberá instalar Microsoft.NET Framework v.2.0 o una versión posterior, emitiendo un comando del siguiente formato: vzpkgdeploy [-q -v] -i <template-file> donde -q desactiva el registro a la pantalla y al archivo de registro -v define el nivel de registro al máximo valor posible para esta sesión vzpkgdeploy Por ejemplo, >vzpkgdeploy -i ppsmbe_10.2.0_ efd >vzpkgdeploy -i dotnet2.0_frmwk efd Importante: La instalación de una plantilla adicional de.net Framework sólo se requiere en el caso de Windows Server 2003 (PVC 4.0, VZ 3.5.1). En Windows Server 2008 (PVC 4.5) no es necesario realizar la instalación de ninguna plantilla adicional. Para crear un Contenedor nuevo e instalarle el Panel: 1. Cree un contenedor y, si lo desea, configúrelo en función de sus necesidades. Emita los siguientes comandos: vzctl create <CT_ID> --pkgset name [options] vzctl set <CT_ID> <setting_name> <value> [--save] donde <CT_ID> define un número de ID de contenedor arbitrario superior a 100, un número único en el nodo hardware --pkgset name denota la plantilla de SO a utilizar para la creación del Contenedor El switch save informa a vzctl si deben guardarse los cambios en el archivo de configuración del Contenedor Nota: Si desea más información acerca de las opciones de configuración y creación de Contenedores, consulte la Guía de Referencia de Parallels Containers para Windows que encontrará en Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Por ejemplo, los siguientes comandos hacen lo siguiente: crear un Contenedor con ID 444 con IP , basado en la plantilla de SO w2k3

25 Desplegando el Panel 25 definir un límite de espacio en disco a 4+ gigabytes, límite de memoria privada a 1 gigabyte y la contraseña del Administrador a P4$$w0rd permitir la administración del Contenedor utilizando un navegador Web (prohibiendo la gestión offline a través de la opción offline_management no ) Nota: Es sumamente importante que defina esta opción de la misma forma que en el ejemplo mostrado. De lo contrario, no podrá acceder al panel a través de un navegador Web. >vzctl create pkgset w2k3 --ipadd >vzctl set save diskspace vprvmem userpasswd Administrator:P4$$w0rd offline_management no 2. Inicie el Contenedor creado: >vzctl start <CT_ID> 3. Instale la versión 2.0 de Microsoft.NET Framework o una versión posterior en su Contenedor: vzpkgadd <CT_ID> <dotnet_template_name> Por ejemplo, >vzpkgadd 444 dotnet2.0_frmwk / Instale la plantilla de Parallels Small Business Panel en el Contenedor: vzpkgadd <CT_ID> <ppsmbe_template_name> Por ejemplo, >vzpkgadd 444 ppsmbe_10.2.0_ Para clonar un Contenedor: Emita un comando del siguiente formato: vzmlocal -C <CT_List> <CT_List> = <source_ctid>:<dest_ctid>[:<dest_private>] [options] Es necesario indicar el ID del Contenedor de origen (<source_ctid>) y el ID del Contenedor de destino (<dest_ctid>). La indicación de la ruta al área privada del Contenedor de destino (<dest_private>) es opcional; esto le permite reemplazar la ruta predeterminada de X:\vz\private\<CT_ID>. Si desea más información acerca de las opciones del comando, consulte la Guía de Referencia de Parallels Containers para Windows que encontrará en Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Por ejemplo, para clonar el Contenedor con el Panel creado durante el procedimiento anterior: >vzmlocal -C 444:445

26 26 Desplegando el Panel Definiendo Mirrors con la Utilidad Rsync Esta sección describe el procedimiento para la creación de un espejo local del servidor de Actualizaciones de Parallels para distribuciones Linux/Unix y Windows de Parallels Small Business Panel en un servidor Linux a través de Rsync. Rsync es una utilidad open source que le permite crear mirrors que soporten el conjunto deseado de distribuciones del Panel, incluyendo aquellas para Parallels Containers. Un mirror del repositorio de Parallels Small Business Panel para Linux puede servir tanto a instalaciones independientes como a instalaciones de Parallels Containers (en función del volumen de los paquetes presentes en el espejo). En esta sección: Creando Mirrors en Distribuciones Linux/Unix Creando Mirrors de Distribuciones Windows... 30

27 Desplegando el Panel 27 Creando Mirrors en Distribuciones Linux/Unix El repositorio de Parallels Small Business Panel para Linux/Unix presente en autoinstall.plesk.com se estructura de la siguiente forma (sólo listamos los archivos y directorios relevantes para la creación de mirrors de paquetes del Panel): <PRODUCT_NAME>_<product_version>/ Numerosos subdirectorios cuyo nombre va de acuerdo con las versiones del Panel. En nuestro caso, los subdirectorios de interés son: a PPSMBE_<version>/ por ejemplo PPSMBE_ donde se encuentran los paquetes del Panel b SETEMPLATES_<version>/ por ejemplo SETEMPLATES_1.0.0 donde se encuentran los paquetes para las más de 200 plantillas de diseño de sitio adicionales del componente Editor de Sitios. De hecho no es propiamente un producto sino un componente del Panel, presente en otro directorio del producto para así ahorrarle espacio en disco y tráfico. Cada uno de estos subdirectorios contiene los siguientes archivos: dist-<type>-<os-name>-<version>-<architecture>/ Contiene los paquetes de distribución del Panel o las plantillas de diseño por ejemplo dist-deb-debian-5.0-x86_64/ o dist-deb-debian-all-all/ update-<type>-<os-name>-<version>-<architecture> Contiene las actualizaciones de sistema para el sistema operativo del servidor; <type> es el tipo de paquete: rpm, deb, pkg thirdparty-<type>-<os-name>-<version>-<architecture>/ Contiene paquetes adicionales de terceros <PRODUCT_NAME>_<parallels-panel-version>-<os-name>-<architectur e>.inf3 Archivos de configuración del Instalador de Parallels pro ejemplo ppsmbe suse11.1-x86_64.inf3, setemplates deball-all.inf3 products.inf3 Archivo de configuración del Instalador de Parallels que describe los productos de Parallels ppsmbe.inf3, setemplates.inf3 Archivos de configuración del Instalador de Parallels que describen las distintas versiones del Panel y de los componentes adicionales PPSMBE10/ Metadatos de Parallels Small Business Panel usados para la instalación del Panel en Parallels Containers utilizando plantillas EZ.

28 28 Desplegando el Panel debian/, ubuntu/ directorios utilizados como repositorios apt-get para la instalación de productos Parallels usando plantillas EZ y el Instalador de Productos de Parallels Para configurar un mirror para el Panel: 1. Acceda al servidor donde definirá el mirror. 2. Cree el directorio donde residirán los archivos. Por motivos de ejemplificación, llamaremos a este directorio destination_directory/. 3. En este directorio, cree dos subdirectorios: debian/ y ubuntu/. 4. Para configurar un espejo, emita los siguientes comandos. Este comando descarga el directorio /PPSMBE_ presente en el repositorio de Actualizaciones de Parallels a destination_directory. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ppsmbe_ destination_directory Este comando descarga el directorio /SETEMPLATES_1.0.0 presente en el repositorio de Actualizaciones de Parallels a destination_directory. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/setemplates_1.0.0 destination_directory Estos comandos descargan contenidos para la instalación de los paquetes Ubuntu y Debian de Parallels Small Business Panel vía el Instalador de Parallels. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/debian/ppsmbe_ destination_directory/debian # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/ppsmbe_ destination_directory/ubuntu Estos comandos descargan contenidos para la instalación de los paquetes Ubuntu y Debian de plantillas adicionales del Editor de Sitios a través del Instalador de Parallels. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/debian/setemplates _1.0.0 destination_directory/debian # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/setemplates _1.0.0 destination_directory/ubuntu Estos comandos descargan contenidos para la instalación de los paquetes Ubuntu y Debian del Panel a través de plantillas EZ de Parallels Containers. Si está configurando un mirror para un entorno que no sea Parallels Containers, omita este paso. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/debian/ppsmbe_10.2.0/ destination_directory/debian/ppsmbe10

29 Desplegando el Panel 29 # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/ppsmbe_10.2.0/ destination_directory/ubuntu/ppsmbe10 Este comando crea un vínculo simbólico usado para la instalación del Panel a través de plantillas EZ de Parallels Containers en sistemas operativos basados en RPM. Si está configurando un mirror para un entorno que no sea Parallels Containers, omita este paso. # cd destination_directory; En -s PPSMBE_ PPSMBE10 Este comando descarga los archivos de configuración del Instalador de Parallels. # rsync -auv delete rsync://rsync.autoinstall.plesk.com/ autoinstall/products.inf3 autoinstall/versions.inf3 autoinstall/ppsmbe.inf3 autoinstall/setemplates.inf3 destination_directory 5. Edite los archivos de configuración del Instalador de Parallels para así definir los productos, versiones y plataformas que deberían ser soportadas por el mirror. a. Edite el archivo products.inf3 eliminando todos los elementos product excepto el que tiene el ID ppsmbe. Excluya también el elemento product con ID setemplates si desea que se soporte el conjunto de plantillas de diseño adicionales para el Editor de Sitios. b. Edite el archivo ppsmbe.inf3 eliminando todos los elementos build excepto aquellos que pertenezcan a los sistemas operativos y arquitecturas que desee que soporte el mirror. c. Edite el archivo setemplates.inf3 eliminando todos los elementos build a excepción de aquellos relacionados con los sistemas operativos y arquitecturas para los que desea que se soporten plantillas de diseño de sitio adicionales del Editor de Sitios. Importante: Si desea más información acerca de la utilidad Rsync, visite

30 30 Desplegando el Panel Creando Mirrors de Distribuciones Windows El repositorio de Parallels Small Business Panel para Windows presente en se estructura de la siguiente forma (sólo listamos los archivos y directorios relevantes para la creación de mirrors de paquetes del Panel): <PRODUCT_NAME>_<product_version>/ Numerosos subdirectorios cuyo nombre va de acuerdo con las versiones del Panel. En nuestro caso, el subdirectorio de interés es PPSMBE-WIN_<version>/; por ejemplo PPSMBE-WIN_10.2.0/ Cada uno de estos subdirectorios contiene los siguientes archivos: dist-<type>-<os-name>-<version>-<architecture>/ Contiene los paquetes de distribución del Panel o las plantillas de diseño, por ejemplo dist-msi-microsoft-2003-i386/ thirdparty-<type>-<os-name>-<version>-<architecture> paquetes adicionales de terceros ppsmbe-<parallels-panel-version>-<os-name>-<architecture>.inf3 archivos de configuración del Instalador de Parallels products.inf3 Archivo de configuración del Instalador de Parallels que describe los productos de Parallels ppsmbe.inf3 Archivos de configuración del Instalador de Parallels que describen las distintas versiones del Panel y los componentes adicionales Para configurar un mirror para el Panel: 1. Acceda al servidor donde definirá el mirror. 2. Cree el directorio donde residirán los archivos. Por motivos de ejemplificación, llamaremos a este directorio destination_directory/. 3. Para configurar un espejo, emita los siguientes comandos. Este comando descarga el directorio PPSMBE-WIN_10.2.0/ presente en el repositorio de Actualizaciones de Parallels a destination_directory/. # rsync -au delete rsync://rsync.autoinstall-win.parallels.com/autoinstall/ppsmbe-win _ destination_directory Este comando descarga los archivos de configuración del Instalador de Parallels. # rsync -auv delete rsync://rsync.autoinstall-win.parallels.com/ autoinstall/products. inf3 autoinstall/ppsmbe.inf3 destination_directory 4. Edite los archivos de configuración del Instalador de Parallels para así definir los productos, versiones y plataformas que deberían ser soportadas por el mirror.

31 Desplegando el Panel 31 a. Edite el archivo products.inf3 eliminando todos los elementos product excepto el que tiene el ID ppsmbe. Excluya también el elemento product con ID setemplates si desea que se soporte el conjunto de plantillas de diseño adicionales para el Editor de Sitios. b. Edite el archivo ppsmbe.inf3 eliminando todos los elementos build excepto aquellos que pertenezcan a los sistemas operativos y arquitecturas que desee que soporte el mirror. Nota: Si desea más información acerca de la utilidad Rsync, visite

32 C A P Í T U L O 4 Descripción de Operaciones de Configuración Este capítulo describe las operaciones que componen la fase de Configuración del aprovisionamiento de Parallels Small Business Panel. Las descripciones de operaciones se ordenan de tal forma que coincidan con el orden en que deben realizarse de forma óptima. En Este Capítulo: Iniciando el Panel Instalando Llaves de Licencia Personalizando el Panel Personalizando los Enlaces a los Servicios Configurando el DNS Instalando Certificados SSL Creando Dominios y Subdominios Instalando Aplicaciones Definiendo los Catálogos APS Disponibles... 44

33 Descripción de Operaciones de Configuración 33 Iniciando el Panel Lo primero de debe hacerse en el Panel una vez instalado es iniciarlo. Se prohibe la realización de cualquier otra operación, ya sea en el GUI del Panel o a través de la API. La inicialización configura las siguientes opciones del Panel: del administrador contraseña nueva del administrador para reemplazar la contraseña predeterminada (opcional) idioma del Panel Si durante la inicialización del Panel no se define el idioma, se utilizará el Inglés Americano (en-us). El administrador del Panel puede cambiar el idioma del interfaz siempre que lo desee (siempre que tenga instalado el componente (en la página 12) de idioma apropiado). Si proporciona una traducción personalizada del Panel, deberá importar un paquete de idioma personalizado al Panel antes de la inicialización. Si desea más información, consulte Parallels Small Business Panel: Guía de Traducción presente en la página de documentación (http://www.parallels.com/products/small-business-panel/documentation/) del Panel. Vínculos Rápidos Inicializando el Panel a través de la API remota (en la página 87) Inicializando el Panel a través del CLI (en la página 208) Instalando Llaves de Licencia El Panel se distribuye con la llave de licencia predeterminada, que soporta un número limitado de cuentas de usuario. De esta forma, es necesario obtener e instalar una llave de licencia apropiada para las necesidades de sus usuarios. Junto con la llave de licencia principal que define la funcionalidad principal del Panel, pueden instalarse llaves de licencia adicionales para que así pueda utilizar añadidos del Panel, como por ejemplo la solución Parallels Premium Antivirus. Vínculos Rápidos Instalando una llave de licencia a través de la API remota (en la página 92) Instalando una llave de licencia a través del CLI (en la página 209)

34 34 Descripción de Operaciones de Configuración Personalizando el Panel Logo Soporte Dentro del ámbito de aprovisionamiento del Panel, se encuentran incluidos los siguientes aspectos de personalización del Panel: URL e imagen del logotipo del Panel vínculo al botón de Soporte Nota: Ambos sólo se soportan en el CLI. El logotipo del Panel aparece en la esquina superior izquierda del Panel. Por defecto, es una imagen GIF de 141*29 píxeles con el logotipo del producto Parallels Small Business Panel. Cuando se hace clic en este, se abre el sitio web de Parallels. Puede cambiar la URL y la imagen predeterminada del logo. El botón Soporte se encuentra en la pestaña Configuración del administrador del Panel. Por defecto, si hace clic en el botón, se abrirá el formulario de Petición de Soporte del sitio web de Parallels, que supuestamente debe ser completado y enviado por el administrador. Si tiene previsto proporcionar soporte técnico a sus clientes, puede cambiar la URL que se abre cuando se hace clic en el botón Soporte. Vínculos Rápidos Personalizando el Panel a través del CLI (en la página 209) Personalizando los Enlaces a los Servicios El interfaz de usuario de Parallels Small Business Panel contiene numerosos enlaces a los siguientes servicios: Servicio Descripción Acceso desde Predeterminado La tienda online del Panel Tienda online del Marketplace de Aplicacione s * Vende/Actualiza añadidos al Panel y licencia generales. Vende licencias para las aplicaciones del Marketplace. Configuración > Administración de Llaves de Licencia: los enlaces Ir a la tienda online para comprar añadidos para el Panel e Ir a la tienda online para actualizar la llave de licencia del Panel Aplicaciones y Scripts > Marketplace de Aplicaciones: los botones Comprar Tienda Online de Parallels Tienda de Parallels Marketplace

35 Descripción de Operaciones de Configuración 35 Vende Paquetes de Usuario para el Panel. Usuarios > Cuentas de Usuario: el enlace Comprar Paquete de Usuario adicional Asistente de Inicio > Usuarios: el enlace Comprar Paquete de Usuario adicional Correo > Direcciones de el enlace Comprar Paquete de Usuario adicional Configuración > Administración de Llaves de Licencia: el enlace Ir al Marketplace de aplicaciones para comprar paquetes de usuario Tienda de Paquetes de Usuario Vende Paquetes de Usuario para el Panel. Generalmente, este forma parte de la tienda online del Marketplace de aplicaciones, aunque puede personalizarse. Usuarios > Cuentas de Usuario: el enlace Comprar Paquete de Usuario adicional Asistente de Inicio > Usuarios: el enlace Comprar Paquete de Usuario adicional Correo > Direcciones de el enlace Comprar Paquete de Usuario adicional Configuración > Administración de Llaves de Licencia: el enlace Ir al Marketplace de aplicaciones para comprar paquetes de usuario Tienda de Parallels Marketplace Tienda online de certificados CA Vende certificados SSL CA. Configuración > Certificados SSL > Añadir Certificado SSL: el botón Comprar Certificado SSL myplesk.com Registrador de nombres de dominio Vende nombres de dominio. Sitios Web y Dominios: el botón Registrar Nombre de Dominio myplesk.com

36 36 Descripción de Operaciones de Configuración Nota: Tenga en cuenta la siguiente diferencia: El catálogo de Aplicaciones del Marketplace es un servicio que proporciona una lista detallada de aplicaciones disponibles. La tienda online del Marketplace de Aplicaciones es un servicio que comercializa licencias para estas aplicaciones. Las URLs de los Catálogos de Aplicaciones (incluyendo el Marketplace de Aplicaciones) también pueden personalizarse. Para más información, consulte la sección Definiendo los Catálogos APS Disponibles (en la página 44). Puede que desee personalizar las URLs a las que se redirecciona cuando se hace clic en estos enlaces en los siguientes casos: Usted es un partner de Parallels que vende licencias para el Panel y sus añadidos Usted es un partner de Parallels que vende Paquetes de Usuario para el Panel Usted es un partner de Parallels que vende licencias para las aplicaciones del Marketplace Usted proporciona servicios de registro de nombres de dominio Usted vende certificados CA Puede editar los enlaces modificando el archivo de configuración del Panel smb.ini. Una vez aplicada la personalización deseada en el archivo de configuración, este puede cargarse a cualquier número de instancias del Panel para reemplazar la configuración predeterminada. Para esta finalidad no se proporciona ningún medio especial, por lo que le rogamos use las llamadas estándar a la línea de comandos. El Archivo de Configuración del Panel Ubicación: En Unix/Linux: $PRODUCT_ROOT/admin/smb/application/config/smb.ini En Windows: %plesk_dir%\admin\smb\application\config\smb.ini (%plesk_dir% es una variable de entorno que denota el directorio de instalación del Panel) Configuración de los Enlaces a Servicios: [marketplace] panelandaddonslicensesstore = url = userpacksurl = buysslcertificatesurl = registerdomainsurl = Por defecto, el archivo de configuración no contiene esta sección, por lo que deberá añadir manualmente el nombre de la sección ([marketplace]) y las siguientes cadenas de texto en función de lo que desee personalizar: si desea cambiar la URL de la tienda online que vende el Panel y sus añadidos: panelandaddonslicensesstore =

37 Descripción de Operaciones de Configuración 37 si desea cambiar la URL de la tienda online que vende licencias de las aplicaciones del Marketplace: url = si desea vender Paquetes de Usuario del Panel con un servicio que no es el usado para las aplicaciones del Marketplace: userpacksurl = si desea cambiar la URL del servicio de venta de certificados CA: buysslcertificatesurl = si desea cambiar la URL del servicio de registro de nombres de dominio: registerdomainsurl =

38 38 Descripción de Operaciones de Configuración Configurando el DNS <SMB_panel> se instala junto con un servidor DNS, que se configura como servidor de nombres principal para los dominios creados y alojados en el Panel. Cuando aprovisione el Panel, puede desactivar el servicio DNS o configurarlo según sus necesidades particulares. Si en su entorno de trabajo ya tiene configurado un servidor de nombres que sirve a todos los dominios alojados, lo más probable es que no necesite otro servidor DNS en cada servidor con la instancia del Panel. También deseamos destacar que si dispone de un entorno Parallels Containers, los Contenedores con el Panel donde se ejecute el servidor DNS consumirán más recursos, lo que reduce la densidad del conjunto de entorno de alojamiento. Si desea que las zonas DNS de los dominios gestionados por el Panel estén servidas por un servidor DNS remoto, desactive el servicio DNS cuando aprovisione una instancia del Panel. Si sus clientes deciden que sus dominios estén servidos por un servidor DNS local, siempre puede activarlo más adelante. Si desea que los dominios gestionados por el Panel estén servids por un servicio DNS local, siempre puede modificar las zonas DNS de la forma más adecuada. El Panel proporciona una plantilla de zona DNS totalmente personalizable, que contiene plantillas del SOA del DNS y registros de otros recursos. Cuando se cree una cuenta de dominio, su zona DNS se creará basándose en la plantilla. Así, para definir zonas DNS para los dominios gestionados por el Panel, sólo deberá editar la plantilla de la zona DNS. Vínculos Rápidos Configurando el DNS a través de la API remota (en la página 98) Configurando el DNS a través del CLI (en la página 211) En esta sección: Cambiando la Plantilla del Registro SOA Configurando Plantillas de Registro de Recursos... 39

39 Descripción de Operaciones de Configuración 39 Cambiando la Plantilla del Registro SOA La plantilla del Panel del registro SOA permite cambiar los siguientes campos del registro: ttl (período de vida) Refresh Retry Expire Minimum (sólo CLI Unix) sn (= número de serie) formato Formato del número de serie de zona: yyyymmdd o marca de tiempo (time stamp) Unix Configurando Plantillas de Registro de Recursos La plantilla del Panel de zona DNS soporta los siguientes tipos de registro de recursos: A NS CNAME MX PTR TXT AXFR SRV

40 40 Descripción de Operaciones de Configuración Instalando Certificados SSL El uso del protocolo Secure Sockets Layer (SSL) en un dominio requiere tener instalado un certificado SSL. En el Panel, los certificados SSL se conectan a los dominios a través de direcciones IP: se asigna un certificado a una dirección IP y este certificado se utiliza cuando se accede a un dominio alojado en esta IP. De hecho, el certificado se usará cuando intente acceder a todos los dominios alojados en esta IP a través de https. Así, para instalar un certificado SSL deberá importar un certificado al Panel y asignarlo a una dirección IP. Cuando se cree una cuenta de dominio en esta IP, el parámetro de alojamiento de dominio Soporte para SSL se activará de forma automática y el certificado instalado será el utilizado para acceder al dominio. Vínculos Rápidos Instalando certificados SSL a través de la API remota (en la página 126) Instalando certificados SSL a través de CLI (en la página 217)

41 Descripción de Operaciones de Configuración 41 Creando Dominios y Subdominios Dominios El proceso de creación y configuración de dominios y subdominios ha sido rediseñado en Parallels Small Business Panel para que resulte más fácil que nunca. La idea es que cuando cree un dominio o un subdominio, usted simplemente tenga que especificar los parámetros esenciales de alojamiento y que el resto de parámetros se definan automáticamente de la forma más apropiada. Así, para crear un dominio, deberá indicar los siguientes argumentos: Nombre de dominio. Dirección IP. Si la dirección IP está asociada a un certificado SSL (en la página 40), el soporte para SSL se habilitará automáticamente para el dominio creado en esta IP. Propiedades requeridas para el alojamiento Web: nombre de usuario y contraseña de la cuenta FTP que se utilizará para la carga del contenido del sitio Web. Cuando se instale una aplicación Web en un dominio, el Panel definirá automáticamente los servicios requeridos para la aplicación. Este es el motivo por el que sólo debe indicar las opciones de alojamiento de dirección IP y las credenciales FTP durante la creación del dominio. Vínculos Rápidos Creando dominios a través de la API remota (en la página 133) Creando dominios a través del CLI (en la página 219) Subdominios Cuando cree un subdominio, al menos debe indicar el nombre del prefijo del subdominio y el dominio paterno (principal). Generalmente, el contenido de un subdominio se encuentra en el directorio /httpdocs/subdomains/subdomain-name del host virtual del dominio. El Panel para Windows también soporta los denominados subdominios en subcarpeta - subdominios mapeados a cualquier directorio presente en la carpeta /httpdocs. Esto es especialmente útil si desea que pueda accederse a una aplicación Web instalada como si fuera un subdominio. Por ejemplo, una aplicación WordPress suele poderse acceder a través de URLs como es decir Con un subdominio como subcarpeta, se puede acceder a la aplicación en Para crear un subdominio normal, indique el nombre del dominio paterno (principal), el nombre del subdominio y las propiedades de hosting de este.

42 42 Descripción de Operaciones de Configuración Nota: Por defecto, puede accederse al contenido del subdominio usando la misma cuenta FTP que el dominio paterno. Así, la indicación de las propiedades de la cuenta FTP es totalmente opciones y sólo será necesaria si se requiere otra cuenta FTP para acceder al contenido del subdominio. Para crear un subdominio en una subcarpeta (sólo soportado en Windows), indique el nombre de un dominio/subdominio principal, el nombre del subdominio y la ruta a la carpeta donde se ha creará el subdominio. Nota: En el caso de subdominios en una subcarpeta, no se puede crear otra cuenta de usuario FTP: siempre se utilizará la cuenta de usuario FTP de un dominio/subdominio principal. Vínculos Rápidos Creando subdominios a través de la API remota (en la página 139) Creando subdominios a través del CLI (en la página 220) Instalando Aplicaciones Parallels Small Business Panel soporta aplicaciones APS. Se trata de aplicaciones Web paquetizadas en formato APS - Application Provisioning Standard (http://www.apsstandard.org/), que proporcionan el modelo de SaaS a la empresa de hosting. Parallels distingue el término paquete de aplicación - un archivo comprimido que contiene la aplicación Web paquetizada según la forma definida por el formato APS. Como contraposición a la propia aplicación, que se instala desde el paquete. La instalación de una aplicación en un dominio o subdominio se realiza en dos fases: 1. Obtención del paquete de aplicación e importación de la misma al Panel. 2. Instalación de la aplicación desde el paquete presente en un dominio o subdominio. Vínculos Rápidos Instalando aplicaciones a través de la API remota (en la página 148) Instalando aplicaciones a través del CLI (en la página 222) En esta sección: Importando Paquetes de Aplicación Instalando una Aplicación... 43

43 Descripción de Operaciones de Configuración 43 Importando Paquetes de Aplicación Un paquete de aplicación puede obtenerse e importarse de dos formas: Se carga un paquete, segurament autocreado, manualmente al host donde está instalado el Panel y entonces se importa manualmente al Panel. Se descarga y se importa automáticamente un paquete al Panel desde un Catálogo APS (un servicio web que proporciona acceso a paquetes de aplicación almacenados de forma remota). Puede descargar e importar numerosas aplicaciones a la vez y el Panel soporta el seguimiento del estado de la descarga. El Panel soporta la obtención de paquetes de aplicación desde múltiples instancias del Catálogo APS. Los Catálogos APS disponibles se describen en el Archivo de configuración de Catálogos APS (en la página 44), que puede personalizarse para que se adecúe a la instancia del Panel en un entorno de alojamiento determinado. Instalando una Aplicación Una vez instalada la aplicación, deberá especificar lo siguiente: El paquete de aplicación desde el que se instala la aplicación. Identificación por información de nombre-versión-lanzamiento o por el ID del paquete. Estos datos pueden obtenerse recuperando los paquetes disponibles. La recuperación de los paquetes disponibles tiene como resultado la obtención de una lista detallada de los paquetes de aplicación importados al Panel, incluyendo los identificadores requeridos. Subdominio o dominio de destino. Propiedades de instalación. Estas opciones son específicas para cada aplicación y siempre puede haber aplicaciones que no dispongan de opciones o propiedades de instalación. La API del Panel no soporta la obtención de información acerca de las propiedades de la aplicación, por lo que deberá obtenerla utilizando la API del Catálogo APS (http://www.apsstandard.org/r/doc/aps-catalog-1.1-api/index.htm) o analizando el archivo de metadatos del paquete. El formato APS se describe en las Especificaciones del Formato APS en

44 44 Descripción de Operaciones de Configuración Definiendo los Catálogos APS Disponibles La lista de Catálogos APS definida en el archivo de configuración tiene dos finalidades: 1. Las aplicaciones de estos catálogos pueden instalarse directamente en un dominio a través de la API del Panel. Nota: No se pueden instalar aplicaciones desde un catálogo APS que no esté presente en el archivo de configuración. 2. Estos catálogos se muestran a los usuarios del Panel en la pantalla Aplicaciones y Scripts y los usuarios pueden instalar las aplicaciones por ellos mismos. El Catálogo APS es un nombre generalizado para el servicio, que puede adoptar las siguientes formas: Catálogo APS en apscatalog.com (http://apscatalog.com). Servicios oficial de Catálogo APS soportado por Parallels. Importante: Es muy importante que apscatalog.com muestre la configuración cuando se migren sitios web con aplicaciones APS al Panel a través de backup/restauración. Catálogo APS personalizado, un mirror local del servicio desplegado dentro del entorno de alojamiento y que proporciona acceso a determinadas aplicaciones. Si desea más información acerca del proceso de implementación de un mirror local del Catálogo APS, consulte la documentación presente en el sitio oficial de APS Standard en Así, puede que desee definir los Catálogos APS disponibles en los siguientes casos: a Cuando aprovisione el Panel y desee instalar aplicaciones desde su Catálogo APS personalizado. En este caso, deberá añadir una entrada para su Catálogo al archivo de configuración. b Cuando desee que los usuarios del Panel puedan acceder a su Catálogo APS o a los catálogos proporcionados de forma predeterminada por Parallels. En esta caso, deberá añadir una entrada para su Catálogo al archivo de configuración y, de forma opcional, eliminar las entradas existentes. c Cuando desee que los usuarios del Panel no puedan acceder a ningún Catálogo APS. En este caso, deberá eliminar todas las entradas del archivo de configuración. Para editar la lista de Catálogos APS disponibles, deberá realizar las siguientes acciones: 1. Modifique la muestra de Catálogos APS (en la página 46) en función de sus necesidades. 2. Importe su archivo de configuración al Panel utilizando los siguientes métodos: Copiando su archivo de configuración personalizado y reemplazando el archivo predeterminado a través del método estándar del SO Importándolo utilizando el API de aprovisionamiento del Panel

45 Descripción de Operaciones de Configuración 45 Vínculos Rápidos Definiendo los Catálogos APS disponibles a través de la API remota (en la página 144) Definiendo los Catálogos APS disponibles a través de CLI (en la página 221) En esta sección: Archivo de Configuración de Catálogos APS... 46

46 46 Descripción de Operaciones de Configuración Archivo de Configuración de Catálogos APS Ubicación En Linux/Unix: /usr/local/psa/admin/smb/application/config/aps/catalogs.ini Formato En Windows: %plesk_dir%\admin\smb\application\config\aps\catalogs.ini El archivo de configuración de los Catálogos APS es un documento de texto que presenta el siguiente formato: [apscatalog] ;Palabra clave que actúa como identificador interno del recurso de aplicaciones APS. type = apscatalog ;Definición del tipo de recurso de aplicaciones APS, que puede ser marketplace o apscatalog ;marketplace es un tipo utilizado para denotar el servicio Marketplace de Aplicaciones ;apscatalog es un tipo común que debería usarse para cualquier Catálogo APS (servicio Catálogo APS oficial y mirrors locales) url = ;URL de recursos de aplicaciones APS [marketplace] type = marketplace url = protocol = all-app [APSCatalogLocalMirror] type = apscatalog name.en-us = APS Catalog (local) ;Nombre del recurso de aplicaciones APS tal y como se mostrará en el GUI del Panel en el idioma correspondiente description.en-us = Local instance of APS catalog ;Descripción del recurso de aplicaciones APS tal y como se mostrará en el GUI del Panel en el idioma correspondiente

47 url = apscatalog.example.com Descripción de Operaciones de Configuración 47

48 C A P Í T U L O 5 Configurando a través de la API Remota Este capítulo se centra en la realización de la configuración del Panel a través de la API remota del Panel. La sección Usando la API Remota (en la página 49) incluye la descripción del protocolo RPC de la API así como ejemplos de herramientas utilizadas para interactuar con un servidor administrador por el Panel a través del protocolo. La sección Configurando el Panel (en la página 87) describe en detalle los mensajes de petición que una herramienta de terceros debería emitir para realizar operaciones de configuración en el Panel, así como los mensajes de respuesta recibidos cuando se completa cada operación. En Este Capítulo: Usando la API Remota Configurando el Panel... 87

49 Configurando a través de la API Remota 49 Usando la API Remota Esta sección explica el funcionamiento de la API remota y detalla el procedimiento de creación de una aplicación cliente que se comunicará con el Panel a través de la API remota. En esta sección: Acerca de la API Remota Paquetes RPC para la API Creando software cliente... 56

50 50 Configurando a través de la API Remota Acerca de la API Remota Para soportar la interacción entre el Panel y softwares de terceros, el Panel propociona una API basada en XML. Este interfaz expone un conjunto de funciones para la administración de los objetos lógicos del Panel. El protocolo RPC de la API ha sido diseñado a través del llamamiento remoto de estas funciones de la API. Se trata del protocolo XML-over-HTTP, que intercambia datos en forma de paquetes con un formato específico. La interacción entre el Panel y el software de terceros se basa en el modelo de programación cliente-servidor. Imagen 1:Interacción entre Parallels Panel y software cliente de terceros La parte servidor es representada por el servidor RPC de la API del Panel (en este documento denominado el servidor) que es una parte del Panel. El software de parte-cliente debe ser creado por un tercero. El escenario de interacción es el siguiente: 1. La aplicación cliente forma un paquete de petición basado en XML (a partir de ahora denominado paquete RPC de API o el paquete), añade una cabecera HTTP estándar y la envía al servidor. 2. El servidor recibe el paquete, lo valida y llama a las funciones internas del Panel para que realicen las operaciones solicitadas. 3. El servidor forma el paquete de respuesta que contiene los detalles acerca de la operación realizada y lo devuelve. 4. El cliente recibe este paquete resultante (el estado de la operación y, posiblemente, un mensaje de error o los parámetros de la operación) y recupera la información. La interacción finaliza. Versiones de API Soportadas La versión actual del Panel sólo soporta la versión del protocolo RPC de la API.

51 Configurando a través de la API Remota 51 Paquetes RPC para la API El paquete RPC de la API simplemente es un documento XML incluido en un cuerpo de mensaje HTTP. En Parallels distinguimos dos tipos de paquetes: Paquetes de petición - formados por el software de parte de cliente y enviado al servidor a través de la API remota Paquetes de respuesta - formados por el servidor y enviados al cliente Un paquete de respuesta contiene el estado de ejecución de la operación solicitada y puede contener un mensaje de error si la operación no ha podido realizarse correctamente. En esta sección: Estructura del Paquete Muestra de Paquete Validación de Paquetes... 55

52 52 Configurando a través de la API Remota Estructura del Paquete En Parallels distinguimos las siguientes partes de paquete RPC de la API: 1. Cabecera HTTP - parte de transporte. Aparte de otra información estándar, esta debe contener los datos sobre el servidor donde se realizará la operación y las credenciales del administrador del Panel. 2. Cabecera del paquete que indica la versión del protocolo RPC de la API. 3. Cuerpo del paquete que define las operaciones que debería realizar el servidor. La estructura del paquete es la siguiente: <[operator]> <[operation]> <[parameter1]> </[parameter1]>... <[parameter2]> </[parameter2]> </[operation]> </[operator]> Este ejemplo muestra la estructura común del cuerpo del paquete, con un elemento [operator] que incluye un elemento [operation]. En una implementación determinada, las etiquetas [operator], [operation], [parameter] deberían reemplazarse por los operadores, operaciones y parámetros reales. Importante: Pueden existir numerosas secciones de operación dentro de un operador y muchas secciones de operador en un único paquete. En este documento, nos referiremos a la cabecera y el cuerpo de un paquete XML como un paquete.

53 Configurando a través de la API Remota 53 Muestra de Paquete A continuación le mostramos un ejemplo de un mensaje de petición RPC de la API enviado al servidor: POST /enterprise/control/agent.php HTTP/1.1 Host: :8443 Accept: / HTTP_AUTH_LOGIN: admin HTTP_AUTH_PASSWD: setup Pragma: no-cache Content-Length: 1398 Content-Type: text/xml <?xml version= 1.0 encoding= UTF-8 standalone= no?> <packet version= > <smb> <initial_setup> <password>p4$$w0rd</password> </admin_ > <locale>de-de</locale> </initial_setup> </smb> Cabecera HTTP La cabecera HTTP indica que el método HTTP utilizado es POST, el agente controlador se encuentra en /enterprise/control/agent.php y que la versión de HTTP es 1.1. El elemento Host indica la dirección IP y el puerto del servidor del Panel al que se dirije el mensaje. Los elementos HTTP_AUTH_LOGIN y HTTP_AUTH_PASSWD contienen las credenciales de acceso del administrador del Panel. Content-Type debe ser text/xml. También se requiere la longitud del mensaje transferido. Principio de la parte XML Cabecera del paquete El atributo version indica la versión requerida del protocolo RPC de la API del Panel. Cuerpo del paquete Siempre empieza por la etiqueta del operador relacionado. Este paquete en cuestión utiliza el operador smb para inicializar un software del Panel acabado de instalar. Los elementos anidados dentro del nodo initial_setup contienen los datos necesarios para inicializar el Panel: el y la contraseña del administrador del Panel y el idioma del panel. Etiqueta final que cierra el paquete Los paquetes de petición y respuesta tienen una estructura parecida, aunque las cabeceras y cuerpos HTTP tienen una apariencia dispar. El mensaje enviado por el servidor en respuesta a la petición mostrada arriba podría tener el siguiente formato: HTTP/ OK Transfer-Encoding: chunked Content-Type: text/html Date: Fri, 03 Apr :54:56 GMT Server: sw-cp-server/1.0.0 <?xml version= 1.0 encoding= UTF-8 standalone= no?> Cabecera estándar del mensaje de respuesta HTTP del servidor El tipo MIME es text/xml. El elemento Server muestra que la petición ha sido gestionada por el Panel a nivel de servidor. Cabecera estándar de un documento XML válido

54 54 Configurando a través de la API Remota <packet version= > <smb> <initial_setup> <result> <status>ok</status> </result> </initial_setup> </smb> Cabecera de paquete XML Cuerpo del paquete El nodo raíz del cuerpo del paquete es el operador smb. Las líneas anidadas indican que el inicio del Panel se ha realizado correctamente. Etiqueta final que cierra el paquete

55 Configurando a través de la API Remota 55 Validación de Paquetes El servidor RPC de la API del Panel se estructura como un conjunto de agentes - u operadores - gestionados por el Motor del Agente. Cada agente tiene un bloqueo lógico responsable de la gestión de un determinado grupo de comandos y el Motor de Agente actúa como distribuidor de paquetes. Asimismo, el Motor de Agente está asociado a numerosos juegos de archivos de esquema XML. Cada conjunto de archivos está relacionado con una determinada versión de RPC de la API. Un punto de entrada a cada versión es el archivo agent_input.xsd que referencia todos los esquemas de entrada de la misma versión. El servidor RPC de la API del Panel funciona de la siguiente manera: En primer lugar, el paquete XML puro, sin la cabecera HTTP, contacta con el Motor de Agente. Este Motor de Agente recupera la versión de RPC de la API desde la cabecera del paquete, selecciona el conjunto de esquemas XML coincidentes y cambia al esquema agent_input.xsd adecuado. Este esquema valida el nivel de operador del paquete, entonces cada sección del operador del paquete se valida con el esquema subsecuente adecuado. Imagen 2: Validación de paquetes a nivel de servidor Si el paquete se considera no válido, el Motor de Agente forma un informe de error y lo envía al cliente. Si todos los elementos del paquete se validan correctamente, el Motor de Agente comprueba si este tiene todos los módulos del agente requeridos para su posterior procesamiento y los invoca de uno en uno. Cada agente (operador) invocado recibe su sección de paquete del operador, lo transfiere y forma llamadas a funciones internas. Entonces devuelve el resultado de los comandos ejecutados al Motor del Agente.

56 56 Configurando a través de la API Remota Creando software cliente La aplicación cliente debería implementar los siguientes pasos de intercambio de datos: conversión del comando solicitado a un paquete XML habilitado para RPC de la API preparación del paquete para su entrega a través de HTTP y envío al Panel recepción de respuesta del Panel y extracción de la información resultante del paquete Imagen 3: Estructura de aplicaciones a nivel de cliente La ilustración que aparece arriba muestra de qué forma puede estructurarse una aplicación cliente y de qué forma esta estructura sirve la respuesta de datos. Cada módulo de esta aplicación de muestra es responsable de una tarea determinada, es decir: 1. El Creador de paquetes XML acepta un comando del GUI de la aplicación o de un módulo de terceros. El creador de paquetes XML contiene un conversor comando-a-xml para cada uno de los comandos conocidos. El formato del paquete XML resultante es totalmente compatibles con la versión RPC de la API soportada por la aplicación cliente. 2. El remitente de paquetes HTTP acepta el paquete XML. El paquete no contiene información acerca del servidor de destino ni de los detalles de acceso, por lo que el remitente de paquetes HTTP deberá almacenar estas opciones o bien obtenerlos bajo petición. El remitente de paquetes HTTP forma una cabecera HTTP con las credenciales del usuario del Panel y envía el paquete al servidor RPC de la API del Panel a través del protocolo RPC de la API. 3. El receptor de paquetes HTTP obtiene el paquete HTTP resultante del servidor, elimina la cabecera HTTP y mueve la respuesta XML pura al transportador de paquetes XML. 4. El transportador de paquetes XML analiza el estado de ejecución del paquete XML de respuesta y forma un mensaje de error si el resultado es negativo. Entonces envía los datos extraídos y gestionados al GUI o al módulo pertinente. La ilustración que aparece arriba muestra las operaciones HTTP como una parte de la librería HTTP. De hecho, estas oepraciones pueden implementarse desde cero, pero la opción más fácil es usar alguna librería HTTP analizada y ya prediseñada. La división entre el remitente HTTP y el receptor HTTP es condicional: Esto es así para poder separar las operaciones HTTP de envío y recepción de froma gráfica.

57 Configurando a través de la API Remota 57 En esta sección: Creando Paquetes de Petición Enviando Mensajes de Petición Transfiriendo la Respuesta Gestionando Errores Muestras de Código Cliente Creando Paquetes de Petición En el paso de formación el paquete RPC de petición de la API, la aplicación cliente obtiene el comando del GUI o de un módulo de software para realizar una determinada operación (o múltiples operaciones) en uno o más objetos del Panel. La aplicación debería convertir el comando solicitado al formato de un paquete XML compatible con la API XML del Panel. Para implementar el conversor comando-a-paquete-xml, tenga en cuenta cómo se estructuran los paquetes RPC de la API y cómo son procesador por el servidor del Panel (en la página 51). Para añadir la validación del paquete de petición creado a su conversor, utilice el conjunto de archivo de esquema XML de la instalación del Panel: PRODUCT_ROOT_D/admin/htdocs/schemas/rpc/ en Linux/Unix donde PRODUCT_ROOT_D es una variable que define el directorio de instalación del Panel. %plesk_dir%\admin\htdocs\schemas\rpc\ en Windows donde %plesk_dir% es una variable que define el directorio de instalación del Panel. Compruebe que utiliza agent_input.xsd como punto de entrada de validación.

58 58 Configurando a través de la API Remota Enviando Mensajes de Petición Una vez el paquete RPC de la API del Panel esté preparado, esté debería ajustarse a la cabecera HTTP y enviarse al servidor especificado. Para realizar estas tareas, le sugerimos que use cualquier librería cliente de HTTP/FTP. Esta sección detalla de qué forma puede realizarse esta acción en PHP usando el motor CURL - una librería de transferencia URL de lado de cliente abierta y gratuita soportada en PHP y versiones posteriores. Para formar la cabecera HTTP, el motor CURL requiere los siguientes parámetros: La URL del servidor de destino formada como string en el siguiente formato: define ( HOST, ); define ( PORT, 8443); define ( PATH, enterprise/control/agent.php ); $url = https://. HOST. :. PORT. /. PATH; La matriz de los elementos de una cabecera es la siguiente: $headers = array( HTTP_AUTH_LOGIN: admin, HTTP_AUTH_PASSWD: setup, Content-Type: text/xml ); Entonces se inicia el motor CURL y se configura para que use HTTPS. Asimismo, se le transfieren todos los parámetros requeridos para la cabecera HTTP: // inicializar el motor curl $ch = curl_init(); // set the curl options: // do not check the name of SSL certificate of the remote server curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // do not check up the remote server certificate curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // transfiere los elementos de la cabecera curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // transfiere la URL del servidor de destino curl_setopt($ch, CURLOPT_URL, $url);

59 Configurando a través de la API Remota 59 Otro parámetro requerido por el motor CURL es el paquete RPC para la API del Panel. Supongamos que el paquete está formado de la siguiente forma: $packet = <<<EOP <?xml version= 1.0 encoding= UTF-8?> <packet version= > <smb> <initial_setup> <password>p4$$w0rd</password> </initial_setup> </smb> EOP; Ahora déjenos decirle al motor CURL que esperamos una petición del servidor, transfiera el paquete a entregar y desencadena la transferencia: // diga a CURL que devuelva el resultado en vez de cargarlo al navegador curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // transfiera el paquete a entregar curl_setopt($ch, CURLOPT_POSTFIELDS, $packet); // realice la petición CURL y devuelva el resultado $retval = curl_exec($ch); // cierre la sesión CURL curl_close($ch); Una vez realizada la petición, CURL obtiene el paquete HTTP resultante a nivel de cliente, elimina la cabecera HTTP y la variable $retval obtiene la part XML pura del paquete de respuesta.

60 60 Configurando a través de la API Remota Transfiriendo la Respuesta Puede utilizar cualquier biblioteca cliente HTTP/FTP para transferir la petición al Panel y obtener el resultado. Generalmente, el paquete HTTP resultante se estructurará tal y como se describe en la sección Estructura del Paquete (en la página 52). Si utiliza el motor CURL, el resultado se devolverá en formato XML puro. La estructura del paquete XML devuelto por el servidor RPC de la API del Panel se define por esquemas XML. El Paquete es un nodo raíz de cada paquete de respuesta XML, el atributo version devuelve la versión del protocolo RPC de la API del PAnel que se está ejecutando en el servidor. Un paquete de respuesta contiene la respuesta de determinados operadores o el error de aplicación del Panel devuelto en el nodo system. Si desea más información acerca del significado de los nodos system y output, consulte la sección Gestionando Errores (en la página 62). Para examinar la estructura de las respuestas, necesita el esquema agent_output.xsd. Este esquema numera los tipos de datos de respuesta para todos los operadores soportados por un determinado RPC de la API, además de indicar los esquemas de salida que coinciden con estos operadores. En cada elemento [operator] de un paquete de respuesta, un tipo de datos de respuesta típico contiene uno o más elementos result. Este elemento se representa por un tipo complejo que generalmente incluye el tipo resulttype definido en el esquema common.xsd de la siguiente manera: <xs:complextype name= resulttype > <xs:sequence> <xs:element name= status type= result_status ></xs:element> <xs:element name= errcode type= unsignedint minoccurs= 0 ></xs:element>

61 Configurando a través de la API Remota 61 <xs:element name= errtext type= xs:string minoccurs= 0 ></xs:element> </xs:sequence> </xs:complextype> El elemento result también puede contener elementos opcionales anidados, si se han definido en el tipo complejo. Generalmente, el formato del paquete devuelto por el servidor RPC de la API del Panel tiene el siguiente formato: <?xml= 1.0 encoding= UTF-8?> <packet version= > <[operator]> <[operation]> [ ] <result>... </result> <result>... </result>... <result>... </result> </[operation]> </[operator]> Aquí, el [operator] es el operador utilizado en el paquete de petición y [operation] es la operación realizada. El elemento RESULT siempre se usa para aislar la información solicitada y el estado de ejecución de la operación realizada. La sección RESULT siempre contiene el elemento STATUS, que contiene el estado de ejecución de la operación realizada. Nota: Un paquete de respuesta XML real puede contener más de una operación en la sección del operador si el paquete de entrada solicitó múltiples operaciones y un paquete de respuesta puede contener más de una sección de operador si el paquete de entrada solicitó operaciones en múltiples objetos del Panel.

62 62 Configurando a través de la API Remota Gestionando Errores La parte de servidor informa acerca de dos tipos de errores al software cliente, que son los errores de comprobación y los errores de ejecución (relacionado con la ejecución de la operación solicitada). Si aparece un error de cualquiera de estos tipos, su descripción devuelta por el servidor gestionado por el Panel siempre incluirá los siguientes parámetros: status con valor error errcode código de error, un número de identificación único para el error errtext mensaje de error, una descripción leíble del error Una descripción de error se define por el tipo resulttype en el esquema common.xsd (en la mayoría de los casos) o por los tipos basados en este (en función del operador). Errores de comprobación El paquete HTTP entrante se somete a numerosas comprobaciones a nivel de servidor antes de coniderarse válido y preparado para la ejecución. A continuación detallamos algunas de estas comprobaciones: comprobación de la cabecera HTTP-POST comprobación para ver si se soporta la versión indicada del protocolo RPC de la API comprobación del método de autenticación (credenciales de acceso o clave secreta) comprobación del estado del permiso remote_access_interface del usuario... comprobación de la validez del paquete comprobación de la disponibilidad de los agentes requeridos en la versión actual del Panel Cualquiera de estas comprobaciones puede no realizarse correctamente, lo que impedirá realizar más comprobaciones y ejecutar comandos. Como la parte de servidor se ha atascado en uno los pasos de comprobación preliminares (es decir, aún no se ha ejecutado la operación solicitada), el paquete de respuesta se forma con los siguientes elementos: system que contiene una descripción del error; definido por el tipo resulttype en el esquema common.xsd output, un elemento opcional que contiene un mensaje extraído de stderr (si no está en blanco) del componente que ha desencadenado el error; definido por el tipo garbageoutput en el esquema plesk_common.xsd Por ejemplo, la respuesta recibida del servidor RPC de la API del Panel cuando intente usar una versión no existente del protocolo RPC de la API tendrá el siguiente formato: <packet version= > <system>

63 Configurando a través de la API Remota 63 <status>error</status> <errcode>1005</errcode> <errtext>api RPC protocol version not supported.</errtext> </system> <output> </output> Errores de ejecución Si todas las comprobaciones se han realizado correctamente, los agentes seleccionados intentan ejecutar las operaciones solicitadas en series. Si alguna operación no puede realizarse correctamente, el agente relacionado informa acerca del error de ejecución. Todos los informes son recopilados por el Motor del Agente, que forma un paquete de respuesta basado en los esquemas XML de salida. Por ejemplo, si no se ha podido crear un dominio, el operador domain formará una respuesta de error utilizando el esquema domain_output.xsd: <packet version= > <domain> <add> <result> <status>error</status> <errcode>2300</errcode> <errtext>failed to add domain.</errtext> </result> </add> </domain> Muestras de Código Cliente Esta sección presente aplicaciones cliente de muestra en PHP, C# y VB.NET que ilustran de qué forma debe utilizarse el protocolo RPC de la API. En esta sección: Aplicaciones Cliente PHP C# Client Application Aplicación Cliente de VB.NET... 78

64 64 Configurando a través de la API Remota Aplicaciones Cliente PHP El siguiente código de ejemplo muestra una aplicación cliente lista para usar y escrita en PHP. Importante: Si desea utilizar este ejemplo, compruebe que dispone de PHP o una versión posterior. Si desea más información, visite o Comentarios class ApiRequestException function domainsinforequest() function curlinit() Amplía el tipo estándar de Excepción. Visite para más información. Usa el modelo DOM para componer un paquete de petición XML. Devuelve el objeto DOM resultante. Inicializa la sesión CURL con las opciones requeridas de la siguiente forma: CURLOPT_URL CURLOPT_RETURNTRANS FER CURLOPT_POST CURLOPT_SSL_VERIFYPE ER CURLOPT_SSL_VERIFYHO ST CURLOPT_HTTPHEADER indica la URL de destino definida a true significa que la salida resultante será devuelta desde el servidor en forma de una string. definida a true significa que el paquete será enviado a través de HTTP POST. definida a false detiene CURL para que no compruebe el certificado del mismo nivel. definida a false detiene CURL para que no realice ninguna comprobación con el host. indica una matriz de campos de cabecera HTTP a definir.

65 Configurando a través de la API Remota 65 Devuelve el controlador de la sesión URL. function sendrequest() function parseresponse() function checkresponse() Envía el paquete HTTP a través de CURL y obtiene el paquete puro de respuesta XML (sin la cabecera HTTP). Cierra la sesión CURL y devuelve el paquete resultante (un texto sin formato con etiquetas XML). Si desea más información acerca del motor CURL, visite Obtiene el paquete de respuesta (texto sin formato) como un parámetro. Analiza el paquete utilizando SimpleXML y devuelve el objeto SimpleXMLElement, donde el paquete se estructura como un árbol. Si desea más información acerca de la extensión de SimpleXML de PHP, visite Obtiene el paquete de respuesta del tipo SimpleXMLEelement y comprueba el nodo result. Si el nodo presenta error, la función devolverá una excepción con una cadena pasada en el nodo errtext. La función main() invoca estas funciones en el orden considerado. En primer lugar llama a domaininforequest() para que forme un paquete de la siguiente manera: <?xml version= 1.0 encoding= UTF-8?> <packet version= > <domain> <get> <filter/> <dataset> <limits/> <prefs/> <user/> <hosting/> <stat/> <gen_info/> </dataset> </get> </domain>

66 66 Configurando a través de la API Remota Entonces se llama a curlinit() para inicializar la sesión CURL con opciones. La función sendrequest envía un paquete con la cabecera HTTP de la siguiente forma: POST /enterprise/control/agent.php HTTP/1.1 Host: :8443 HTTP_AUTH_LOGIN: login HTTP_AUTH_PASSWD: qwedsa HTTP_PRETTY_PRINT: true Content-Length: 294 Content-Type: text/xml El paquete XML de respuesta recibido del servidor gestionado por el Panel tiene el siguiente formato: <?xml version= 1.0 encoding= UTF-8?> <packet version= > <domain> <get> <result> <status>ok</status> <id>1234</id> <value> <gen_info> <cr_date> </cr_date> <name>example.com</name> <display_name>example</display_name> <status>64</status> <real_size>0</real_size> <client_id>46</client_id> <dns_ip_address> </dns_ip_address> <htype>none</htype> </gen_info> </value> </result> </get> </domain>

67 Configurando a través de la API Remota 67 Una vez se ha recibido y analizado el paquete de respuesta con la función parseresponse(), el elemento de iteración foreach propaga los contenidos del nodo result. Muestra de código <?php /** Informa de un error durante la petición RPC de la API */ class ApiRequestException extends Exception {} /** Devuelve el objeto DOM que representa la petición para la información acerca de los dominios DOMDocument */ function domainsinforequest() { $xmldoc = new DomDocument( 1.0, UTF-8 ); $xmldoc->formatoutput = true; // <packet> $packet = $xmldoc->createelement( packet ); $packet->setattribute( version, ); $xmldoc->appendchild($packet); // <packet/domain> $domain = $xmldoc->createelement( domain ); $packet->appendchild($domain); // <packet/domain/get> $get = $xmldoc->createelement( get ); $domain->appendchild($get); // <packet/domain/get/filter> $filter = $xmldoc->createelement( filter ); $get->appendchild($filter); // <packet/domain/get/dataset> $dataset = $xmldoc->createelement( dataset ); $get->appendchild($dataset); // dataset elements $dataset->appendchild($xmldoc->createelement( hosting ));

68 68 Configurando a través de la API Remota } $dataset->appendchild($xmldoc->createelement( gen_info )); return $xmldoc; /** Prepara CURL para realizar la petición a la API del resource */ function curlinit($host, $login, $password) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, https://{$host}:8443/enterprise/control/agent.php ); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_HTTPHEADER, array( HTTP_AUTH_LOGIN: {$login}, HTTP_AUTH_PASSWD: {$password}, HTTP_PRETTY_PRINT: TRUE, Content-Type: text/xml ) ); return $curl; /** Realiza una petición a la API del Panel, devuelve un texto de respuesta de API sin procesar ApiRequestException */ function sendrequest($curl, $packet) { curl_setopt($curl, CURLOPT_POSTFIELDS, $packet); $result = curl_exec($curl); if (curl_errno($curl)) { $errmsg = curl_error($curl); $errcode = curl_errno($curl); curl_close($curl);

69 Configurando a través de la API Remota 69 throw new ApiRequestException($errmsg, $errcode); } } curl_close($curl); return $result; /** Detecta si la API ha respuesto con los datos correctos ApiRequestException */ function parseresponse($response_string) { $xml = new SimpleXMLElement($response_string); if (!is_a($xml, SimpleXMLElement )) throw new ApiRequestException( Cannot parse server response: {$response_string} ); } return $xml; /** Comprueba los datos presente en la respuesta de la ApiRequestException */ function checkresponse(simplexmlelement $response) { $resultnode = $response->domain->get->result; // comprueba si la petición ha sido correcta if ( error == (string)$resultnode->status) throw new ApiRequestException( The Panel API returned an error:. (string)$resultnode->result->errtext); } // // int main() // $host = ; $login = admin ; $password = qwedsa ; $curl = curlinit($host, $login, $password);

70 70 Configurando a través de la API Remota try { $response = sendrequest($curl, domainsinforequest()->savexml()); $responsexml = parseresponse($response); checkresponse($responsexml); } catch (ApiRequestException $e) { } echo $e; die(); // Explora el resultado foreach ($responsexml->xpath( /packet/domain/get/result ) as $resultnode) { echo Domain id:. (string)$resultnode->id. ; echo (string)$resultnode->data->gen_info->name. (. (string)$resultnode->data->gen_info->dns_ip_address. )\n ; }?> C# Client Application El siguiente código de ejemplo muestra una aplicación cliente lista para usar y escrita en C#. Comentarios La clase Request implementa el envío de un paquete de petición al servidor gestionado por el Panel a través de HTTP y envía el paquete de respuesta. Esta tiene los siguientes miembros: public string Hostname public string Login public string Password public string Protocol public ValidationEventHandler XmlSchemaValidation public string AgentEntryPoint Contiene el nombre del host (dirección IP) del servidor gestionado por el Panel al que se envía el paquete de petición. Por defecto es localhost. Contiene el nombre de usuario del administrador del Panel. Por defecto es admin. Contiene la contraseña del administrador del Panel. Por defecto es setup. Contiene la versión del protocolo RPC de la API utilizado para la interacción con el Panel. Un controlador usado para la recepción de los errores de validación de los esquemas. Contiene la URL del Agente del Panel que gestionará el paquete de petición a nivel de servidor.

71 Configurando a través de la API Remota 71 public string InputValidationSchema public string OutputValidationSchema public XmlDocument Send (XmlDocument) public XmlDocument Send (Stream) public XmlDocument Send (string) private HttpWebRequest SendRequest (string) private XmlDocument ParseAndValidate (TextReader, string) private XmlDocument GetResponse (HttpWebRequest) Contiene la URL del esquema de validación que se aplicará al paquete de petición antes de que este sea enviado a nivel de servidor. Contiene la URL del esquema de validación que se aplicará al paquete de respuesta una vez este sea recibido en el lado de cliente. Dispone el paquete de petición (en forma de objeto XmlDocument) en su parámetro de entrada. Envía una petición y obtiene la respuesta en forma de objeto XmlDocument. Dispone el paquete de la petición (un stream) en su parámetro de entrada. Valida el paquete de petición usando el esquema de validación agent_input.xsd. Invoca a la función del miembro Send(XmlDocument). Dispone la URI del paquete de petición (archivo XML) en su parámetro de entrada. Valida el paquete de petición usando el esquema de validación agent_input.xsd. Invoca a la función del miembro Send(XmlDocument). Foma una petición HTTP: incluye la cabecera HTTP y el paquete XML serializado al objeto de tipo HttpWebRequest. Devuelve este objeto. Dispone la URI del esquema agent_input.xsd y un lector de strings (con la URI del paquete XML a validar) en sus parámetros de entrada. Valida el paquete y lo devuelve estructurado como un árbol (un objeto XmlDocument). Dispone el paquete de petición HTTP (HttpWebRequest object) en su parámetro de entrada. Envía el paquete a través de HTTP, recibe el paquete de respuesta del servidor, lo valida utilizando el esquema agent_output.xsd y devuelve el paquete de respuesta XML estructurado como un árbol (un objeto XmlDocument).

72 72 Configurando a través de la API Remota La clase Program implementa la aplicación consola cliente. static void Main (string[]) private static bool RemoteCertificateValidation (object, X509Certificate, X509Chain, SslPolicyErrors) private static void XmlSchemaValidation (object, ValidationEventArgs) static void PrintResult(XmlDocument) Un punto de entrada a la aplicación PanelApiRpcClient. Obtiene una matriz de argumentos (strings) a su parámetro de entrada. Los argumentos son: [0] - el nombre de host (dirección IP) del servidor gestionado por el Panel, [1] - el nombre de usuario del administrador del Panel, [2] - la contraseña del administrador del Panel, [3] - el protoclo RPC de la API usado, [4] - una ruta del archivo XML con un paquete de petición XML. La función forma un paquete de petición de tipo Request (ver arriba), lo valida, envía una petición al Panel e imprime el paquete XML resultante. La función verifica el certificado SSL remoto para autenticar el servidor. Si el servidor no está autenticado, este devolverá false. Controlador de eventos de errores de validación. La función devuelve como resultado el paquete de respuesta (un objeto XmlDocument) a la consola.

73 Configurando a través de la API Remota 73 La aplicación cliente puede iniciarse desde la línea de comandos de la siguiente forma: PanelApiRpcClient admin_login admin_passwd c:\requests\addnewdomain.xml El paquete de petición se pasa en el archivo AddNewDomain.xml: <?xml version= 1.0 encoding= UTF-8?> <packet version= > <domain> <add> <gen_setup> <name>example.com</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_login</name> <value>fpt16se4fdf0</value> </property> <property> <name>ftp_password</name> <value>qweqwe</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain> El paquete de respuesta recibido del servidor tiene el siguiente formato: <?xml version= 1.0?> <packet version= > <domain> <add> <result> <status>ok</status>

74 74 Configurando a través de la API Remota <id>6</id> <guid>5c0e a bcc0-881d691bfdef</guid> </result> </add> </domain> Este paquete devuelve el resultado de la operación add con el ID y el GUID del dominio creado. Muestra de código using System; using System.Net; using System.Text; using System.IO; using System.Xml; using System.Xml.Schema; using System.Security.Cryptography.X509Certificates; using System.Net.Security; namespace PanelApiRpcClient { public class Request { // Interfaz público // public string Hostname = localhost ; // Nombre de host del Panel public string Login = admin_login ; // Nombre de usuario del administrador public string Password = admin_passwd ; // Contraseña del administrador public string Protocol = ; // Versión del Protocolo RPC para la API. // Controlador para la recepción de la información acerca de la definición de tipo de documento (DTD), // Esquema XML-Data Reduced (XDR) e idioma XML Schema Definition (XSD) // errores de validación de esquema. public ValidationEventHandler XmlSchemaValidation = null;

75 Configurando a través de la API Remota 75 public Request() { } public string AgentEntryPoint { get { return https:// + Hostname + :8443/enterprise/control/agent.php ; } } public string InputValidationSchema { get { return https:// + Hostname + :8443/schemas/rpc/ + Protocol + /agent_input.xsd ; } } public string OutputValidationSchema { get { return https:// + Hostname + :8443/schemas/rpc/ + Protocol + /agent_output.xsd ; } } public XmlDocument Send(XmlDocument packet) { HttpWebRequest request = SendRequest(packet.OuterXml); XmlDocument result = GetResponse(request); return result; } public XmlDocument Send(Stream packet) { using (TextReader reader = new StreamReader(packet)) { return Send(ParseAndValidate(reader, InputValidationSchema)); } } public XmlDocument Send(string packeturi) { using (TextReader reader = new StreamReader(packetUri)) { return Send(ParseAndValidate(reader, InputValidationSchema)); } // Interfaz privado // } // Enviando un mensaje de petición // private HttpWebRequest SendRequest(string message) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AgentEntryPoint); request.method = POST ; request.headers.add( HTTP_AUTH_LOGIN, Login); request.headers.add( HTTP_AUTH_PASSWD, Password); request.contenttype = text/xml ; request.contentlength = message.length; ASCIIEncoding encoding = new ASCIIEncoding(); byte[] buffer = encoding.getbytes(message);

76 76 Configurando a través de la API Remota using (Stream stream = request.getrequeststream()) { stream.write(buffer, 0, message.length); } return request; } // Transfiriendo y validando el paquete // private XmlDocument ParseAndValidate(TextReader xml, string schemauri) { XmlSchemaSet schemas = new XmlSchemaSet(); schemas.add(null, schemauri); XmlReaderSettings settings = new XmlReaderSettings(); if (XmlSchemaValidation!= null) settings.validationeventhandler += new ValidationEventHandler(XmlSchemaValidation); settings.validationtype = ValidationType.Schema; settings.validationflags = XmlSchemaValidationFlags.ProcessSchemaLocation; settings.schemas = schemas; XmlDocument document = new XmlDocument(); using (XmlReader reader = XmlTextReader.Create(xml, settings)) { document.load(reader); } return document; } private XmlDocument GetResponse(HttpWebRequest request) { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.getresponsestream()) using (TextReader reader = new StreamReader(stream)) { return ParseAndValidate(reader, OutputValidationSchema); } } class Program { }

77 Configurando a través de la API Remota 77 static void Main(string[] args) { if (args.length < 5) { Console.WriteLine( Usage: PanelApiRpcClient <Hostname> <Login> <Password> <Protocol> <Request> ); Console.WriteLine( ); Console.WriteLine( Hostname - Panel host name ); Console.WriteLine( Login - Administrator s login ); Console.WriteLine( Password - Administrator s password ); Console.WriteLine( Protocol - API RPC protocol version ); Console.WriteLine( Request - Request file path (*.xml) ); return; } // Verifica el certificado Secure Sockets Layer (SSL) remoto // usado para autenticación. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(RemoteCertificateValidation); Request request = new Request(); request.xmlschemavalidation = XmlSchemaValidation; request.hostname = args[0]; // ; request.login = args[1]; // admin ; request.password = args[2]; // setup ; request.protocol = args[3]; // ; string packet = args[4]; // request.xml ; try { XmlDocument result = request.send(packet); PrintResult(result); } catch (Exception e) { Console.WriteLine( Request error: {0}, e.message); } } // RemoteCertificateValidationDelegate invoca el siguiente método. private static bool RemoteCertificateValidation(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors) { if (sslpolicyerrors!= SslPolicyErrors.RemoteCertificateNotAvailable)

78 78 Configurando a través de la API Remota return true; Console.WriteLine( Certificate error: {0}, sslpolicyerrors); // No permitir a este cliente comunicarse con servidores no autenticados. return false; } // private static void XmlSchemaValidation(object sender, ValidationEventArgs e) { Console.WriteLine( Validation error: {0}, e.message); } static void PrintResult(XmlDocument document) { XmlTextWriter writer = new XmlTextWriter(Console.Out); writer.formatting = Formatting.Indented; document.writeto(writer); } writer.flush(); Console.WriteLine(); } } Aplicación Cliente de VB.NET La siguiente muestra de código presenta una aplicación cliente lista para usar y escrita en VB.NET. Comentarios La clase Request implementa el envío de un paquete de petición al servidor gestionado por el Panel a través de HTTP y envía el paquete de respuesta. Esta tiene los siguientes miembros: public string Hostname public string Login public string Password public string Protocol Contiene el nombre del host (dirección IP) del servidor gestionado por el Panel al que se envía el paquete de petición. Por defecto es localhost. Contiene el nombre de usuario del administrador del Panel. Por defecto es admin. Contiene la contraseña del administrador del Panel. Por defecto es setup. Contiene la versión del protocolo RPC de la API utilizado para la interacción con el Panel.

79 Configurando a través de la API Remota 79 public XmlSchemaValidation Public ReadOnly Property AgentEntryPoint Public ReadOnly Property InputValidationSchema Public ReadOnly Property OutputValidationSchema Public Function Send(ByVal packet As XmlDocument) Public Function Send(ByVal packet As Stream) Public Function Send(ByVal packeturi As String) Private Function SendRequest(ByVal message As String) Private Function ParseAndValidate(ByVal xml As TextReader, ByVal schemauri As String) Private Function GetResponse(ByVal request As HttpWebRequest) Un controlador usado para la recepción de los errores de validación de los esquemas. Contiene la URL del Agente del Panel que gestionará el paquete de petición a nivel de servidor. Contiene la URL del esquema de validación que se aplicará al paquete de petición antes de que este sea enviado a nivel de servidor. Contiene la URL del esquema de validación que se aplicará al paquete de respuesta una vez este sea recibido en el lado de cliente. Dispone el paquete de petición (en forma de objeto XmlDocument) en su parámetro de entrada. Envía una petición y obtiene la respuesta en forma de objeto XmlDocument. Dispone el paquete de la petición (un stream) en su parámetro de entrada. Valida el paquete de petición utilizando el esquema de validación. Invoca a la función del miembro Send(XmlDocument). Dispone la URI del paquete de petición (archivo XML) en su parámetro de entrada. Valida el paquete de petición utilizando el esquema de validación. Invoca a la función del miembro Send(XmlDocument). Foma una petición HTTP: incluye la cabecera HTTP y el paquete XML serializado al objeto de tipo HttpWebRequest. Devuelve este objeto. Dispone la URI del esquema de validación y un lector de strings (con la URI del paquete XML a validar) en sus parámetros de entrada. Valida el paquete y lo devuelve estructurado como un árbol (un objeto XmlDocument). Dispone el paquete de petición HTTP (HttpWebRequest object) en su parámetro de entrada. Envía el paquete a través de HTTP, recibe el paquete de respuesta del servidor, lo valida utilizando el esquema de validación y devuelve el paquete de respuesta XML estructurado como un árbol (un objeto XmlDocument).

80 80 Configurando a través de la API Remota La clase Program implementa la aplicación consola cliente. Shared Sub Main(ByVal args As String()) Private Shared Function RemoteCertificateValidation( ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslpolicyerrors As SslPolicyErrors) Un punto de entrada a la aplicación PanelApiRpcClient. Obtiene una matriz de argumentos (strings) a su parámetro de entrada. Los argumentos son: [0] - el nombre de host (dirección IP) del servidor gestionado por el Panel, [1] - el nombre de usuario del administrador del Panel, [2] - la contraseña del administrador del Panel, [3] - el protoclo RPC de la API usado, [4] - una ruta del archivo XML con un paquete de petición XML. La función forma un paquete de petición de tipo Request (ver arriba), lo valida, envía una petición al Panel e imprime el paquete XML resultante. La función verifica el certificado SSL remoto para autenticar el servidor. Si el servidor no está autenticado, este devolverá false. Private Shared Sub XmlSchemaValidation(ByVal sender As Object, ByVal e As ValidationEventArgs) Controlador de eventos de errores de validación. Private Shared Sub PrintResult(ByVal document As XmlDocument) La función devuelve como resultado el paquete de respuesta (un objeto XmlDocument) a la consola. La aplicación cliente puede iniciarse desde la línea de comandos de la siguiente forma: PanelApiRpcClient admin_login admin_passwd c:\requests\request.xml El paquete de petición se pasa al archivo request.xml: <?xml version= 1.0 encoding= UTF-8?>

81 Configurando a través de la API Remota 81 <packet version= > <domain> <add> <gen_setup> <name>example.com</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_login</name> <value>fp16se4fdf0</value> </property> <property> <name>ftp_password</name> <value>qweqwe</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain> El paquete de respuesta recibido del servidor tiene el siguiente formato: <?xml version= 1.0?> <packet version= > <domain> <add> <result> <status>ok</status> <id>6</id> <guid>5c0e a bcc0-881d691bfdef</guid> </result> </add> </domain>

82 82 Configurando a través de la API Remota Este paquete devuelve el resultado de la operación add con el ID y el GUID del dominio creado. Muestra de código Imports System Imports System.Net Imports System.Text Imports System.IO Imports System.Xml Imports System.Xml.Schema Imports System.Security.Cryptography.X509Certificates Imports System.Net.Security Namespace ParallelsPanelApiRpcClient public class Request Interfaz público Public Hostname As String = localhost The Panel Host name Public Login As String = admin_login Administrator s Login Public Password As String = admin_setup Administrator s Password Public Protocol As String = API RPC Version Protocol Controlador para la recepción de información acerca de la definición del tipo de documento (DTD), Esquema XML-Data Reduced (XDR) e idioma XML Schema Definition (XSD) Errores de validación de esquema. Public XmlSchemaValidation As ValidationEventHandler Public ReadOnly Property AgentEntryPoint As String Get Return ( https:// & Me.Hostname & :8443/enterprise/control/agent.php ) End Get End Property Public ReadOnly Property InputValidationSchema As String Get Return String.Concat(New String() { https://, Me.Hostname, :8443/schemas/rpc/, Me.Protocol, /agent_input.xsd }) End Get

83 Configurando a través de la API Remota 83 End Property Public ReadOnly Property OutputValidationSchema As String Get Return String.Concat(New String() { https://, Me.Hostname, :8443/schemas/rpc/, Me.Protocol, /agent_output.xsd }) End Get End Property Public Function Send(ByVal packet As XmlDocument) As XmlDocument Dim request As HttpWebRequest = Me.SendRequest(packet.OuterXml) Return Me.GetResponse(request) End Function Public Function Send(ByVal packet As Stream) As XmlDocument Using reader As TextReader = New StreamReader(packet) Return Me.Send(Me.ParseAndValidate(reader, Me.InputValidationSchema)) End Using End Function Public Function Send(ByVal packeturi As String) As XmlDocument Using reader As TextReader = New StreamReader(packetUri) Return Me.Send(Me.ParseAndValidate(reader, Me.InputValidationSchema)) End Using End Function Interfaz privado Enviando un mensaje de petición Private Function SendRequest(ByVal message As String) As HttpWebRequest Dim request As HttpWebRequest = DirectCast(WebRequest.Create(Me.AgentEntryPoint), HttpWebRequest) request.method = POST request.headers.add( HTTP_AUTH_LOGIN, Me.Login)

84 84 Configurando a través de la API Remota request.headers.add( HTTP_AUTH_PASSWD, Me.Password) request.contenttype = text/xml request.contentlength = message.length Dim bytes As Byte() = New ASCIIEncoding().GetBytes(message) Using stream As Stream = request.getrequeststream stream.write(bytes, 0, message.length) End Using Return request End Function Analizando y validando un paquete Private Function ParseAndValidate(ByVal xml As TextReader, ByVal schemauri As String) As XmlDocument Dim schemas As New XmlSchemaSet schemas.add(nothing, schemauri) Dim settings As New XmlReaderSettings If (Not Me.XmlSchemaValidation Is Nothing) Then AddHandler settings.validationeventhandler, New ValidationEventHandler(AddressOf Me.XmlSchemaValidation.Invoke) End If settings.validationtype = ValidationType.Schema settings.validationflags = (settings.validationflags Or XmlSchemaValidationFlags.ProcessSchemaLocation) settings.schemas = schemas Dim document As New XmlDocument Using reader As XmlReader = XmlReader.Create(xml, settings) document.load(reader) End Using Return document End Function Private Function GetResponse(ByVal request As HttpWebRequest) As XmlDocument Using response As HttpWebResponse = DirectCast(request.GetResponse, HttpWebResponse) Using stream As Stream = response.getresponsestream

85 Configurando a través de la API Remota 85 Using reader As TextReader = New StreamReader(stream) return Me.ParseAndValidate(reader, Me.OutputValidationSchema) End Using End Using End Using End Function End Class Friend Class Program Else Shared Sub Main(ByVal args As String()) If (args.length < 5) Then Console.WriteLine( Usage: PanelApiRpcClient <Hostname> <Login> <Password> <Protocol> <Request> ) Console.WriteLine( ) Console.WriteLine( Host name - nombre de host del Panel ) Console.WriteLine( Login - Nombre de usuario del Administrador ) Console.WriteLine( Password - Contraseña del Administrador ) Console.WriteLine( Protocol - Versión del protocolo RPC de la API ) Console.WriteLine( Request - Pedir ruta al archivo (*.xml) ) Verifica el certificado Secure Sockets Layer (SSL) remoto usado para la autenticación. ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf Program.RemoteCertificateValidation) Dim request As New Request request.xmlschemavalidation = New ValidationEventHandler(AddressOf Program.XmlSchemaValidation) request.hostname = args(0) ; request.login = args(1) admin ; request.password = args(2) setup ; request.protocol = args(3) ; Dim packeturi As String = args(4) request.xml ; Try

86 86 Configurando a través de la API Remota Program.PrintResult(request.Send(packetUri)) Catch exception As Exception Console.WriteLine( Request error: {0}, exception.message) End Try End If End Sub El siguiente método es invocado por RemoteCertificateValidationDelegate. Private Shared Function RemoteCertificateValidation(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslpolicyerrors As SslPolicyErrors) As Boolean If (sslpolicyerrors <> SslPolicyErrors.RemoteCertificateNotAvailable) Then Return True End If Console.WriteLine( Certificate error: {0}, sslpolicyerrors) No permitir a este cliente comunicarse con servidores no autenticados. Return False End Function Private Shared Sub XmlSchemaValidation(ByVal sender As Object, ByVal e As ValidationEventArgs) Console.WriteLine( Validation error: {0}, e.message) End Sub Private Shared Sub PrintResult(ByVal document As XmlDocument) Dim w As New XmlTextWriter(Console.Out) w.formatting = Formatting.Indented document.writeto(w) w.flush Console.WriteLine End Sub End Class End Namespace

87 Configurando a través de la API Remota 87 Configurando el Panel Esta sección detalla de que formá se realiza la operación de configuración del Panel a través de la API remota. En esta sección: Iniciando el Panel Instalando Llaves de Licencia Configurando el DNS Instalando Certificados SSL Creando Dominios Creando Subdominios Definiendo los Catálogos APS Disponibles Instalando Aplicaciones Iniciando el Panel Para inicializar el Panel a través del RPC de la API, emita un paquete de petición XML con el nodo de operación smb/initial_setup: <packet version= > <smb> <initial_setup>... </initial_setup> </smb> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta... 91

88 88 Configurando a través de la API Remota Estructura del Paquete de Petición El nodo initial_setup se estructura de la siguiente forma: password, obligatorio Indica la contraseña nueva del administrador del Panel. Tipo de datos: serverpassword (plesk_server.xsd). Cadena de entre 5 y 14 caracteres. admin_ , obligatorio Indica la dirección de del administrador del Panel. Tipo de datos: type (common.xsd). Cadena de entre 3 y 255 caracteres. locale, opcional Indica el idioma del Panel - código de idioma y cultura que se utilizará en el interfaz del Panel. Tipo de datos: string.

89 Configurando a través de la API Remota 89 Muestras de Petición Un paquete de petición que inicialice el Panel tiene el siguiente formato: <packet version= > <smb> <initial_setup> <password>p4$$w0rd</password> </initial_setup> </smb> Un paquete de petición que inicialice el Panel y defina el español (España) como idioma predeterminado tiene el siguiente formato: <packet version= > <smb> <initial_setup> <password>p4$$w0rd</password> <locale>es-es</locale> </initial_setup> </smb>

90 90 Configurando a través de la API Remota Estructura del Paquete de Respuesta El nodo initial_setup del paquete XML de salida se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. Errores específicos de operación 1003, error de inicialización del motor del agente. El Panel ya ha sido inicializado. 1019, valor incorrecto. El idioma indicado no está disponible.

91 Configurando a través de la API Remota 91 Muestras de Respuesta Una respuesta positiva del servidor tiene el siguiente formato: <packet version= > <smb> <initial_setup> <result> <status>ok</status> </result> </initial_setup> </smb> La siguiente respuesta negativa se recibe cuando el Panel ya ha sido inicializado. <packet version= > <smb> <initial_setup> <result> <status>error</status> <errcode>1003</errcode> <errtext>initial setup already completed</errtext> </result> </initial_setup> </smb> La siguiente respuesta negativa se recibe cuando el idioma indicado no está disponible. <packet version= > <smb> <initial_setup> <result> <status>error</status> <errcode>1019</errcode> <errtext>locale en-us2 is not installed on server</errtext> </result> </initial_setup>

92 92 Configurando a través de la API Remota </smb> Instalando Llaves de Licencia Para instalar una llave de licencia utilizando el RPC de la API, emita un paquete de petición XML con el nodo de operación server/lic_install: <packet version= > <server> <lic_install>... </lic_install> </server> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta Estructura del Paquete de Petición Un paquete de petición XML que instale una llave de licencia incluye el nodo de operación server/lic_install y se estructura de la siguiente forma: license, obligatorio Contiene los datos de la llave de licencia. Tipo de datos: base64. additional_key, opcional Indica si la llave que se instalará es una llave adicional. Tipo de datos: none.

93 Configurando a través de la API Remota 93 Muestras de Petición Este paquete instala una llave de licencia predeterminada (principal) para Parallels Small Business Panel para Linux/Unix, con la que se distribuye el producto. <packet version= > <server>

94 94 Configurando a través de la API Remota <lic_install> <license>pd94bwwgdmvyc2lvbj0ims4wiiblbmnvzgluzz0ivvrgltgiid8+ia0klsa8chatc2 1iLXVuaXgtMTA6a2V5IGNvcmU6Zm9ybWF0PSJvcGVuZnVzaW9uLTMiIHhtbG5zOmNvcm U9Imh0dHA6Ly9wYXJhbGxlbHMuY29tL3NjaGVtYXMva2V5cy9jb3JlLzMiIHhtbG5zOnBwLX NtYi11bml4LTEwPSJodHRwOi8vcGFyYWxsZWxzLmNvbS9zY2hlbWFzL2tleXMvcHJvZHVjd HMvcHAtc21iL3VuaXgvMTAuMCI+DQotIDwhLS0gVW5pcXVlIHByb2R1Y3QgS2V5IG51bWJ lcg0kicatlt4gdqogidxjb3jlomtles1udw1izxigy29yztp0exblpsjzdhjpbmciplnnqi4wm DAwMDAwMDwvY29yZTprZXktbnVtYmVyPiANCi0gPCEtLSBLZXkgdmVyc2lvbg0KICAtLT4 gdqogidxjb3jlomtles12zxjzaw9uignvcmu6dhlwzt0ic3ryaw5nij4wmdawpc9jb3jlomtl es12zxjzaw9upianci0gpcetlsblzxkgzgvzy3jpchrpb24nciagls0+ia0klsa8y29yzt pkzxnjcmlwdglvbj4nciagpgnvcmu6a2v5dhlwzt5qyxjhbgxlbhmgugfuzwwgmtagu0 1CIEVkaXRpb24gZm9yIFVuaXgvTGludXg8L2NvcmU6a2V5dHlwZT4gDQogIDwvY29yZTpk ZXNjcmlwdGlvbj4NCi0gPCEtLSBQcm9kdWN0IHdoaWNoIHRoaXMgbGljZW5zZSBpcyBpbn RlbmRlZCB0byB3b3JrIG9uDQogIC0tPiANCiAgPGNvcmU6cHJvZHVjdCBjb3JlOnR5cGU9In N0cmluZyI+cHAtc21iLXVuaXg8L2NvcmU6cHJvZHVjdD4gDQotIDwhLS0gU3VwcG9ydGVkI HByb2R1Y3QgdmVyc2lvbg0KICAtLT4gDQogIDxjb3JlOnZlcnNpb24gY29yZTp0eXBlPSJzdH JpbmciPjEwLjA8L2NvcmU6dmVyc2lvbj4gDQotIDwhLS0gRGF0ZSBhZnRlciB3aGljaCB0aGlz IGxpY2Vuc2UgYmVjb21lcyB1c2FibGUgKGluY2x1c2l2ZSkNCiAgLS0+IA0KICA8Y29yZTpzd GFydC1kYXRlIGNvcmU6dHlwZT0iZGF0ZSI+aW5zdGFudDwvY29yZTpzdGFydC1kYXRlPiA NCi0gPCEtLSBEYXRlIGJlZm9yZSB3aGljaCB0aGlzIGxpY2Vuc2UgaXMgdXNhYmxlIChleGN sdxnpdmupdqogic0tpianciagpgnvcmu6zxhwaxjhdglvbi1kyxrlignvcmu6dhlwzt0iz GF0ZSI+bmV2ZXI8L2NvcmU6ZXhwaXJhdGlvbi1kYXRlPiANCi0gPCEtLSBVUkwgb2YgdGhlI HNlcnZpY2UgZW5kcG9pbnQgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhbiBhdXRvdXBkYX RlDQogIC0tPiANCiAgPGNvcmU6bGljZW5zZS1zZXJ2ZXItdXJsIGNvcmU6dHlwZT0ic3RyaW 5nIj5odHRwczovL2thLnBhcmFsbGVscy5jb206NTIyNC94bWxycGM8L2NvcmU6bGljZW5zZS 1zZXJ2ZXItdXJsPiANCi0gPCEtLSBEYXRlIHdoZW4gcHJvZHVjdCB3aWxsIHRyeSB0byBwZ XJmb3JtIGFuIGF1dG91cGRhdGUNCiAgLS0+IA0KICA8Y29yZTp1cGRhdGUtZGF0ZSBjb3Jl OnR5cGU9ImRhdGUiPmluc3RhbnQ8L2NvcmU6dXBkYXRlLWRhdGU+IA0KICA8Y29yZTp1 cgrhdgutdglja2v0ignvcmu6aglkzgvupsj0cnvliibjb3jlonr5cgu9inn0cmluzyi+ls0tls 0tc21iXzEwX3VuaXhfZGVmYXVsdC0tLS0tLS08L2NvcmU6dXBkYXRlLXRpY2tldD4gDQotID whls0gu01cifvzzxjzdqogic0tpianciagphbwlxntyi11bml4ltewonntyi11c2vycybjb3j lonr5cgu9imludgvnzxiipje8l3bwlxntyi11bml4ltewonntyi11c2vycz4gdqotidwhls0g TnVtYmVyIG9mIGRvbWFpbnMNCiAgLS0+IA0KICA8cHAtc21iLXVuaXgtMTA6ZG9tYWlucyB jb3jlonr5cgu9imludgvnzxiipje8l3bwlxntyi11bml4ltewomrvbwfpbnm+ia0klsa8is0 tiefiawxpdhkgdg8gdxnlifnwyw1bc3nhc3npbg0kicatlt4gdqogidxwcc1zbwitdw5pec 0xMDpzcGFtYXNzYXNpbi1zdXBwb3J0IGNvcmU6dHlwZT0iYm9vbGVhbiI+dHJ1ZTwvcHAtc 21iLXVuaXgtMTA6c3BhbWFzc2FzaW4tc3VwcG9ydD4gDQotIDwhLS0gQVBTIEFwcGxpY2F 0aW9uDQogIC0tPiANCiAgPHBwLXNtYi11bml4LTEwOmFwcy1hcHAgY29yZTp0eXBlPSJzd HJpbmciPmh0dHA6Ly93d3cubWFnaWNzcGFtLmNvbS88L3BwLXNtYi11bml4LTEwOmFwcy 1hcHA+IA0KLSA8IS0tIEFQUyBBcHBsaWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItdW5pe C0xMDphcHMtYXBwIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwOi8vd3d3LnBpbm5hY2xlY2Fy dc5jb20vpc9wcc1zbwitdw5pec0xmdphchmtyxbwpianci0gpcetlsbbufmgqxbwbgljy XRpb24NCiAgLS0+IA0KICA8cHAtc21iLXVuaXgtMTA6YXBzLWFwcCBjb3JlOnR5cGU9InN0 cmluzyi+ahr0chm6ly93d3cua2vlcgl0lmnvbs91bmxpbwl0zwq8l3bwlxntyi11bml4lte womfwcy1hcha+ia0klsa8is0tiefquybbchbsawnhdglvbg0kicatlt4gdqogidxwcc1zb WItdW5peC0xMDphcHMtYXBwIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwOi8vd3d3LnN5bW FudGVjLmNvbS9ub3J0b24vaW50ZXJuZXQtc2VjdXJpdHk8L3BwLXNtYi11bml4LTEwOmFw cy1hcha+ia0klsa8is0tiefquybbchbsawnhdglvbg0kicatlt4gdqogidxwcc1zbwitdw5 pec0xmdphchmtyxbwignvcmu6dhlwzt0ic3ryaw5nij5odhrwoi8vd3d3lmludgvyc3bpc muuy29tl2vtywlsbwfya2v0zxivpc9wcc1zbwitdw5pec0xmdphchmtyxbwpianci0gpc EtLSBBUFMgQXBwbGljYXRpb24NCiAgLS0+IA0KICA8cHAtc21iLXVuaXgtMTA6YXBzLWF wccbjb3jlonr5cgu9inn0cmluzyi+ahr0cdovl3d3dy5pbnrlcnnwaxjllmnvbs9rbm93bgv kz2vtyw5hz2vylzwvchatc21ilxvuaxgtmta6yxbzlwfwcd4gdqotidxkc2lnolnpz25hdh

95 Configurando a través de la API Remota 95 VyZSB4bWxuczpkc2lnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4NCi 0gPGRzaWc6U2lnbmVkSW5mbz4NCiAgPGRzaWc6Q2Fub25pY2FsaXphdGlvbk1ldGhvZC BBbGdvcml0aG09Imh0dHA6Ly9wYXJhbGxlbHMuY29tL3NjaGVtYXMva2V5cy9jb3JlLzMjY2 Fub25pY2FsaXplIiAvPiANCiAgPGRzaWc6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaH R0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiIgLz4gD QotIDxkc2lnOlJlZmVyZW5jZSBVUkk9IiI+DQotIDxkc2lnOlRyYW5zZm9ybXM+DQogIDxkc2ln OlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDL XhtbC1jMTRuLTIwMDEwMzE1I1dpdGhDb21tZW50cyIgLz4gDQogIDxkc2lnOlRyYW5zZm9y bsbbbgdvcml0ag09imh0dha6ly9wyxjhbgxlbhmuy29tl3njagvtyxmva2v5cy9jb3jllzmj dhjhbnnmb3jtiiavpianciagpc9kc2lnolryyw5zzm9ybxm+dqogidxkc2lnokrpz2vzde1ld GhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI 1NiIgLz4gDQogIDxkc2lnOkRpZ2VzdFZhbHVlPlRrUzk2YnlycEpVdTVpUTdIbkhZYUhhMTIra 2lPYmZhRXBYMC9TWU5iV2M9PC9kc2lnOkRpZ2VzdFZhbHVlPiANCiAgPC9kc2lnOlJlZmV yzw5jzt4nciagpc9kc2lnolnpz25lzeluzm8+dqogidxkc2lnolnpz25hdhvyzvzhbhvlpmz vcuxyvfertwhrum44y2nzsmdou1zhnujuvi9kautavgjjdk9qunbxcw5xadlxei9nqmf KY0pDNnFnZUNkMHJ4OFZsWERxcm0yVUYgS1I1d0dWeFM1ZSt6NWNqREFEcVUyRStG OXRaUndubXRuamZ4dHV0THZibjVyS0FYc1VtWTQ2OU1EcjNQeFRYbi9mYjZycmpvbGZO OCBOWVE1WUVtMDkyd3IrWTg2TGNIVkhKM2ZXK01sQWd3WXpua0lzdFVQSE1JMVVkYl gwzwkvwtfmcstsc0dssnnhz2drnw56mzgralv5ifrvudbrk2vrunaxcufva09owuyy M21FT1FuQ2V5eFNqQ3FrejNyZEhkaVFFQTBKcmhYMGowYWZYWDJkL2JRUnZVeU93U FBsVWhzNU4gY3FjcndRRDdMQ0lsOE9Udk5FaFRrNFo0OGdaM1ZIRzJ2bitpVGc9PTwvZH NpZzpTaWduYXR1cmVWYWx1ZT4gDQotIDxkc2lnOktleUluZm8+DQotIDxkc2lnOlg1MDlEY XRhPg0KICA8ZHNpZzpYNTA5Q2VydGlmaWNhdGU+TUlJRW5EQ0NBb1FDQVJFd0RRW UpLb1pJaHZjTkFRRUZCUUF3Z2FZeEN6QUpCZ05WQkFZVEFrSk5NUXN3Q1FZRFZRUUl Fd0pJVFRFUiBNQThHQTFVRUJ4TUlTR0Z0YVd4MGIyNHhIREFhQmdOVkJBb1RFMU5YY zi5bwrdqklimnhryvc1bmn5qk1kr1f4sfrbykjntlzcqxnuiezfbhvkr1z5ym1gc0lfu mxkbvzzyjncdfpxntbnund3r2dzrfzruurfee5muvncewiyotbjr05sy25scfptbgp ZWFJsTVJ3d0dnWUogS29aSWh2Y05BUWtCRmcxcllVQnpkM052Wm5RdVkyOXRNQjRYR FRBNU1EWXdNakEyTURrek0xb1hEVE0yTVRBeE9EQTJNRGt6TTFvdyBnWUF4Q3pBSkJ ntlzcqvluqwtktk1rc3dduvlevlfrsuv3skluvevstue4r0exvuvcee1ju0dgdgfxed BiMjR4SERBYUJnTlZCQW9UIEUxTlhjMjltZENCSWIyeGthVzVuY3lCTWRHUXhIVEFiQmdO VkJBc1RGRWx1ZEdWeWJtRnNJRVJsZG1Wc2IzQnRaVzUwTVJRd0VnWUQgVlFRREV3d HdjQzF6YldJdGRXNXBlRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0N BUW9DZ2dFQkFNYzR0RWVhRFMzciBDS0sxQ1RaUm9aMTdGVzU5Z0tBbTlOQmt6V3Zw ZW9VM0lnZU5SMTMrdWs0My9lYW1EQkNHZTBtQnNwb05vWjErWDk3RXVGYzB4b2RvIG g0nvgrrunizk5kme1adzvrsfljwwf1m2kxsvbbakzmdm5dce52zxc1whpxqzcwz0xlen ZNaWxRbWxTYWpLSEFEL0EvMGhzYkI0aDkgeVdxNTZPcDRiT1hUTDVKN0NZV1JHeVRS afv1mnfpbjz2y2o3q2rkb05oewhrddjtylarndlvmxfjdjmvofz3ynzrmzzhtvltvlblms BHRk50MlE3RkhKUUxicW1pY1doL0JBWkpjU2FGMWlPSUhuZ2VIbG9uSGptbzdJWUEvSX cytuzmt0dpam82kzg2m0dubdjuoxa0dgxgihzhnwhomwfpnhkybddovzftczhvt1j SclVlMENBd0VBQVRBTkJna3Foa2lHOXcwQkFRVUZBQU9DQWdFQUgrcnFFdkhNdEFRa StWOHEgSDdFM3VSRk8xaVA1QzBVejlDQVdMZ0QyNWthWTlSaUV1K1ZNcGtyZ2RwMkR KZUxIaWd5Q3MyM3dUbkZ6SS9qMUJNRjJ1VGdKS1B6MiBSOTA2YVcyR0tJWWpIencvd3 BmUDUxck9CWTVQNlhpdXNtM2NGdk8zTnJ4Z0hJSy9WV3N5WW1EN25mMksyZUptQmsv ZU85TklaalBoIGRkS2NrYmNZRVhRN3dzd2l0dDlYcTFuckg2eFNXT1lIVUUwcHI0QW1jVXc3 TDdRQVUzdDBVM0lIQzNHYmVyVE1RNERSL2xDTFV5a24gUkl3aDNKQXZkYVFJZnA2TW 9yNkY0VWtrMWh2bzkwVTR1VHFEbXc4RFJHcVRoOCtPUEY1V1dTL0MyK0o0bThOWTND WjZpa3FIc0FpcCB5Si9uR1pqU3cvdHc4N0xMWHBMMzJhRkFLcGpjOGc1MkZuc3YzVDlwdj RHd0Q2V0hHYU1DNUVsL21XSWplSE5pLytPTk5hbkdHbHJxIHVLQ1p2UktHenJRNjV4bHIy eeovtxftwdv3cwdtk3r5se1xy3bwvfpzdmf6cxztzfrubllnwlhwd1m1ywxqqlawb3f Wd09wVDFLUksgY0o3bXVaYzNUWlJ1OHY0b2pWa1dWTlF2QVNUUFNsdXFkcW42RFdw V2V3UEQ0ZXg3c2ZJam52N1phWmtZV2tPL3VDam9SeE4wbmFtVSBlVk5QemZSNXJ5em Vjalozb0g0L1NXTGFYeHFiQ2k0QzBjMFlVeTZBMkZkejVKK3RwWUdFbkVFMENpcDFyRjVn MFJhMURBZXV4ZFFaIEMwang3NlNsQ1VjSWhGQ0p4RmRxMk5JMHZJVnlVNTl6R2NrY3E

96 96 Configurando a través de la API Remota 3WVZZVlJ2czNVc2crb1pNRTBKbTFjPTwvZHNpZzpYNTA5Q2VydGlmaWNhdGU+IA0KICA 8L2RzaWc6WDUwOURhdGE+DQogIDwvZHNpZzpLZXlJbmZvPg0KICA8L2RzaWc6U2lnbm F0dXJlPg0KICA8L3BwLXNtYi11bml4LTEwOmtleT4=</license> </lic_install> </server> Este paquete de petición instala una llave de licencia adicional. Tenga en cuenta que el contenido del nodo license es un código base64 válido pero en ningún caso una llave de licencia. Por este motivo, la ejecución de este paquete de petición devolverá el error <packet version= > <server> <lic_install> <license>tgv0ihvzigp1c3qgchjldgvuzcb0agf0ihroaxmgaxmgysbqyxjhbgxlbhmg UGFuZWwgbGljZW5zZSBrZXkuCk9mIGNvdXJzZSwgd2UgY291bGQgbm90IGluY2x1ZGUg YSByZWFsIGxpY2Vuc2Uga2V5IGluIHRoZSBkb2N1bWVudGF0aW9uLgpUaGFuayB5b3Ug Zm9yIHVuZGVyc3RhbmRpbmcu</license> <additional_key/> </lic_install> </server> Estructura del Paquete de Respuesta El nodo lic_install del paquete de respuesta se estructura de la siguiente forma:

97 Configurando a través de la API Remota 97 result, obligatorio Ajusta la respuesta recuperada desde el servidor. status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: unsignedint. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. Muestras de Respuesta Una respuesta positiva del servidor tiene el siguiente formato: <packet version= > <server> <lic_install> <result> <status>ok</status> </result> </lic_install> </server> Este error se recibe si el paquete de petición intentó instalar una llave de licencia que no era válida. <packet version= > <server> <lic_install> <result> <status>error</status> <errcode>1020</errcode> <errtext>the uploaded key file is not valid or does not contain a license key.</errtext> </result> </lic_install> </server>

98 98 Configurando a través de la API Remota Configurando el DNS Para configurar el servicio DNS del Panel a través del protocolo RPC de la API, utilice el operador dns tal y como se describe a continuación. En esta sección: Desactivando el Servicio DNS Cambiando la Plantilla del Registro SOA Configurando Plantillas de Registro de Recursos Desactivando el Servicio DNS Para desactivar el servicio DNS del Panel utilizando el RPC de la API, emita un paquete de petición XML que contenga el nodo de operación dns/disable: <packet version= > <dns> <disable/> </dns> En esta sección: REQUEST PACKET RESPONSE PACKET REQUEST PACKET El siguiente paquete de petición desactiva el servicio DNS: <packet version= > <dns> <disable/> </dns>

99 Configurando a través de la API Remota 99 RESPONSE PACKET El nodo disable del paquete XML de salida se estructura de la siguiente forma: Muestra result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. Una respuesta positiva tendrá el siguiente formato: <packet version= > <dns> <disable> <result> <status>ok</status> </result> </disable> </dns>

100 100 Configurando a través de la API Remota Cambiando la Plantilla del Registro SOA Para definir una plantilla de registro SOA nueva, emita un paquete de petición XML que contenga el nodo de operación dns/set: <packet version= > <dns> <set>... </set> </dns> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta Estructura del Paquete de Petición Para definir una plantilla de registro SOA nueva, emita un paquete de petición XML que contenga el nodo de operación dns/set y se estructura de la siguiente forma:

101 Configurando a través de la API Remota 101 soa, obligatorio Indica los parámetros SOA. Tipo de datos: SOAType (plesk_dns.xsd). ttl, opcional Indica el valor del parámetro ttl. El Panel define el valor predeterminado de un día. Tipo de datos: unsignedint. refresh, opcional Indica el valor del parámetrorefresh. El Panel define el valor predeterminado de tres horas. Tipo de datos: unsignedint. retry, opcional Indica el valor del parámetro retry. El Panel define el valor predeterminado de una hora. Tipo de datos: unsignedint. expire, opcional Indica el valor del parámetro expire. (Valor firmado de 32 bits en segundos.) El Panel define el valor predeterminado de una semana. Tipo de datos: unsignedint. minimum, opcional Indica el valor del parámetro minimum. El Panel define el valor predeterminado de tres horas. Tipo de datos: unsignedint. Muestras de Petición Este paquete actualiza la plantilla de registro SOA para que así defina el intervalo TTL a 32 horas,el intervalo Refresh a 6 horas, el intervalo Retry a 15 minutos y deje los valores predeterminados del Panel para los intervalos Expire y Minimum. <packet version= > <dns> <set> </set> <soa> </dns> <ttl>115200</ttl> <refresh>21600</refresh> <retry>900</retry> </soa>

102 102 Configurando a través de la API Remota Estructura del Paquete de Respuesta El nodo set del paquete XML de salida se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string.

103 Configurando a través de la API Remota 103 Muestras de Respuesta La respuesta positiva del servidor tiene el siguiente formato: <packet version= > <dns> <set> <result> <status>ok</status> </result> </set> </dns> La siguiente respuesta negativa se recibe si el valor indicado es demasiado elevado: REQUEST PACKET <packet version= > <dns> <set> <soa> <refresh> </refresh> </soa> </set> </dns> RESPONSE PACKET <packet version= > <system> <status>error</status> <errcode>1014</errcode> <errtext>parser error: Request is invalid</errtext> </system>

104 104 Configurando a través de la API Remota Configurando Plantillas de Registro de Recursos A través del RPC de la API usted puede modificar los registros de recurso en la plantilla de zona DNS de la siguiente forma: añadiendo registros de recurso nuevos eliminando los registros de recurso existentes (puede recuperar la lista de RRs presentes en la plantilla) En esta sección: Añadiendo Plantillas RR Recuperando Información Acerca de la Plantilla de Zona DNS Eliminando Plantillas RR Añadiendo Plantillas RR Para añadir una plantilla para el registro de recurso de zona DNS, emita un paquete de petición XML con el nodo de operación dns/add-rec: <packet version= > <dns> <add_rec>... </add_rec> </dns> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta

105 Configurando a través de la API Remota 105 Estructura del Paquete de Petición Un paquete de petición XML que añada un registro DNS nuevo a la plantilla de Zona DNS incluye el nodo de operación dns/add_rec, representado por el tipo dnsrecord (plesk_dns.xsd) y estructurado de la siguiente forma: type, obligatorio Indica el tipo de registro DNS. Tipo de datos: string. Valores permitidos: A NS CNAME MX PTR TXT SOA AXFR SRV. host, obligatorio Indica el nombre del host al que se aplica la opción de registro. Tipo de datos: string. value, obligatorio Indica el valor que se vinculará al valor host. Tipo de datos: string. El valor contiene marcadores <domain> o <ip> que serán reemplazados por el nombre de host/dirección IP real cuando se cree el archivo de zona DNS una vez creado el dominio. opt, opcional Contiene información opcional acerca del registro DNS. Tipo de datos: string. Nota: En el caso de un registro SRV, el nodo de operación puede contener código XML adicional en el siguiente formato:<srv Protocol= Port= Priority= Weight= />. Puede añadir múltiples registros DNS utilizando un único paquete. Añada tantas operaciones <add-rec> como el número de registros DNS que desee añadir. <dns> <add_rec>... </add_rec>... <add_rec>... </add_rec> </dns>

106 106 Configurando a través de la API Remota Muestras de Petición Plantilla de registro NS <packet version= > <dns> </dns> <add_rec> <type>ns</type> <host/> <value>ns.<domain></value> </add_rec> La zona DNS creada a la finalización del dominio example.com incluirá el siguiente RR: example.com. NS ns.example.com. que hace que ns.example.com sea el servidor de nombres para el host example.com. Este paquete de petición añada a la plantilla de zona DNS un registro que hace que provider-dns-server.example.com sea el servidor de nombres para un dominio. <packet version= > <dns> <add_rec> <type>ns</type> <host/> <value>provider-dns-server.example.com</value> </add_rec> </dns> Plantilla de registro A <packet version= > <dns> <add_rec> <type>a</type> <host>mail</host>

107 Configurando a través de la API Remota 107 </dns> <value><ip></value> </add_rec> La zona DNS creada a la finalización de la creación del dominio example.com (alojado en la IP ) contendrá la siguiente RR: mail.example.com. A que define la dirección IP para el host mail.example.com. Plantilla de registro CNAME <packet version= > <dns> <add_rec> <type>cname</type> <host>www</host> <value>ns.<domain></value> </add_rec> </dns> La zona DNS creada a la finalización del dominio example.com incluirá el siguiente RR: www NS ns que hace que ns.example.com sea el alias para el host Plantilla de registro MX <packet version= > <dns> <add_rec> <type>mx</type> <host/> <value>exchange.<domain></value> <opt>0</opt> </add_rec> </dns> La zona DNS creada a la finalización del dominio example.com incluirá el siguiente RR:

108 108 Configurando a través de la API Remota example.com. MX 0 exchange.example.com. que hace que mail.example.com sea el servidor de correo principal para el dominio example.com. Plantilla de registro PTR <packet version= > <dns> <add_rec> <type>ptr</type> <host><ip></host> <value>community</value> <opt>24</opt> </add_rec> </dns> La zona DNS creada a la finalización de la creación del dominio example.com (alojado en la IP ) contendrá la siguiente RR: /24 PTR community.example.com que hace que el dominio community.example.com sea el puntero de nombre de dominio para la subred /24. Plantilla de registro TXT <packet version= > <dns> <add_rec> <type>txt</type> <host>about</host> <value>delivered by the best provider</value> </add_rec> </dns> La zona DNS creada a la finalización del dominio example.com incluirá el siguiente RR: about TXT Delivered by the best provider que añade una descripción textual Delivered by the best provider al dominio about.example.com.

109 Configurando a través de la API Remota 109 Plantilla de registro SRV <packet version= > <dns> <add_rec> <type>srv</type> <host>_ldap._tcp</host> <value> </value> <opt> </opt> </add_rec> </dns> La zona DNS creada a la finalización de creación del dominio example.com contendrá la siguiente RR: _LDAP._tcp SRV que hace que un cliente del servicio LDAP en el dominio example.com realice una búsqueda SRV de Añadiendo múltiples registros El siguiente paquete de petición añade todos los registros de las muestras anteriores a la vez: <packet version= > <dns> <add_rec> <type>ns</type> <host/> <value>ns.<domain></value> </add_rec> <add_rec> <type>ns</type> <host/> <value>provider-dns-server.example.com</value> </add_rec> <add_rec> <type>a</type>

110 110 Configurando a través de la API Remota <host>mail</host> <value><ip></value> </add_rec> <add_rec> <type>cname</type> <host>www</host> <value>ns.<domain></value> </add_rec> <add_rec> <type>mx</type> <host/> <value>exchange.<domain></value> <opt>0</opt> </add_rec> <add_rec> <type>ptr</type> <host><ip></host> <value>community</value> <opt>24</opt> </add_rec> <add_rec> <type>txt</type> <host>about</host> <value>delivered by the best provider</value> </add_rec> <add_rec> <type>srv</type> <host>_ldap._tcp</host> <value> </value> <opt> </opt> </add_rec> </dns>

111 Configurando a través de la API Remota 111 Estructura del Paquete de Respuesta El nodo add_rec del paquete XML de salida se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. id, obligatorio if the operation succeeds Devuelve el identificador único del registro DNS añadido. Tipo de datos: integer.

112 112 Configurando a través de la API Remota Muestras de Respuesta Una respuesta positiva tendrá el siguiente formato: <packet version= > <dns> <add_rec> <result> <status>ok</status> <id>17</id> </result></add_rec> </dns> Esta respuesta negativa se recibe cuando un paquete de petición ha indicado valores incorrectos para la RR a añadir: REQUEST PACKET <packet version= > <dns> <add_rec> <type>srv</type> <host>_ldap._tcp.ldap.domain-test tst.</host> <value> </value> <opt> </opt> </add_rec> </dns> RESPONSE PACKET <packet version= > <dns> <add_rec> <result> <status>error</status> <errcode>1019</errcode> <errtext>incorrect DNS record values were specified.</errtext> </result>

113 Configurando a través de la API Remota 113 </add_rec> </dns> Recuperando Información Acerca de la Plantilla de Zona DNS Para recuperar la información acerca de los registros de recurso presentes en la plantilla de zona DNS, emita el paquete XML con el nodo de operación dns/get_rec: <packet version= > <dns> <get_rec> <filter/> <template/> </get_rec> </dns> En esta sección: Estructura del Paquete de Respuesta Muestras de Respuesta

114 114 Configurando a través de la API Remota Estructura del Paquete de Respuesta El nodo get_rec del paquete XML de salida se estructura de la siguiente forma:

115 Configurando a través de la API Remota 115 result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. id, obligatorio if the operation succeeds Devuelve el identificador único del registro DNS. Tipo de datos: integer. data, obligatorio si la operación se realiza correctamente. Contiene la información acerca de los datos del registro de recurso. type, obligatorio Indica el tipo de registro DNS. Tipo de datos: string. Valores permitidos: A NS CNAME MX PTR TXT SOA AXFR SRV. host, obligatorio Indica el nombre del host utilizado por DNS. Tipo de datos: string. value, obligatorio Indica el valor vinculado al valor host. Tipo de datos: string. El valor contiene marcadores <domain> o <ip> que serán reemplazados por el nombre de host/dirección IP real cuando se cree el archivo de zona DNS una vez creado el dominio. opt, opcional Contiene información opcional acerca del registro DNS. Tipo de datos: string.

116 116 Configurando a través de la API Remota Muestras de Respuesta La siguiente respuesta se recibe cuando la plantilla de zona DNS no contiene ningún registro de recurso: REQUEST PACKET <packet version= > <dns> <get_rec> <filter/> <template/> </get_rec> </dns> RESPONSE PACKET <packet version= > <dns> <get_rec/> </dns> La siguiente respuesta contiene una descri ción de la plantilla de zona DNS predeterminada del Panel: REQUEST PACKET <packet version= > <dns> <get_rec> <filter/> <template/> </get_rec> </dns> RESPONSE PACKET <packet version= > <dns>

117 Configurando a través de la API Remota 117 <get_rec> <result> <status>ok</status> <id>1</id> <data> <type>ns</type> <host><domain>.</host> <value>ns.<domain>.</value> <opt/> </data> </result> <result> <status>ok</status> <id>2</id> <data> <type>a</type> <host>ns.<domain>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>3</id> <data> <type>a</type> <host><domain>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>4</id> <data> <type>a</type> <host>webmail.<domain>.</host>

118 118 Configurando a través de la API Remota <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>5</id> <data> <type>mx</type> <host><domain>.</host> <value>mail.<domain>.</value> <opt>10</opt> </data> </result> <result> <status>ok</status> <id>6</id> <data> <type>a</type> <host>mail.<domain>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>7</id> <data> <type>cname</type> <host>ftp.<domain>.</host> <value><domain>.</value> <opt/> </data> </result> <result> <status>ok</status> <id>8</id>

119 Configurando a través de la API Remota 119 <data> <type>ptr</type> <host><ip> / 24</host> <value><domain>.</value> <opt>24</opt> </data> </result> </get_rec> </dns> Eliminando Plantillas RR Para eliminar una RR de la plantilla de zona DNS, emita un paquete XML que contenga el nodo de operación dns/del_rec: <packet version= > <dns> <del_rec>... </del_rec> </dns> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta

120 120 Configurando a través de la API Remota Estructura del Paquete de Petición Un paquete de petición XML que elimine un registro DNS incluye el nodo de operación del_recque se estructura de la siguiente forma: filter, obligatorio Indica la regla de filtración. Tipo de datos: dnsselectionfiltertype (dns_input.xsd). Si se deja en blanco (<filter/>), se eliminarán todas las plantillas de registro. id, opcional Indica el ID de la plantilla de registro de recurso a eliminar. Tipo de datos: id_type (common.xsd). template, obligatorio Indique que se eliminarán las plantillas de un registro. Tipo de datos: none.

121 Configurando a través de la API Remota 121 Muestras de Petición Este paquete de petición elimina el registro con ID 7 de la plantilla de zona DNS. <packet version= > <dns> <del_rec> <filter> <id>7</id> </filter> <template/> </del_rec> </dns> Este paquete de petición elimina los registros con ID 1-5 de la plantilla de zona DNS. <packet version= > <dns> <del_rec> <filter> <id>1</id> <id>2</id> <id>3</id> <id>4</id> <id>5</id> </filter> <template/> </del_rec> </dns> Este paquete elimina todos los registros de la plantilla de zona DNS: <packet version= > <dns> <del_rec> <filter/>

122 122 Configurando a través de la API Remota <template/> </del_rec> </dns> Estructura del Paquete de Respuesta El nodo del_rec del paquete XML de salida se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatoriosi la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. id, requerido si la operación se realiza correctamente Devuelve el identificador único del registro DNS eliminado. Tipo de datos: integer.

123 Configurando a través de la API Remota 123 Muestras de Respuesta Los resultados positivos recibidos del servidor tienen el siguiente formato (la eliminación de todos los registros de la plantilla de zona DNS se realiza correctamente): REQUEST PACKET <packet version= > <dns> <del_rec> <filter/> <template/> </del_rec> </dns> RESPONSE PACKET <packet version= > <dns> <del_rec> <result> <status>ok</status> <id>1</id> </result> <result> <status>ok</status> <id>2</id> </result> <result> <status>ok</status> <id>3</id> </result> <result> <status>ok</status> <id>4</id> </result> <result> <status>ok</status>

124 124 Configurando a través de la API Remota <id>5</id> </result> <result> <status>ok</status> <id>6</id> </result> <result> <status>ok</status> <id>7</id> </result> <result> <status>ok</status> <id>8</id> </result> <result> <status>ok</status> <id>9</id> </result> <result> <status>ok</status> <id>10</id> </result> <result> <status>ok</status> <id>11</id> </result> <result> <status>ok</status> <id>12</id> </result> </del_rec> </dns> Esta respuesta negativa se recibe si el registro que se ha indicado para eliminar no existe:

125 Configurando a través de la API Remota 125 REQUEST PACKET <packet version= > <dns> <del_rec> <filter> <id>1</id> <id>2</id> <id>3</id> <id>4</id> <id>5</id> </filter> <template/> </del_rec> </dns> RESPONSE PACKET <packet version= > <dns> <del_rec> <result> <status>error</status> <errcode>1013</errcode> <errtext>dns record does not exist.</errtext> <id>1</id> </result> <result> <status>error</status> <errcode>1013</errcode> <errtext>dns record does not exist.</errtext> <id>2</id> </result> <result> <status>error</status> <errcode>1013</errcode> <errtext>dns record does not exist.</errtext>

126 126 Configurando a través de la API Remota <id>3</id> </result> <result> <status>error</status> <errcode>1013</errcode> <errtext>dns record does not exist.</errtext> <id>4</id> </result> <result> <status>error</status> <errcode>1013</errcode> <errtext>dns record does not exist.</errtext> <id>5</id> </result> </del_rec> </dns> Instalando Certificados SSL Para instalar un certificado SSL, emita un paquete de petición XML que contenga el nodo de operación certificate/install: <packet version= > <certificate> <install> </install> </certificate> En esta sección: Estructura del Paquete de Petición Muestra de Petición Estructura del Paquete de Respuesta Muestras de Respuesta

127 Configurando a través de la API Remota 127 Estructura del Paquete de Petición El nodo install del paquete de petición XML se estructura de la siguiente forma: name, obligatorio Indica el nombre bajo el que se mostrará el certificado en el Panel. Tipo de datos: string. admin, obligatorio Indica que el certificado se importa al repositorio del servidor. Tipo de datos: none. content, obligatorio Contiene todos los datos que constituyen el certificado. Tipo de datos: none. csr, obligatorio Indica el CSR (certificate signing request) del certificado. Tipo de datos: string. pvt, obligatorio Indica la clave privada del certificado. Tipo de datos: string. cert, opcional Contiene el cuerpo del certificado. Tipo de datos: string. ca, opcional Contiene el cuerpo de la autoridad del certificado. Tipo de datos: string. ip_address, obligatorio Indica la dirección IP a la que se asignará el certificado. Tipo de datos: ip_type (common.xsd).

128 128 Configurando a través de la API Remota Muestra de Petición Este paquete instala un certificado CA que se mostrará en el Panel con el nombre common y que se asignará a la dirección IP <packet version= > <certificate> <install> <name>common</name> <admin/> <content> <csr>-----begin CERTIFICATE REQUEST----- MIICwTCCAakCAQAwfDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB2dlb3JnaWExEDAO BgNVBAcTB0F0bGFudGExEjAQBgNVBAoTCURvZSwgTHRkLjEUMBIGA1UEAxMLam9o bmrvzs5vcmcxhzadbgkqhkig9w0bcqewegpkb2vaam9obmrvzs5vcmcwggeima0g CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7AQlX0pXqCs61ZUZ28zJ9PAG0yxvV 2pJnJTMqrudyi/3vV8IZrBUUWMthf7tQmMSSyZWAqM+7n4Q9Y4f5WuR+3ReM5kxC hbqnorjpdumv1+zhb9q21ufa5eeptydm/lr2jajpkjd078rh76pvzm3esjml3+ue 3Dg0DeKDelDKa4SYzW1JJnoen4UXX37lIHdBnIj+NCQbHRSiGD6w6mMyiCMOzXCp SBiGXgRRcaOVl50OeAdVKkwpJaae1K7K3q9j/LkAlOa1C8kuwdaCtKC+jFCE72I0 Q8TnIn7ahPy0yd2EgzZ42Ys8D3PziqGax8I/e6BbEOfzi0n1HD9GCzaPAgMBAAGg ADANBgkqhkiG9w0BAQQFAAOCAQEAhoSVmInXLQDJu8jrZTVvFUx6O6aHOUkUf/G8 Wnc2x7w+Qo7XHMHVDCUcP3K+bEw9oKxfpvRXP9XTVhX2jABHrxywLyjg4cXwaUgR t7ulvplq0sum5xntbypadsqzz7ktaa6q3omafndy8yg9j/l2zlcl9jjzlaunrwzn fmbn9ip3pcc8n9of9+pfpxgvhtlc1o27w9wj0rdk3hf6rg37qcujsnn6xxob41q8 ZZbX2Vbskz0WJ1IcxsfWDJ/HFdho7GrrD/wujNpwkTPc3xe2AHcfQX8c/92xyra/ kdzxsddfd7iwa5bbwgm8qwll9ywudpiz8vsgw96d/qije9uvka== -----END CERTIFICATE REQUEST-----</csr> <pvt>-----begin RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAyxfczy4HqgwOI6yxEa+dLaMLe5zC0ijcawsha8oFtJlxv/DM 9INpdKjv9HaInrR0StjG9HgqTpYrhOCJxeB07/gGsQ82xsvbcKANuCSQKInpwVim GUsisGNrfnbKIoAewN21ENCZQrufcQNWNzTx/GjVCXqa/Sy4pXJ6Jud0dzA/+Vis SBw5Oo4IqI2MDvuoDk+exQLdgM45Vgq4d3A9+ESzmRmjmdovhNxnXdvMxA5RSrF+ GZlBTFftsLQsnfnNiMR6ZTFgNCt2vdDmUAV9iix2B1PuoH94TRCJRG5tVCFtfVzS Rjo4ZzoiUs57efb3Oe56Lb64Ubi9ZRzNhdkGLwIDAQABAoIBABJdOAQr31mK+YRU SzaUMJw9z/3/cMZcF4I+YWlDvTxVW6nFdmLttw1rcTcjuLrRCmryKxtT+k9c2NaN DygrYaeJP+GmxIc5S8BlWJg8BiUEQ3TONUa4OozEkKXAzApOl3lNEuBQXGtiV8p6 SMN5MCBowkq3IWifMJsVPOJjr25Pby04HCPeeM+cnEiPnMrBjK4OGH8/pKqedf05 EcjnFKGFP2G0BUEhLX7ooMhB+AbjoIbGFXlBIzhaofs8zzSjNkKJ9i4LQMEe0GDf zcge4gehw+fdculhg1zo7fojc0ldvur4deomzainriwdwxbokvwgsenm20yxydcl t+dsreecgyea+snpkzdqc0vf6me6wo8eqmu6abpjobknw0i8+g8ndrkmcjq8fexd +D447fCMORUdqGFH8aMWDp392z4JX3+ksSN9XtyEEKB3fsknENsDZKVJvh9U+gUD DO12mC1PleQBHBjN7Wlsg4mPZNv3cxUQLhFU0qW/moQdy0JrDfv+51ECgYEAz1Ww OJolOjKhPkGxiDY9sh95E/rpuwkGjb0qiS/UFHHuLc9pDYHyKRpPggdT4nEuBz34 crpihmgxbkezuxgepvdist0aobowcqfy4haj8ps08rzupcjsk413gyei/ckxacqk byyhlkseavrcmmfc98i2fmbbnp+ckelhfzvytx8cgyeayp6x39yseihrx4sq8ivu 3j89fnPjo7GxinPZFU3kQJWtROdsKIurAmVNWFrA6lgkh3xCIEqqOVklyv+0n5k+ NsXNjaWPLYyRe0xcRcRmudtKelu+zxAJW+lSb7OR4QD6arzvAmbIFb7C8wLlGpc9 es9lf9pe88kf4jacixljpaecgyeaj4swtwlzbsjwygz3yaovkuwi8qdnxlvx+r2x XmVjokgCi2rGo5hszLIvi6mBFQwgvtjTsZJ/1Mg4z6i/g8sosONJA5OvHXXfWnIE

129 Configurando a través de la API Remota 129 f9zxu4xf5q4s6cx/f+r4czahcvsph6wfrpz9txytq3fe2uk8ctxfxif3kyjnwf7o ma6yxqccgyeapqdvvr92ysyzudtkygn5rd5bajsgpywpshs5lpkbq4n/tkszzo1v Bxq2AbPRohXasWEAdfgfss1mcwX9xnKO/DhnxXE8KVFXKVehGmUth0WqA5qtL4xD h4hm3v7dcmqybvzpmlwxfz5is1fiflahlfex4h3s1rirtj+t6hodvf4= -----END RSA PRIVATE KEY-----</pvt> <cert>-----begin CERTIFICATE----- MIIDiTCCAnECBETUDecwDQYJKoZIhvcNAQEEBQAwgYgxCzAJBgNVBAYTAlJVMQww CgYDVQQIEwNOU08xDDAKBgNVBAcTA05TSzEUMBIGA1UEChMLRGFtYWdlIEluYy4x CzAJBgNVBAsTAlFBMRcwFQYDVQQDEw53d3cuc3dzb2Z0LmNvbTEhMB8GCSqGSIb3 DQEJARYScmJ1c3lndWluQHBsZXNrLnJ1MB4XDTA2MDgwNTAzMTgwMVoXDTA3MDgw NTAzMTgwMVowgYgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIEwNOU08xDDAKBgNVBAcT A05TSzEUMBIGA1UEChMLRGFtYWdlIEluYy4xCzAJBgNVBAsTAlFBMRcwFQYDVQQD Ew53d3cuc3dzb2Z0LmNvbTEhMB8GCSqGSIb3DQEJARYScmJ1c3lndWluQHBsZXNr LnJ1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyxfczy4HqgwOI6yx Ea+dLaMLe5zC0ijcawsha8oFtJlxv/DM9INpdKjv9HaInrR0StjG9HgqTpYrhOCJ xeb07/ggsq82xsvbckanucsqkinpwvimgusisgnrfnbkioaewn21enczqrufcqnw NzTx/GjVCXqa/Sy4pXJ6Jud0dzA/+VisSBw5Oo4IqI2MDvuoDk+exQLdgM45Vgq4 d3a9+eszmrmjmdovhnxnxdvmxa5rsrf+gzlbtfftslqsnfnnimr6ztfgnct2vddm UAV9iix2B1PuoH94TRCJRG5tVCFtfVzSRjo4ZzoiUs57efb3Oe56Lb64Ubi9ZRzN hdkglwidaqabma0gcsqgsib3dqebbauaa4ibaqbh8mtx3q3csbujzwfy3kivobgh yelljoq87qv5rht5yktutys3ogxsdd0so/usg/akl34ctpkjl/vqytzkmsfq5pxy MlY6Q+GCd9FgL5pBn1S8HSZLpTBWZc25mNe3mXbCQzI03r4W+dQajAgAgDKpnRjg mblrg98+hwol033pvgunrwpos3lo5jia5z3f0mks8sv3x18duoslevilhj0ttz/p B7x0kIUee8A95Q00EDh+4IaPSMOqiFrVIlsHEuPV33aCAz2Dk2TxzplsoNz61BFA i3cm04gz1h9w/yzkcycqiwumizsgusbln0hbetid1u/nadtic776yguyai+/ -----END CERTIFICATE-----</cert> <ca> -----BEGIN CERTIFICATE----- MIIEjDCCA3SgAwIBAgIJAL4AGzKhkL5wMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYD VQQGEwJSVTELMAkGA1UECBMCTlYxFDASBgNVBAcTC05vdm9zaWJpcnNrMRIwEAYD VQQKEwlQYXJhbGxlbHMxDjAMBgNVBAsTBVBsZXNrMQ0wCwYDVQQDEwRhYmVsMSU w IwYJKoZIhvcNAQkBFhZhYmVseWFldkBwYXJhbGxlbHMuY29tMB4XDTA5MDQyODAz NDMxMloXDTEwMDQyODAzNDMxMlowgYoxCzAJBgNVBAYTAlJVMQswCQYDVQQIEwJO VjEUMBIGA1UEBxMLTm92b3NpYmlyc2sxEjAQBgNVBAoTCVBhcmFsbGVsczEOMAwG A1UECxMFUGxlc2sxDTALBgNVBAMTBGFiZWwxJTAjBgkqhkiG9w0BCQEWFmFiZWx5 YWV2QHBhcmFsbGVscy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQDlslx5nXTQTvoic3GgW4HH5n5PoCz95Z9XNtCykwv0M2HdhMeNvde1NYDvkipa FHzVPEH7eBgjAsHR4y1J4zVGAs2KiJF0W81vi5YAVMOJ7Ysyz8WLP0PQWTmUoMFM

130 130 Configurando a través de la API Remota ae0p7m788tphl328chdpjtjlcf6w9fkzddzrvdek04ojp2cro6ffmh7wjpcajvh/ 3EuYpc7xBNC6Wf8Gk6tB5kCCe7wpHyXsc7ve97nn30p6rUXypBNHYmLujMCtS90I K2xOCaSsCwkeUQ4mpXrr5lK7yM07b322vNZBiMTHV8DnaOWDPIcEIFl8NmOJovub dg5wdxopa6secqlaf95lvulragmbaagjgfiwge8whqydvr0obbyeflsg4v0zc0i0 prftcygaitgz5ikcmig/bgnvhsmegbcwgbsaflsg4v0zc0i0prftcygaitgz5ikc oygqpignmigkmqswcqydvqqgewjsvtelmakga1uecbmctlyxfdasbgnvbactc0 5v dm9zawjpcnnrmriweaydvqqkewlqyxjhbgxlbhmxdjambgnvbastbvbszxnrmq0w CwYDVQQDEwRhYmVsMSUwIwYJKoZIhvcNAQkBFhZhYmVseWFldkBwYXJhbGxlbHMu Y29tggkAvgAbMqGQvnAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA dekv4dzmr7rp0dlyqdpdvigu7fe+7r5u87mz3e9ctapycbg4ktzas53b3itsaqv2 yjxnktqw2/l5xusw+oxhgpwc0z58jscyqnw/hkvheurgbyliooaks9vaayi3ma0t O1cB1vnAgmB8puV6IdEKuvUimgbJhiGIpqTiL+2/YgSnkGhRuYlxuFB6U8WPgrUN UMt0linQtUsxMJCghMA3T8cODGon4ugZ0cCJmDfpkStI3jUuoxulSX2I8xmUQtGe 2Q/sUQaWgJhe4RDoth6w7E9GE8733WGhC1mIjxyJMx4vmu4ofLAwN6XUzJJ3eC7s P34vOGq/sqxG/U+BbUu71A== -----END CERTIFICATE----- </ca> </content> <ip_address> </ip_address> </install> </certificate> Estructura del Paquete de Respuesta El nodo install del paquete de salida XML se estructura de la siguiente forma:

131 Configurando a través de la API Remota 131 result, obligatorio Ajusta la respuesta recuperada desde el servidor. status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: unsignedint. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string.

132 132 Configurando a través de la API Remota Muestras de Respuesta Una respuesta positiva del servidor tiene el siguiente formato: <packet version= > <certificate> <install> <result> <status>ok</status> </result> </install> </certificate> Las respuestas negativas del servidor tienen el siguiente formato: <packet version= > <certificate> <install> <result> <status>error</status> <errcode>8002</errcode> <errtext>unable to set csr content to certificate : CSR field contains an improper value : openssl failed: </errtext> </result> </install> </certificate> <packet version= > <certificate> <install> <result> <status>error</status> <errcode>8006</errcode> <errtext>unable to set certificate name : </errtext> </result> </install>

133 Configurando a través de la API Remota 133 </certificate> Creando Dominios Para crear una cuenta de dominio, emita un paquete de petición XML que contenga el nodo de operación domain/add: <packet version= > <domain> <add> </add> </domain> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta Estructura del Paquete de Petición Un paquete de petición XML que cree una cuenta de dominio incluye el nodo de operación domain/addque se estructura de la siguiente forma:

134 134 Configurando a través de la API Remota gen_setup, obligatorio Contiene la información importante acerca de la cuenta de dominio. Tipo de datos: none. name, obligatorio Indica el nombre del dominio. Esta opción es imprescindible para todos los comandos, excepto para Tipo de datos: domainname (plesk_domain.xsd). ip_address, obligatorio Indica la IP donde se alojará el dominio. Tipo de datos: ip_address (common.xsd). hosting, obligatorio Indica las opciones de alojamiento para el dominio. Tipo de datos: domainhostingagentset (plesk_domain.xsd). vrt_hst, obligatorio Indica las opciones de alojamiento para el dominio. Tipo de datos: domainphhostingset (plesk_domain.xsd). Estructurado de la siguiente forma: property, obligatorio Indica un parámetro de alojamiento. Tipo de datos: PleskPhysHostingPropertyType (plesk_domain.xsd). name, obligatorio Indica el nombre de un parámetro de alojamiento. Tipo de datos: string. value, obligatorio Indica el valor de un parámetro de alojamiento. Tipo de datos: any. ip_address, obligatorio Indica la dirección IP del dominio. Tipo de datos: ip_address (common.xsd).

135 Configurando a través de la API Remota 135 Muestras de Petición Esta petición crea el dominio example.com alojado en la IP <packet version= > <domain> <add> <gen_setup> <name>example.com</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_login</name> <value>fp16se4fdf0</value> </property> <property> <name>ftp_password</name> <value>qweqwe</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain>

136 136 Configurando a través de la API Remota Estructura del Paquete de Respuesta El nodo add del paquete de respuesta se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. id, requerido si la operación se realiza correctamente Devuelve el identificador único de la cuenta de dominio creada. Tipo de datos:integer. guid, requerido si la operación se realiza correctamente Devuelve el identificador único global de la cuenta de dominio creada. Tipo de datos: string.

137 Configurando a través de la API Remota 137 Muestras de Respuesta El formato de una respuesta positiva obtenida del servidor una vez añadida una cuenta de dominio nueva es el siguiente: <packet version= > <domain> <add> <result> <status>ok</status> <id>6</id> <guid>5c0e a bcc0-881d691bfdef</guid> </result> </add> </domain> El formato de una respuesta negativa puede ser el siguiente (puede que obtenga otro código de error en función de la causa del error): <packet version= > <domain> <add> <result> <status>error</status> <errcode>1023</errcode> <errtext>operation failed.</errtext> </result> </add> </domain> Este tipo de respuesta negativa se recibe cuando el paquete de una petición no indica todas las opciones de alojamiento requeridas: REQUEST PACKET <packet version= > <domain>

138 138 Configurando a través de la API Remota <add> <gen_setup> <name>sample.com</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_password</name> <value>fp16sdfdfrttg0</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain> RESPONSE PACKET <packet version= > <domain> <add> <result> <status>error</status> <errcode>2204</errcode> <errtext>unable to update hosting preferences. system user update is failed: Unable to check system user existence: login name is empty. Incorrect fields: login.</errtext> </result> </add> </domain>

139 Configurando a través de la API Remota 139 Creando Subdominios Para crear una cuenta de subdominio, emita un paquete de petición XML que contenga el nodo de operación subdomain/add: <packet version= > <subdomain> <add> </add> </subdomain> En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta Estructura del Paquete de Petición Un paquete de petición XML que añada un subdominio nuevo incluye el nodo de operación domain/addque se estructura de la siguiente forma:

140 140 Configurando a través de la API Remota parent, obligatorio Indica el nombre del dominio/subdominio en el que se crea el subdominio. (Un subdominio principal sólo se soporta en Windows.) Tipo de datos: string. name, obligatorio Indica el nombre del subdominio. Tipo de datos: string. home, obligatorio si se crea un subdominio en una subcarpeta (sólo Windows) Indica la ruta al directorio principal del subdominio. Tipo de datos: string. Si se deja en blanco (<home/>), se utilizará el directorio raíz del dominio principal. property, opcional Indica una opción de alojamiento de un subdominio creado. Tipo de datos: SubdomainPropertyType (subdomain.xsd). name, obligatorio Indica el nombre de un parámetro de alojamiento. Tipo de datos: string. value, obligatorio Indica el valor de un parámetro de alojamiento. Tipo de datos: any.

141 Configurando a través de la API Remota 141 Muestras de Petición Este paquete crea el subdominio forum.example.com: <packet version= > <subdomain> <add> <parent>example.com</parent> <name>forum</name> <property> <name>ftp_login</name> <value>john</value> </property> <property> <name>ftp_password</name> <value>sample</value> </property> </add> </subdomain> Creando un subdominio en una subcarpeta Este paquete crea el subdominio blog.example.com en la subcarpeta /httpdocs/blogengine: <packet version= > <subdomain> <add> <parent>example.com</parent> <name>blog</name> <home>/httpdocs/blogengine</home> </add> </subdomain>

142 142 Configurando a través de la API Remota Estructura del Paquete de Respuesta El nodo add del paquete de salida XML se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. id, requerido si la operación se realiza correctamente Devuelve el identificador único del subdominio creado. Tipo de datos: id_type (common.xsd). Errores Especficos de Operación Ya existe un subdominio con este nombre No se ha encontrado el dominio/subdominio Se ha indicado una propiedad incorrecta No se ha podido realizar la operación.

143 Configurando a través de la API Remota 143 Muestras de Respuesta Una respuesta positiva recibida desde el servidor una vez se ha creado un subdominio tiene el siguiente formato: <packet version= > <subdomain> <add> <result> <status>ok</status> <id>1</id> </result> </add> </subdomain> Esta respuesta negativa se recibe cuando un subdominio indicado ya existe: REQUEST PACKET <packet version= > <subdomain> <add> <parent>example.com</parent> <name>blog</name> </add> </subdomain> RESPONSE PACKET <packet version= > <subdomain> <add> <result> <status>error</status> <errcode>1007</errcode> <errtext>the subdomain with such name already exists.</errtext> </result> </add>

144 144 Configurando a través de la API Remota </subdomain> Definiendo los Catálogos APS Disponibles Para importar una lista personalizada (archivo de configuración) del Catálogo APS al Panel, emita un paquete de petición XML con el nodo de operación aps/import-config: <packet version= > <aps> <import-config>... </import-config> </aps> El archivo de configuración (en la página 46) debería cargarse previamente al servidor a través del operador upload (en la página 149). En esta sección: Estructura del Paquete de Petición Muestras de Petición Estructura del Paquete de Respuesta Muestras de Respuesta Estructura del Paquete de Petición El nodo import-config del paquete de petición se estructura de la siguiente forma: filename, obligatorio Indica el nombre del archivo de configuración cargado al servidor. Tipo de datos:string. El valor debería ser el nombre de archivo temporal devuelto en la respuesta upload (ver página 158) (en el elemento upload/result/file ).

145 Configurando a través de la API Remota 145 Muestras de Petición Los paquetes de petición que importan la configuración de los Catálogos APS previamente cargados al servidor tienen el siguiente formato. En Linux/Unix: <packet version= > <aps> <import-config> <filename>/usr/local/psa/tmp/li_8fzruf</filename> </import-config> </aps> En Windows: <packet version= > <aps> <import-config> <filename> C:/Program Files/Parallels/Plesk/tmp/li_9D.tmp </filename> </import-config> </aps>

146 146 Configurando a través de la API Remota Estructura del Paquete de Respuesta El nodo import-config del paquete de salida XML se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string.

147 Configurando a través de la API Remota 147 Muestras de Respuesta Una respuesta positiva recibida desde el servidor tiene el siguiente formato: <packet version= > <aps> <install> <result> <status>ok</status> </result> </install> </aps> Esta respuesta negativa se recibe si no se ha encontrado el archivo solicitado: <packet version= > <aps> <import-config> <result> <status>error</status> <errcode>1013</errcode> <errtext>file /usr/local/psa/tmp/li_8fzruf does not exist</errtext> </result> </import-config> </aps> Esta respuesta negativa se recibe si el archivo solicitado tiene unos permisos de acceso incorrectos (seguramente como resultado de la carga de este a través de un agente que no sea upload): <packet version= > <aps> <import-config> <result> <status>error</status> <errcode>1023</errcode> <errtext>unable to use specified file as config file</errtext>

148 148 Configurando a través de la API Remota </result> </import-config> </aps> Instalando Aplicaciones Para instalar aplicaciones en dominios y subdominios, utilice el operador aps tal y como se describe más adelante. En esta sección: Importando Paquetes de Aplicación Instalando una Aplicación Importando Paquetes de Aplicación En esta sección: Cargando Archivos al Servidor Importando el Paquete de Aplicación Cargado Descargando Paquetes de Aplicación desde el Catálogo APS Obteniendo el Estado de la Tarea de Descarga

149 Configurando a través de la API Remota 149 Cargando Archivos al Servidor Para cargar archivos al servidor gestionado por el Panel, se utiliza el operador upload. A diferencia de otros operadores, el operador upload no utiliza una estructura de paquete de petición estándar. Este utiliza el método POST (http://www.w3.org/protocols/rfc2616/rfc2616-sec9.html) para la carga de archivos. Cuando el Panel procesa una petición, la respuesta se proporciona en el paquete de respuesta XML normal. Una vez cargado un archivo al Panel, este puede usarse en otras operaciones. Importante: También puede cargar archivos utilizando los administradores de FTP, aunque en este caso deberá tener en cuenta que los permisos sobre los archivos cargados puede que no sean válidos para posteriores operaciones de RPC de la API sobre los archivos. Por este motivo le recomendamos usar el operador upload. En esta sección: Cargando Archivos a Través de curl Cargando Archivos a Través de PHP Cargando Archivos a Través de.net Estructura del Paquete de Respuesta Muestras de Respuesta Cargando Archivos a Través de curl Para cargar un archivo, realice las siguientes acciones: 1. Cree una conexión SSH al servidor Unix donde se encuentra el archivo. 2. Indique la siguiente cadena en el shell Unix: curl -k -F -H HTTP_AUTH_LOGIN:admin -H HTTP_AUTH_PASSWD:password https://panel-ip:8443/enterprise/control/agent. php Argumentos curl -k Indica que se utiliza curl (http://curl.haxx.se/). Deberá instalarlo en la máquina Unix. Se utiliza la conexión SSL. -F Se cargará el archivo install.log. Puede cargar múltiples archivos en un único paquete. -H HTTP_AUTH_LOGIN:admin Indica el nombre de usuario del administrador del Panel. Sustituya al valor admin por su nombre de usuario al Panel. -H HTTP_AUTH_PASSWD:password

150 150 Configurando a través de la API Remota Indica la contraseña del administrador del Panel. Sustituya password por la contraseña que utiliza para acceder al Panel. https://panel-ip:8443/enterprise/control/agent.php Indica la dirección del servidor del Panel. Sustituya el valor <panel-ip> por la dirección IP del servidor. 3. Presione ENTER.

151 Configurando a través de la API Remota 151 Cargando Archivos a Través de PHP Esto es un ejemplo de un script PHP para la carga de archivos al Panel. Cambie HOST, LOGIN, PASSWD y FILENAME por las credenciales para el Panel. Host LOGIN PASSWD FILENAME El nombre o la dirección IP del servidor gestionado por el Panel. Nombre de usuario del administrador del Panel. Contraseña del administrador del Panel. Nombre completo del archivo a cargar. <?php define( HOST, ); define( PATH, /enterprise/control/agent.php ); define( LOGIN, admin ); define( PASSWD, setup ); define( FILENAME,../../data.rpm ); function write_callback($ch, $data) { echo $data; return strlen($data); } function uploadfile($filename) {$url = https://. HOST. :8443. PATH; $headers = array( HTTP_AUTH_LOGIN:. LOGIN, HTTP_AUTH_PASSWD:. PASSWD, HTTP_PRETTY_PRINT: TRUE, Content-Type: multipart/form-data;, ); // Initialize the curl engine $ch = curl_init(); // Set the curl options curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

152 152 Configurando a través de la API Remota // esta línea hace que funcione en https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // Defina la URL a procesar curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, array ( sampfile )); $result = curl_exec($ch); if (curl_errno($ch)) { echo \n\n \n. curl error number:. curl_errno($ch); echo \n\ncurl error:. curl_error($ch); } curl_close($ch); //fclose($fp); return; } uploadfile(realpath(filename));?>

153 Configurando a través de la API Remota 153 Cargando Archivos a Través de.net Este código fuente.net carga archivos al Panel. Cambie los valores de las variables Hostname, Login, Password y Protocol por los parámetros de la instancia del Panel. Cambie el valor de la variable Filename por el nombre completo del archivo que desea cargar. Filename Hostname Login Password Protocol Nombre completo del archivo a cargar. El nombre o la dirección IP del servidor gestionado por el Panel. Nombre de usuario del administrador del Panel. Contraseña del administrador del Panel. Versión del protocolo RPC de la APl. using System; using System.Net; using System.Text; using System.IO; using System.Xml; using System.Xml.Schema; using System.Security.Cryptography.X509Certificates; using System.Net.Security; namespace ConsoleApplication1 { public class Request { // Interfaz pública // public string Filename =./tmp/myfile.sh ; // Cargar nombre de archivo; public string Hostname = localhost ; // Nombre de host del Panel public string Login = admin ; // Nombre de Usuario del Administrador public string Password = setup ; // Contraseña del Administrador public string Protocol = ; // Versión del Protocolo RPC para la API.

154 154 Configurando a través de la API Remota // Controlador para la recepción de información acerca de la definición del tipo de documento (DTD), // Esquema XML-Data Reduced (XDR) y errores de validación de esquema XML Definition language (XSD). public ValidationEventHandler XmlSchemaValidation = null; public Request() { } public string AgentEntryPoint { get { return https:// + Hostname + :8443/enterprise/control/agent.php ; } } public string InputValidationSchema { get { return https:// + Hostname + :8443/schemas/rpc/ + Protocol + /agent_input.xsd ; } } public string OutputValidationSchema { get { return https:// + Hostname + :8443/schemas/rpc/ + Protocol + /agent_output.xsd ; } } public XmlDocument UploadFile(string uploadfile) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AgentEntryPoint); string boundary = DateTime.Now.Ticks.ToString( x ); request.headers.add( HTTP_AUTH_LOGIN, Login); request.headers.add( HTTP_AUTH_PASSWD, Password); request.contenttype = multipart/form-data; boundary= + boundary; request.method = POST ; // Crear la cabecera del mensaje POST StringBuilder sb = new StringBuilder(); sb.append( ); sb.append(boundary); sb.append( \r\n ); sb.append( Content-Disposition: form-data; name=\ ); sb.append( sampfile ); sb.append( \ ; filename=\ ); sb.append(path.getfilename(uploadfile)); sb.append( \ ); sb.append( \r\n ); sb.append( Content-Type: ); sb.append( application/octet-stream ); sb.append( \r\n ); sb.append( \r\n );

155 Configurando a través de la API Remota 155 string postheader = sb.tostring(); byte[] postheaderbytes = Encoding.UTF8.GetBytes(postHeader); // Crear la string de límite final como matriz de bytes // garantizando que el límite aparece en una línea por sí mismo byte[] boundarybytes = Encoding.ASCII.GetBytes( \r\n + boundary + \r\n ); FileStream filestream = new FileStream(uploadfile, FileMode.Open, FileAccess.Read); long length = postheaderbytes.length + filestream.length + boundarybytes.length; request.contentlength = length; Stream stream = request.getrequeststream(); stream.write(postheaderbytes, 0, postheaderbytes.length); // Escriba los contenidos del archivo byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)filestream.length))]; int bytesread = 0; while ((bytesread = filestream.read(buffer, 0, buffer.length))!= 0) stream.write(buffer, 0, bytesread); // Escriba el límite final stream.write(boundarybytes, 0, boundarybytes.length); XmlDocument result = GetResponse(request); return result; } // Interfaz privado // // Transfiriendo y validando el paquete // private XmlDocument ParseAndValidate(TextReader xml, string schemauri) { XmlSchemaSet schemas = new XmlSchemaSet(); schemas.add(null, schemauri); XmlReaderSettings settings = new XmlReaderSettings(); if (XmlSchemaValidation!= null)

156 156 Configurando a través de la API Remota settings.validationeventhandler += new ValidationEventHandler(XmlSchemaValidation); settings.validationtype = ValidationType.Schema; settings.validationflags = XmlSchemaValidationFlags.ProcessSchemaLocation; settings.schemas = schemas; XmlDocument document = new XmlDocument(); using (XmlReader reader = XmlTextReader.Create(xml, settings)) { document.load(reader); } return document; } private XmlDocument GetResponse(HttpWebRequest request) { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.getresponsestream()) using (TextReader reader = new StreamReader(stream)) { return ParseAndValidate(reader, OutputValidationSchema); } } } class Program { static void Main(string[] args) { if (args.length < 4) { Console.WriteLine( Usage: ParalLelSpaNelapirpcclient <Hostname> <Login> <Password> <FileName> ); Console.WriteLine( ); Console.WriteLine( Hostname - El nombre del host del Panel ); Console.WriteLine( Login - El nombre de usuario del administrador ); Console.WriteLine( Password - Contraseña del administrador ); Console.WriteLine( FileName - Cargar nombre de archivo ); return; }

157 Configurando a través de la API Remota 157 // Verifica el certificado Secure Sockets Layer (SSL) remoto utilizado para la autenticación. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(RemoteCertificateValidation); Request request = new Request(); request.xmlschemavalidation = XmlSchemaValidation; Try { XmlDocument result = request.uploadfile(filename); PrintResult(result); } catch (Exception e) { Console.WriteLine( Request error: {0}, e.message); } } // El siguiente método es invocado por RemoteCertificateValidationDelegate. private static bool RemoteCertificateValidation(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors) { if (sslpolicyerrors!= SslPolicyErrors.RemoteCertificateNotAvailable) return true; Console.WriteLine( Certificate error: {0}, sslpolicyerrors); // No permitir a este cliente comunicarse con servidores no autenticados. return false; } // private static void XmlSchemaValidation(object sender, ValidationEventArgs e) { Console.WriteLine( Validation error: {0}, e.message); } static void PrintResult(XmlDocument document) { XmlTextWriter writer = new XmlTextWriter(Console.Out); writer.formatting = Formatting.Indented;

158 158 Configurando a través de la API Remota document.writeto(writer); writer.flush(); Console.WriteLine(); } } } Estructura del Paquete de Respuesta El paquete XML de salida upload se estructura de la siguiente forma: result, obligatorio Ajusta la respuesta recuperada desde el servidor. Tipo de datos: resulttype (common.xsd). status, obligatorio Indica el estado de ejecución de la operación. Tipo de datos: string. Valores permitidos: ok error. errcode, obligatorio si la operación no puede realizarse Devuelve el código de error. Tipo de datos: integer. errtext, obligatorio si la operación no puede realizarse Devuelve el mensaje de error. Tipo de datos: string. name, obligatorio Indica el nombre del archivo cargado. Tipo de datos: string. file, obligatorio Indica el nombre completo del archivo temporal creado. Tipo de datos: string.

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de Copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526-722-030 Fax: +41-526-722-010s Copyright 1999-2010

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels Plesk Panel. Automatización del despliegue de Panel 10.4

Parallels Plesk Panel. Automatización del despliegue de Panel 10.4 Parallels Plesk Panel Automatización del despliegue de Panel 10.4 Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Prólogo 3. Convenciones Tipográficas... 3 Sugerencias... 4. Familiarizándose con Parallels Small Business Panel 5

Prólogo 3. Convenciones Tipográficas... 3 Sugerencias... 4. Familiarizándose con Parallels Small Business Panel 5 Parallels Panel Contenidos Prólogo 3 Convenciones Tipográficas... 3 Sugerencias... 4 Familiarizándose con Parallels Small Business Panel 5 Cambiando Su Contraseña y Configurando las Opciones de Correo

Más detalles

Aviso de Copyright. ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444

Aviso de Copyright. ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Parallels Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels, Inc.

Más detalles

Prólogo 3. Convenciones Tipográficas... 3 Sugerencias... 4. Introducción 5. Familiarizándose con el interfaz de SiteBuilder 6

Prólogo 3. Convenciones Tipográficas... 3 Sugerencias... 4. Introducción 5. Familiarizándose con el interfaz de SiteBuilder 6 Parallels Panel Contenidos Prólogo 3 Convenciones Tipográficas... 3 Sugerencias... 4 Introducción 5 Familiarizándose con el interfaz de SiteBuilder 6 Creación de un sitio web 8 Edición de un sitio web

Más detalles

Parallels Plesk Automation. Parallels Plesk Automation. Guía de primeros pasos para proveedores de hosting

Parallels Plesk Automation. Parallels Plesk Automation. Guía de primeros pasos para proveedores de hosting Parallels Plesk Automation Parallels Plesk Automation Guía de primeros pasos para proveedores de hosting Contenidos Introducción 3 1. Instalación de PPA en el nodo de administración 6 2. Adición de nodos

Más detalles

Guía de instalación, actualización, migración y transferencia

Guía de instalación, actualización, migración y transferencia Parallels Panel Guía de instalación, actualización, migración y transferencia Parallels Panel 11.0 Revision 1.0 Aviso de copyright Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono:

Más detalles

Copyright del Producto

Copyright del Producto Parallels Panel Copyright del Producto ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Aviso de Copyright. ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444

Aviso de Copyright. ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Parallels Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels, Inc.

Más detalles

Parallels Plesk Sitebuilder

Parallels Plesk Sitebuilder Parallels Plesk Sitebuilder Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Parallels Panel. Guía de instalación, actualización, migración y transferencia. Parallels Plesk Panel 11.5

Parallels Panel. Guía de instalación, actualización, migración y transferencia. Parallels Plesk Panel 11.5 Parallels Panel Guía de instalación, actualización, migración y transferencia Parallels Plesk Panel 11.5 Aviso de copyright Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41

Más detalles

Parallels Plesk Automation. Parallels Plesk Automation: Guía de despliegue

Parallels Plesk Automation. Parallels Plesk Automation: Guía de despliegue Parallels Plesk Automation Parallels Plesk Automation: Guía de despliegue Aviso de copyright Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41 526320 411 Fax: +41 52672 2010

Más detalles

Copyright del Producto

Copyright del Producto Parallels Panel Copyright del Producto ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Prólogo 6. Convenciones Tipográficas... 6 Sugerencias... 7. Uso en Parallels Containers 8. Familiarizándose con Parallels Panel 10

Prólogo 6. Convenciones Tipográficas... 6 Sugerencias... 7. Uso en Parallels Containers 8. Familiarizándose con Parallels Panel 10 Parallels Panel Aviso de Copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526-722-030 Fax: +41-526-722-010s Copyright 1999-2010

Más detalles

Plesk Automation. Parallels. Preguntas técnicas más frecuentes

Plesk Automation. Parallels. Preguntas técnicas más frecuentes Parallels Plesk Automation Q1 2013 Preguntas técnicas más frecuentes En este documento encontrará la respuesta a las preguntas técnicas que puedan surgir al instalar y utilizar Parallels Plesk Automation.

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels. Plesk Control Panel

Parallels. Plesk Control Panel Parallels Plesk Control Panel Advertencia de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008,

Más detalles

Parallels Plesk Panel. Guía del administrador. Panel 10.4

Parallels Plesk Panel. Guía del administrador. Panel 10.4 Parallels Plesk Panel Guía del administrador Panel 10.4 Contenidos Aviso de copyright Error! Bookmark not defined. Prólogo 7 Convenciones Tipográficas... 7 Sugerencias... 8 Uso en Parallels Containers

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels Plesk Sitebuilder

Parallels Plesk Sitebuilder Parallels Plesk Sitebuilder Advertencia de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009,

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Prólogo 8. Convenciones Tipográficas... 8 Sugerencias... 9. Uso en Parallels Containers 10. Novedades en Parallels Panel 12. Panel 10.2...

Prólogo 8. Convenciones Tipográficas... 8 Sugerencias... 9. Uso en Parallels Containers 10. Novedades en Parallels Panel 12. Panel 10.2... Parallels Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011 Parallels

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,

Más detalles

Parallels Plesk Sitebuilder

Parallels Plesk Sitebuilder Parallels Plesk Sitebuilder Advertencia de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009,

Más detalles

Parallels Plesk Panel. Parallels Plesk Panel 10. Guía del revendedor

Parallels Plesk Panel. Parallels Plesk Panel 10. Guía del revendedor Parallels Plesk Panel Parallels Plesk Panel 10 Guía del revendedor Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411

Más detalles

Aviso de Copyright. ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444

Aviso de Copyright. ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Parallels Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels, Inc.

Más detalles

Parallels Plesk Sitebuilder

Parallels Plesk Sitebuilder Parallels Plesk Sitebuilder Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Tekla Structures Guía del Administrador de Licencias. Versión del producto 21.1 septiembre 2015. 2015 Tekla Corporation

Tekla Structures Guía del Administrador de Licencias. Versión del producto 21.1 septiembre 2015. 2015 Tekla Corporation Tekla Structures Guía del Administrador de Licencias Versión del producto 21.1 septiembre 2015 2015 Tekla Corporation Contenido 1 Sistema de licencias de Tekla Structures... 5 1.1 Lista de comprobación

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Prólogo 5. Convenciones Tipográficas... 5 Sugerencias... 6. Familiarizándose con Parallels Panel 7

Prólogo 5. Convenciones Tipográficas... 5 Sugerencias... 6. Familiarizándose con Parallels Panel 7 Parallels Panel Aviso de Copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526-722-030 Fax: +41-526-722-010s Copyright 1999-2010

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,

Más detalles

Prólogo 5. Convenciones Tipográficas... 5 Sugerencias... 6. Descripción de los cambios más importantes efectuados en el Panel 7

Prólogo 5. Convenciones Tipográficas... 5 Sugerencias... 6. Descripción de los cambios más importantes efectuados en el Panel 7 Parallels Panel Aviso de Copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526-722-030 Fax: +41-526-722-010s Copyright 1999-2010

Más detalles

Utilidades de Copia de Seguridad y Restauración de Plesk 8.1 para Windows

Utilidades de Copia de Seguridad y Restauración de Plesk 8.1 para Windows Utilidades de Copia de Seguridad y Restauración de Plesk 8.1 para Windows Guía del Administrador SWsoft, Inc. (Revisión 2.3) (c) 1999-2006 ISBN: N/A SWsoft, Inc. 13755 Sunrise Valley Drive Suite 325 Herndon

Más detalles

Parallels Panel. Parallels Plesk Panel 10. Guía del usuario del panel de control

Parallels Panel. Parallels Plesk Panel 10. Guía del usuario del panel de control Parallels Panel Parallels Plesk Panel 10 Guía del usuario del panel de control Contenidos Prólogo 5 Convenciones Tipográficas... 5 Sugerencias... 6 Inicio tras la migración desde Small Business Panel 7

Más detalles

Servidor de Juegos Counter Strike de Plesk 8.1 para Windows

Servidor de Juegos Counter Strike de Plesk 8.1 para Windows SWsoft, Inc. Servidor de Juegos Counter Strike de Plesk 8.1 para Windows Guía del Administrador (Revisión 2.2) (c) 1999-2006 ISBN: N/A SWsoft, Inc. 13755 Sunrise Valley Drive Suite 325 Herndon VA 20171

Más detalles

Sophos Enterprise Console Guía avanzada de inicio. En el caso de SEC distribuido:

Sophos Enterprise Console Guía avanzada de inicio. En el caso de SEC distribuido: Sophos Enterprise Console Guía avanzada de inicio En el caso de SEC distribuido: Versión: 5.2 Edición: marzo de 2015 Contenido 1 Acerca de esta guía...4 2 Planificar la instalación...5 2.1 Planificar la

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,

Más detalles

Parallels Panel Automation. Migrar a Parallels Plesk Automation

Parallels Panel Automation. Migrar a Parallels Plesk Automation Parallels Panel Automation Migrar a Parallels Plesk Automation Contenidos Acerca de este documento 4 Introducción 5 Preparativos para la migración 8 1) Instale las herramientas de migración de PPA... 9

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Copyright del Producto ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Guía de Instalación Rápida

Guía de Instalación Rápida Guía de Instalación Rápida 1. Resumen de la instalación Gracias por elegir BitDefender Business Solutions para proteger su negocio. Este documento le permite empezar rápidamente con la instalación de BitDefender

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Aviso de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,

Más detalles

Acronis Backup & Recovery 10 Server para Linux. Update 5. Guía de instalación

Acronis Backup & Recovery 10 Server para Linux. Update 5. Guía de instalación Acronis Backup & Recovery 10 Server para Linux Update 5 Guía de instalación Contenido 1 Antes de la instalación...3 1.1 Componentes de Acronis Backup & Recovery 10... 3 1.1.1 Agente para Linux... 3 1.1.2

Más detalles

Prólogo 5. Convenciones Tipográficas... 5 Sugerencias... 6. Descripción de los cambios más importantes efectuados en el Panel 7

Prólogo 5. Convenciones Tipográficas... 5 Sugerencias... 6. Descripción de los cambios más importantes efectuados en el Panel 7 Parallels Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011 Parallels

Más detalles

SERVICE DEFINITION MANUAL DEL ADMINISTRADOR

SERVICE DEFINITION MANUAL DEL ADMINISTRADOR SERVICE DEFINITION MANUAL DEL ADMINISTRADOR Versión de producto: 1.5 Última revisión: 11-11-2008 2008 Carabela Consulting, S.L. Este documento contiene información confidencial. Página 1 de 18 ÍNDICE 1.

Más detalles

Guía del Administrador de Dominio de Plesk 8.1 para Linux/UNIX

Guía del Administrador de Dominio de Plesk 8.1 para Linux/UNIX SWsoft Guía del Administrador de Dominio de Plesk 8.1 para Linux/UNIX Revisión 2.5 (18 Marzo 2007) (c) 1999-2007 2 Contenidos Prólogo 5 Quién debe leer esta Guía... 5 Convenciones Tipográficas... 5 Sugerencias...

Más detalles

Instalación de IBM SPSS Modeler Server Adapter

Instalación de IBM SPSS Modeler Server Adapter Instalación de IBM SPSS Modeler Server Adapter Contenido Instalación del adaptador de IBM SPSS Modeler Server............ 1 Acerca de la instalación de IBM SPSS Modeler Server Adapter................

Más detalles

Reconfigurador de Plesk 8.1 para Windows

Reconfigurador de Plesk 8.1 para Windows SWsoft, Inc. Reconfigurador de Plesk 8.1 para Windows Guía del Administrador (Revisión 1.1) (c) 1999-2006 ISBN: N/A SWsoft, Inc. 13755 Sunrise Valley Drive Suite 325 Herndon VA 20171 USA Teléfono: +1 (703)

Más detalles

Prólogo 4. Convenciones Tipográficas... 4 Sugerencias... 5. Cambio de su contraseña e información de contacto 6

Prólogo 4. Convenciones Tipográficas... 4 Sugerencias... 5. Cambio de su contraseña e información de contacto 6 Parallels Panel Contenidos Prólogo 4 Convenciones Tipográficas... 4 Sugerencias... 5 Cambio de su contraseña e información de contacto 6 Visualización y gestión de su paquete de hosting 7 Visualización

Más detalles

Parallels Transporter Agent

Parallels Transporter Agent Parallels Transporter Agent Guía del usuario Copyright 1999-2014 Parallels IP Holdings GmbH y sus afiliados. Todos los derechos reservados. Parallels IP Holdings GmbH Vordergasse 59 8200 Schaffhausen Suiza

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Copyright del Producto Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526-722-030 Fax: +41-526-722-010s Copyright

Más detalles

Parallels Plesk Panel. Guía del Cliente de Parallels Plesk Panel 9.0. Revision 1.0

Parallels Plesk Panel. Guía del Cliente de Parallels Plesk Panel 9.0. Revision 1.0 Parallels Plesk Panel Guía del Cliente de Parallels Plesk Panel 9.0 Revision 1.0 Copyright Notice ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400

Más detalles

IBM SPSS Statistics Versión 22. Guía del administrador de la licencia de usuario autorizado

IBM SPSS Statistics Versión 22. Guía del administrador de la licencia de usuario autorizado IBM SPSS Statistics Versión 22 Guía del administrador de la licencia de usuario autorizado Contenido Guía del administrador........ 1 Antes de empezar............ 1 Duplicados.............. 1 Citrix y

Más detalles

Panda Perimetral Management Console. Guía para Partners

Panda Perimetral Management Console. Guía para Partners Panda Perimetral Management Console Guía para Partners Aviso de copyright Panda Security 2014. Todos los derechos reservados. Ni la documentación, ni los programas a los que en su caso acceda, pueden copiarse,

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Parallels Plesk Sitebuilder

Parallels Plesk Sitebuilder Parallels Plesk Sitebuilder Advertencia de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009,

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Aviso de copyright Parallels Holdings, Ltd. c/o Parallels International GMbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2011

Más detalles

Instalación y configuración de VMware Horizon Mobile Manager

Instalación y configuración de VMware Horizon Mobile Manager Instalación y configuración de VMware Horizon Mobile Manager Horizon Mobile Manager 1.2 Este documento admite la versión de todos los productos enumerados y admite todas las versiones posteriores hasta

Más detalles

Guía Rápida de Inicio

Guía Rápida de Inicio Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for File Servers. Para disponer de instrucciones detalladas, por favor, diríjase

Más detalles

Acronis Backup & Recovery 10 Server for Linux. Guía de instalación

Acronis Backup & Recovery 10 Server for Linux. Guía de instalación Acronis Backup & Recovery 10 Server for Linux Guía de instalación Contenido 1 Antes de la instalación...3 1.1 Componentes de Acronis Backup & Recovery 10... 3 1.1.1 Agente para Linux... 3 1.1.2 Generador

Más detalles

Manual de instalación Sistema S.I.S.E. Versión 1.0

Manual de instalación Sistema S.I.S.E. Versión 1.0 Manual de instalación Sistema S.I.S.E. Versión 1.0 Autor: B2 Publicidad Aportes: Kitsu Asesorias Página 1 Tabla de contenido Introducción... 3 Resumen de objetivos... 3 Definición de la arquitectura seleccionada...

Más detalles

Ing. Angélica Acosta. / Mayo, 2011. Linux Small Business Server

Ing. Angélica Acosta. / Mayo, 2011. Linux Small Business Server Linux Small Business Server ZENTYAL El Servidor Integral para PyMEs El decreto 3390 obliga al gobierno venezolano a utilizar software libre representando un cambio radical en la administración pública

Más detalles

Guía de Inicio Respaldo Cloud

Guía de Inicio Respaldo Cloud Respaldo Cloud Para Microsoft Windows Versión 1.0 1. Contenidos Guía de Inicio Qué es Respaldo Cloud?... 3.1 Información de Acceso... 3.2 Requisitos de Sistema... 4.3 Sistemas operativos soportados...

Más detalles

Cómo actualizar a ediciones avanzadas de Acronis Backup & Recovery 11

Cómo actualizar a ediciones avanzadas de Acronis Backup & Recovery 11 Cómo actualizar a ediciones avanzadas de Acronis Backup & Recovery 11 Se aplica a las siguientes ediciones: Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Server for Linux

Más detalles

Parallels Transporter

Parallels Transporter Parallels Transporter Guía del Usuario Copyright 1999-2010 Parallels Holdings, Ltd. y sus afiliados. Todos los derechos reservados. Parallels Holdings, Ltd. c/o Parallels International GMbH. Parallels

Más detalles

Guía de implementación

Guía de implementación Guía de implementación Instalación de software Contenido Descripción general de la implementación de software Servidor CommNet Windows Clúster de Windows - Servidor virtual Agente CommNet Windows Clúster

Más detalles

Fractalia Remote Systems Departamento de Ingeniería. Manual de Operador y Cliente Fractalia Remote Support FRS 0.1. 01/09/2011 Arturo Mencía Martínez

Fractalia Remote Systems Departamento de Ingeniería. Manual de Operador y Cliente Fractalia Remote Support FRS 0.1. 01/09/2011 Arturo Mencía Martínez Fractalia Remote Systems Departamento de Ingeniería Manual de Operador y Cliente Fractalia Remote Support FRS 0.1 01/09/2011 Arturo Mencía Martínez Propiedades del documento Fractalia Remote Systems, S.L.

Más detalles

Manual TeamViewer Manager 6.0

Manual TeamViewer Manager 6.0 Manual TeamViewer Manager 6.0 Revision TeamViewer 6.0-954 Índice 1 Resumen... 2 1.1 Acerca de TeamViewer Manager... 2 1.2 Acerca de este manual... 2 2 Instalación y arranque inicial... 3 2.1 Instalación...

Más detalles

Módulo de Acronis True Image

Módulo de Acronis True Image SWsoft, Inc. Módulo de Acronis True Image Guía del Administrador (Revisión 1.0) (c) 1999-2006 ISBN: N/A SWsoft, Inc. 13755 Sunrise Valley Drive Suite 325 Herndon VA 20171 USA Teléfono: +1 (703) 815 5670

Más detalles

GUÍA PARALLELS PLESK PANEL

GUÍA PARALLELS PLESK PANEL GUÍA PARALLELS PLESK PANEL Panel Versión 12.0.18 Fecha creación 29/10/2014 1 CONFIGURACIÓN PLESK Cuando usted este en propiedad de una cuenta de cliente en un proveedor de hosting procederá a la configuración

Más detalles

Actualización del parche de Symantec Client Security

Actualización del parche de Symantec Client Security Actualización del parche de Symantec Client Security Actualización del parche de Symantec Client Security Versión de la documentación 3.0.1.1007 Copyright 2005 Symantec Corporation. Todos los derechos

Más detalles

Guía Rápida 1&1 CLOUD SERVER. Crear copias de seguridad. para Windows

Guía Rápida 1&1 CLOUD SERVER. Crear copias de seguridad. para Windows Guía Rápida 1&1 CLOUD SERVER Crear copias de seguridad para Windows 1&1 Internet España S.L.U. Narciso Serra, 14 28007 Madrid España www.1and1.es Fecha: Julio 2015 Copyright 2015 1&1 Internet España S.L.U.

Más detalles

Guía de Implementación

Guía de Implementación Guía de Implementación Instalación de Software Tabla de Contenido Información General sobre Implementación de Software Servidor CommNet Windows Clúster de Windows - Servidor Virtual Agente de la Red de

Más detalles

Parallels Panel. Guía del revendedor. Parallels Panel 11.0. Revision 1.0

Parallels Panel. Guía del revendedor. Parallels Panel 11.0. Revision 1.0 Parallels Panel Guía del revendedor Parallels Panel 11.0 Revision 1.0 Aviso de copyright Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41 526320 411 Fax: +41 52672 2010 Oficina

Más detalles

Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows. Módulo 4: Servicios de Internet. FTP

Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows. Módulo 4: Servicios de Internet. FTP Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows Módulo 4: Servicios de Internet. FTP Aulas en red. Aplicaciones y servicios. Windows Servicio FTP Con anterioridad, en este mismo módulo

Más detalles

Parallels Plesk Panel. Guía del usuario de Parallels Web Presence Builder 10.4

Parallels Plesk Panel. Guía del usuario de Parallels Web Presence Builder 10.4 Parallels Plesk Panel Guía del usuario de Parallels Web Presence Builder 10.4 Contenidos Prólogo 4 Convenciones Tipográficas... 4 Sugerencias... 5 Introducción 6 Familiarizándose con Web Presence Builder

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN ues CICLO: 02/2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN GUIA DE LABORATORIO #2 Nombre de la Práctica: Instalación y configuración de Joomla Lugar de Ejecución:

Más detalles

Manual de Usuario. Manual de Instalación Compucaja.Net y SQL Server 2012

Manual de Usuario. Manual de Instalación Compucaja.Net y SQL Server 2012 Manual de Usuario Manual de Instalación Compucaja.Net y SQL Server 2012 Hoja de Contenido Requerimientos mínimos 4 Instalación de COMPUCAJA.net 5 Instalación Microsoft SQL Server 2012 Express 11 Herramientas

Más detalles

CA ARCserve Backup Patch Manager para Windows

CA ARCserve Backup Patch Manager para Windows CA ARCserve Backup Patch Manager para Windows Guía del usuario r16 Esta documentación, que incluye sistemas incrustados de ayuda y materiales distribuidos por medios electrónicos (en adelante, referidos

Más detalles

Parallels Plesk Panel. Guía del Administrador de Dominio de Parallels Plesk Panel 9.0. Revision 1.0

Parallels Plesk Panel. Guía del Administrador de Dominio de Parallels Plesk Panel 9.0. Revision 1.0 Parallels Plesk Panel Guía del Administrador de Dominio de Parallels Plesk Panel 9.0 Revision 1.0 Copyright Notice ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono:

Más detalles

Dell SupportAssist versión 1.0 para servidores Guía de inicio rápido

Dell SupportAssist versión 1.0 para servidores Guía de inicio rápido Dell SupportAssist versión 1.0 para servidores Guía de inicio rápido Notas, precauciones y avisos NOTA: Una NOTA proporciona información importante que le ayuda a utilizar mejor su equipo. PRECAUCIÓN:

Más detalles

Sage CRM. 7.2 Guía de autoservicio

Sage CRM. 7.2 Guía de autoservicio Sage CRM 7.2 Guía de autoservicio Copyright 2013 Sage Technologies Limited, editor de este trabajo. Todos los derechos reservados. Quedan prohibidos la copia, el fotocopiado, la reproducción, la traducción,

Más detalles

Manual de Usuario. Start Web Hosting

Manual de Usuario. Start Web Hosting Manual de Usuario Start Web Hosting 1 INDICE 1. Introducción... 3 2. Características del servicio... 3 2.1. Recursos... 3 2.2. Gestión... 4 2.3. Inicio de uso del servicio... 4 3. El panel de control...

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Copyright del Producto ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

MICROSOFT EXCHANGE 2007

MICROSOFT EXCHANGE 2007 MICROSOFT EXCHANGE 2007 En el momento de elaborar este documento en la URL http://technet.microsoft.com/enus/evalcenter/bb736128.aspx podíamos descargar una versión de prueba de Microsoft Exchange 2007.

Más detalles

En el servidor Proxy se creara una regla de acceso donde se prohibe la entrada a páginas relacionadas con sexo, pornografía, etc.

En el servidor Proxy se creara una regla de acceso donde se prohibe la entrada a páginas relacionadas con sexo, pornografía, etc. Instalación y Configuración de un servidor Proxy con En esta práctica se pretende instalar y configurar un servidor Proxy en Linux con Squid y un cortafuegos GuFW en el servidor Ubuntu. La administración

Más detalles

Parallels Plesk Control Panel

Parallels Plesk Control Panel Parallels Plesk Control Panel Documento Qué Hay de Nuevo Versión 8.3 www.parallels.com Versión 1.0 Elementos Clave El lanzamiento de Plesk 8.3 sigue con la iniciativa Open Fusion de Parallels, que permite

Más detalles

Jorge Valhondo Vazquez. Implantación Aplicaciones Informáticas de Gestión ASI2

Jorge Valhondo Vazquez. Implantación Aplicaciones Informáticas de Gestión ASI2 Jorge Valhondo Vazquez Implantación Aplicaciones Informáticas de Gestión ASI2 Marzo 2011 Contenido 1. Introducción:... 3 2. Que es virtualmin:... 3 3. Versiones y compatibilidades:... 4 4. Instalación:...

Más detalles

Dr.Web Enterprise Security Suite Guía Rápida de Implantación (Windows)

Dr.Web Enterprise Security Suite Guía Rápida de Implantación (Windows) Dr.Web Enterprise Security Suite Guía Rápida de Implantación (Windows) Versión de Dr.Web ESS: 6.0.4 Última actualización: 28/11/2013 2013 IREO Mayorista de ITSM y Seguridad Guía de Implantación Dr.Web

Más detalles

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Copyright del Producto ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009, Parallels,

Más detalles

Parallels Plesk Automation. Guía de operaciones, Parallels Plesk Automation 11.0

Parallels Plesk Automation. Guía de operaciones, Parallels Plesk Automation 11.0 Parallels Plesk Automation Guía de operaciones, Parallels Plesk Automation 11.0 Aviso de copyright Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Suiza Teléfono: +41 526320 411 Fax: +41 52672

Más detalles

Parallels Plesk Sitebuilder

Parallels Plesk Sitebuilder Parallels Plesk Sitebuilder Advertencia de Copyright ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 EEUU Teléfono: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2009,

Más detalles