Voorwoord 4. Typografische Conventies... 4 Reacties Over dit document 6. Aanwijzingen voor de inrichtingsprocedure 8

Maat: px
Weergave met pagina beginnen:

Download "Voorwoord 4. Typografische Conventies... 4 Reacties... 5. Over dit document 6. Aanwijzingen voor de inrichtingsprocedure 8"

Transcriptie

1 Parallels Panel

2 Inhoud Voorwoord 4 Typografische Conventies... 4 Reacties... 5 Over dit document 6 Aanwijzingen voor de inrichtingsprocedure 8 Parallels Panel implementeren 9 Zelfstandige implementatie (stand alone) De release-id verkrijgen Een lijst van productcomponenten ophalen Parallels Panel installeren CLI-naslag voor installatieprogramma (verkort) Installatiescript (Linux/Unix) Inrichting binnen een Parallels Containers-omgeving Parallels Containers voor Unix Parallels Containers voor Windows Een mirror instellen met het hulpprogramma Rsync Mirrors instellen voor Linux/Unix-distributies Een mirror instellen voor Windows-distributies Overzicht van handelingen bij het instellen 32 Parallels Panel initialiseren Licentiesleutel installeren Branding van Parallels Panel Links naar diensten aanpassen Instellen van de DNS Sjablonen voor SOA-records wijzigen Sjablonen voor DNS-records instellen SSL-certificaten installeren Domeinen en subdomeinen aanmaken Toepassingen installeren Toepassingspakketten importeren Toepassingen installeren Instellen van de beschikbare APS-catalogussen Configuratiebestand voor APS-catalogussen Instellen via externe API 48 Gebruik van de externe API Over de externe API API RPC-pakketten Het schrijven van cliëntsoftware Parallels Panel instellen... 88

3 Voorwoord 3 Parallels Panel initialiseren Licentiesleutel installeren Instellen van de DNS SSL-certificaten installeren Domeinen aanmaken Subdomeinen aanmaken Instellen van de beschikbare APS-catalogussen Toepassingen installeren Instellen via CLI 211 Over de CLI van Parallels Panel Parallels Panel instellen Parallels Panel initialiseren Licentiesleutel installeren Branding van Parallels Panel Instellen van de DNS SSL-certificaten installeren Domeinen aanmaken Subdomeinen aanmaken Instellen van de beschikbare APS-catalogussen Toepassingen installeren

4 4 Voorwoord Voorwoord In deze sectie: Typografische Conventies... 4 Reacties... 5 Typografische Conventies Voordat u deze handleiding gebruikt, is het belangrijk te begrijpen welke documentatieconventies worden aangehouden. De volgende soorten opmaak in de tekst geven aan dat het om speciale informatie gaat. Opmaakconventie Soort informatie Voorbeeld Speciaal Vet Cursief Monospace Elementen die u moet selecteren, zoals opties in een menu, knoppen of onderdelen in een lijst. Titels van hoofdstukken, secties en subsecties. Wordt gebruikt om het belang van een bepaald punt te benadrukken, om een nieuwe term te introduceren of om aan te geven dat het om een voorbeeldtekst gaat die moet worden vervangen door een echte naam of waarde. De namen van opdrachten, bestanden en mappen. Ga naar het tabblad Systeem. Lees het hoofdstuk Beginselen van systeembeheer. Het systeem ondersteunt het zoeken met zogenaamde jokers. Het licentiebestand bevindt zich in de map ses.

5 Voorwoord 5 Opmaakconventie Soort informatie Voorbeeld Preformatted Schermuitvoer van de # ls al /files computer in een totaal opdrachtregelsessie; broncode in XML, C++ of een andere programmeertaal. Preformatted Vet HOOFDLETTERS TOETS+TOETS Om wat u invoert te onderscheiden van de computeruitvoer op het scherm. Namen van de toetsen op het toetsenbord. Combinaties van toetsen die de gebruiker moet indrukken en ingedrukt moet houden om vervolgens een andere toets aan te slaan. # cd /root/rpms/php SHIFT, CTRL, ALT CTRL+P, ALT+F4 Reacties Als u in deze handleiding een fout aantreft, of wanneer u suggesties of ideeën hebt over hoe deze beter zou kunnen, laat het ons weten via het online formulier op Neem in uw verslag alstublieft de titel van deze handleiding op, de titel van het hoofdstuk en van de betreffende sectie, als ook van het tekstfragment waarin u de fout hebt aangetroffen.

6 H O O F D S T U K 1 Over dit document Doelstelling Inhoud Het doel van dit document is om alle essentiële informatie te verschaffen voor de implementatie van Parallels Small Business Panel (hierna Parallels Panel genoemd), waarmee hostingbedrijven hun klanten een compleet pakket met hostingdiensten kunnen aanbieden. Dit document is bedoeld voor ontwikkelaars bij hostingbedrijven die Parallels Panel moeten implementeren, dat wil zeggen: die de installatie/implementatie willen automatiseren en de configuratie zo willen instellen dat deze aan de specifieke wensen van de klant tegemoet komt. Dit document bevat aanbevelingen voor wat wij als best practices beschouwen - volledig getest en gegarandeerd - bij het installeren en instellen van Parallels Panel als onderdeel van de productimplementatie. Dit document heeft niet de ambitie om een volledig functionele omschrijving te zijn van de API s: sommige handelingen en opties voeren te ver om hier te omschrijven. Dienstverleners adviseren tegenwoordig steeds vaker het aanbieden van diensten met toegevoegde waarde, in plaats van hosting op een onbeheerde infrastructuur. De hostingpakketten die worden verkocht bevatten niet alleen een fysieke of virtuele serveromgeving en de optionele installatie van een beheerpaneel, maar ook domeinnaamregistratie en SSL-certificaten. Nu de SaaS-benadering steeds populairder wordt onder consumenten, in het bijzonder bij het Midden- en Kleinbedrijf, bevatten hostingpakketten ook steeds vaker vooraf ingestelde sets van toepassingen die zijn geïnstalleerd op de domeinen van de klant. Veel pakketten bevatten ook gehoste diensten, zoals mail, hulpprogramma s voor samenwerking en content management. Voor de installatie van Parallels Panel betekent dit dat de provider meteen na installatie de instellingen moet configureren, wat onder meer het volgende behelst: DNS-instellingen Configuratie van domein (website) Installatie van SSL-certificaten Installatie van APS-toepassingen Om het voor aanbieders eenvoudiger te maken om aanvullende diensten aan te bieden, geeft Parallels in dit document uitleg over hoe Parallels Panel kan worden geïmplementeerd, ingesteld en geïntegreerd in een inrichtingstoepassing. Overzicht

7 Over dit document 7 Het hoofdstuk Aanwijzingen voor de inrichtingsprocedure geeft informatie over de belangrijke momenten die van invloed zijn op het hele proces van inrichting. Het hoofdstuk Parallels Panel implementeren richt zich op de implementatiefase van het inrichten van Parallels Panel. Hierin wordt zowel de installatie binnen de Parallels Containers-omgeving behandeld, als ook de zelfstandige installatie (stand alone). Ook het aanpalende onderwerp van het instellen van aangepaste mirrors van de opslag van Parallels Small Business Panel-distributies wordt op deze plek besproken. De volgende drie hoofdstukken zijn gewijd aan de instellingsfase van het inrichten van Parallels Panel: Het hoofdstuk Overzicht van handelingen bij het instellen omschrijft de betekenis en omvang van de handelingen die nodig zijn voor het instellen. Het hoofdstuk Instellen via externe API richt zich op het instellen van Parallels Panel via de externe XML API. Dit hoofdstuk legt de werking uit van de externe API: het geeft een overzicht van het API RPC-protocol en voorbeelden van de hulpprogramma s die van dit protocol gebruik maken voor interactie met de Parallels Panel-server. Vervolgens wordt in detail omschreven welke requestberichten een hulpprogramma van een andere leverancier moet uitsturen om instellingen in Parallels Panel te configureren en wordt een uitleg gegeven van de antwoorden die na een handeling door Parallels Panel worden teruggestuurd. Het hoofdstuk Instellen via CLI richt zich op het instellen van Parallels Panel via de opdrachtregelinterface van Parallels Panel. Eerst wordt in dit overzicht een overzicht gegeven van de basisbeginselen van CLI; vervolgens wordt in detail omschreven welke opdrachten moeten worden uitgevoerd voor het instellen van Parallels Panel.

8 H O O F D S T U K 2 Aanwijzingen voor de inrichtingsprocedure Zorg in het geval van Parallels Small Business Panel voor Windows voor een pauze van vijf minuten tussen de installatie en de configuratie van het product. Deze pauze is nodig omdat er na installatie een aantal scripts worden uitgevoerd die enige tijd nodig hebben om componenten van andere bedrijven te registreren en in te stellen. Handelingen die tijdens deze periode worden uitgevoerd kunnen daarom mislukken.

9 H O O F D S T U K 3 Parallels Panel implementeren De focus van dit hoofdstuk is de implementatiefase van de inrichting van Parallels Small Business Panel. In dit hoofdstuk wordt zowel de installatie binnen de Parallels Containers-omgeving behandeld, als ook de zelfstandige installatie (stand alone). Ook het aanpalende onderwerp van het instellen van aangepaste mirrors van de opslag van Parallels Panel-distributies wordt op deze plek besproken. In dit hoofdstuk: Zelfstandige implementatie (stand alone) Inrichting binnen een Parallels Containers-omgeving Een mirror instellen met het hulpprogramma Rsync... 26

10 10 Parallels Panel implementeren Zelfstandige implementatie (stand alone) In deze sectie wordt de automatisering behandeld van het implementeren van Parallels Panel in een andere omgeving dan Parallels Containers, of het nu om een Linux/Unix-gebaseerde of een Windows-gebaseerde omgeving gaat. Deze sectie behandelt de basisbeginselen van de installatie van Parallels Panel en biedt vervolgens aanwijzingen voor het installeren van het product via de opdrachtregel. Zie voor details over de installatievereisten de Installatiehandleiding die u kunt vinden op de documentatiepagina van Parallels Small Business Panel (http://www.parallels.com/products/small-business-panel/documentation/). Zelfstandige implementatie van Parallels Panel wordt uitgevoerd door het installatieprogramma van Parallels. Het hulpprogramma maakt verbinding met een update-server van Parallels Small Business Panel waarop de pakketten van Parallels Panel zijn opgeslagen. De pakketten worden vervolgens opgehaald en geïnstalleerd. Het installatieprogramma Parallels Installer werkt ofwel in interactieve modus (via de grafische gebruikersinterface op het web, of via de opdrachtregel), of automatisch als deze vanaf de opdrachtregel wordt uitgevoerd en er specifieke opties zijn opgegeven. De laatste mogelijkheid stelt u in staat om de Parallels Panel uit te rollen met behulp van shellscripts. Er zijn verschillende distributies van Parallels Installer die zijn gemaakt voor verschillende besturingssystemen en platforms. Zorg er dus voor dat u de juiste versie van Parallels Installer verkrijgt voor het besturingssysteem van uw host. Normaal gesproken worden de binaires van Parallels Installer verspreid met namen in de volgende notatie: parallels_installer_v<versie van de installer>_os_<versie van het besturingssysteem>_<platform>. Opmerking: bij omschrijvingen van de Parallels Installer CLI wordt ervan uitgegaan dat het hulpprogramma Parallels Installer de naam parallels_installer heeft. De officiële opslag van Parallels Small Business Panel zijn autoinstall.plesk.com (voor Linux/Unix-pakketten) en autoinstall-win.parallels.com (voor Windows-pakketten). U wilt wellicht aangepaste mirrors instellen (op pagina 26) van de opslag van Parallels Panel binnen uw eigen hostingomgeving, om zo tijd en dataverkeer te besparen en de installatie trefzekerder te maken. In deze sectie: De release-id verkrijgen Een lijst van productcomponenten ophalen Parallels Panel installeren CLI-naslag voor installatieprogramma (verkort) Installatiescript (Linux/Unix)... 18

11 Parallels Panel implementeren 11 De release-id verkrijgen De release-id is een uniek identificatiekenmerk van een release van Parallels Panel. Dit is bijvoorbeeld Parallels Small Business Panel Om een lijst met release-id s te verkrijgen geeft u de volgende opdracht op: parallels_installer show-all-releases op een Linux/Unix-server parallels_installer.exe show-all-releases op een Windows-server Er zal een lijst met productversies worden weergegeven. Bijvoorbeeld: PPSMBE_10_2_0 (Parallels Small Business Panel )

12 12 Parallels Panel implementeren Een lijst van productcomponenten ophalen Om een lijst op te halen met componenten van de release, geeft u de opdracht in de volgende notatie: parallels_installer select-release-id <ID> --show-components Voor Parallels Small Business Panel 10.2 is dat: parallels_installer select-release-id PPSMBE_10_2_0 --show-components op een Linux/Unix-server parallels_installer.exe select-release-id PPSMBE_10_2_0_WIN show-components Er wordt een lijst met componenten weergegeven met aan de linkerkant de namen van de componenten, een indicatie of het component kan worden geïnstalleerd ([install]) of bijgewerkt ([upgrade]), met een korte omschrijving: base [install] - Parallels Small Business Panel basispakketten autoinstaller [install] - Parallels Products Installer postfix [install] - Postfix van mailserver php5 [install] - Ondersteuning voor PHP5 postgresql [install] - Ondersteuning voor PostgreSQL api [install] - API van Parallels Small Business Panel siteeditor [install] - Site Editor setemplates [install] - Site Editor-sjablonen mod_python [install] - module Apache mod_python ruby [install] - Ondersteuning voor Ruby on Rails firewall [install] - Firewall-uitbreiding vpn [install] - VPN-uitbreiding fileserver [install] - Bestandsserver-uitbreiding watchdog [install] - Uitbreiding voor systeembewaking (Watchdog) drweb [install] - Parallels Premium Antivirus spamassassin [install] - Ondersteuning voor SpamAssassin backup [install] - Backup Manager backup-vz [install] - Backup Manager PVC ondersteuning voor herinstallatie de-de-locale [install] - Duits taalpakket ja-jp-locale [install] - Japans taalpakket es-es-locale [install] - Spaans taalpakket ru-ru-locale [install] - Russisch taalpakket fr-fr-locale [install] - Frans taalpakket it-it-locale [install] - Italiaans taalpakket zh-cn-locale [install] - Chinees taalpakket voor China zh-tw-locale [install] - Chinees taalpakket voor Taiwan nl-nl-locale [install] - Nederlands taalpakket voor Nederland

13 atmail [install] - Ondersteuning voor Atmail-webmail Parallels Panel implementeren 13

14 14 Parallels Panel implementeren Parallels Panel installeren Om Parallels Small Business Panel te installeren, geeft u een opdracht op in de volgende notatie: parallels_installer <opties voor bron van pakket> --select-release-id <ID> <opties voor installatie van componenten> [overige opties] waarbij opties voor bron van pakket staat voor locatie waar het installatieprogramma de pakketten voor installatie van Parallels Panel vandaan moet halen <opties voor bron van pakket> = source <URL> als u gebruik maakt van een mirror van de update-server van Parallels Panel OF source <zoekpad> als u gebruik maakt van uw lokale bestandssysteem OF geen als u installeert vanaf de update-server van Parallels Panel opties voor installatie van componenten (op pagina 12) staat voor de componenten van Parallels Panel die moeten worden geïnstalleerd <opties voor installatie van componenten> = install-everything OF install-component component1 [--install-component component2 [... [--install-component componentn]]] onder de overige opties vallen ondermeer de opties voor het aangeven van de proxy-instellingen, voor het vastleggen van een verslag van de installatie in een logbestand, etcetera. Zie voor de volledige details de sectie CLI-referentie van Installer (op pagina 15) Voorbeelden voor Linux/Unix 1. De volgende opdracht installeert Parallels Small Business Panel 10.2 (de release-id is PPSMBE_10_2_0) vanaf de mirror die is ingesteld op een via HTTP bereikbare server op host ppsmbe-mirror.voorbeeld.nl. De installatiebestanden zullen tijdelijk worden opgeslagen in de map /tmp/ppsmbe en de status van de installatie zal per worden gemeld op adres De geïnstalleerde componenten zijn de basispakketten van Parallels Panel, de PostgreSQL-server en het spamfilter SpamAssassin../parallels_installer source --target /tmp/ppsmbe select-release-id PPSMBE_10_2_0 --install-component base install-component postgresql install-component spamassassin notify-

15 Parallels Panel implementeren De volgende opdracht voert een volledige installatie uit (alle beschikbare componenten worden geïnstalleerd) van Parallels Small Business Panel 10.2 (de release-id is PPSMBE_10_2_0), vanaf de update-server van Parallels. Alle uitvoer van het installatieprogramma zal worden weggeschreven naar een XML-bestand../parallels_installer select-release-id PPSMBE_10_2_0 --install-everything enable-xml-output Voorbeelden voor Windows 1. De volgende opdracht installeert Parallels Small Business Panel 10.2 (de release-id is PPSMBE_10_2_0_WIN) vanaf de mirror die is ingesteld op een via HTTP bereikbare server op host ppsmbe-mirror.voorbeeld.nl. De installatiebestanden zullen tijdelijk worden opgeslagen in de map %SystemDrive%\Parallels\ en de status van de installatie zal per worden gemeld op adres De geïnstalleerde componenten zijn de basispakketten van Parallels Panel, de naamserver Bind, de mailserver MailEnable, de PHP-scriptengine, Site Editor en het webmailprogramma 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. De volgende opdracht voert een volledige installatie uit (alle beschikbare componenten van het product worden geïnstalleerd) van Parallels Small Business Panel 10.2 (de release-id is PPSMBE_10_2_0_WIN), vanaf de update-server van Parallels. Alle uitvoer van het installatieprogramma zal worden weggeschreven naar een XML-bestand. parallels_installer.exe select-release-id PPSMBE_10_2_0_WIN install-everything enable-xml-output CLI-naslag voor installatieprogramma (verkort) Deze naslag bevat de opties voor Parallels Installer, voor zover deze relevant zijn voor het installeren van Parallels Panel met gebruik van CLI. Als u meer wilt weten over de opties voor het uitvoeren van een upgrade van een reeds geïnstalleerde kopie van Parallels Panel of van het onderliggende besturingssysteem, geef dan de volgende opdracht op: parallels_installer help Optie --source <zoekpad> <url> Omschrijving en mogelijke argumenten Als u de pakketten voor Parallels Panel vanuit het lokale bestandssysteem ophaalt, geef dan de optie --source op om te verwijzen naar het.inf3-bestand dat de gegevens bevat van de Parallels Panel-build die u wilt installeren. Als u de pakketten voor Parallels Panel vanaf een netwerkserver ophaalt, geef dan de optie --source <URL> op, om te wijzen naar de map waarin de mirror van de update-server van Parallels Panel zich bevindt.

16 16 Parallels Panel implementeren Optie --target <zoekpad> --proxy-host <netwerkadres> --proxy-port <poortnummer> Opties voor verificatie van proxy: --proxy-user<gebruik ersnaam> --proxy-password <wachtwoord> --show-releases --show-all-releases --select-release-id <ID> --select-release-lat est --show-components --install-component <componentnaam> Omschrijving en mogelijke argumenten Het installatieprogramma slaat de opgehaalde bestanden standaard op in de map /<naam van huidige gebruiker>/psa. Als het installatieprogramma bijvoorbeeld wordt uitgevoerd door de gebruiker root, dan zal de map /root/psa worden aangemaakt en gebruikt. Als u een zelfgekozen map wilt gebruiken voor het opslaan van de opgehaalde bestanden, gebruik dan de optie target. Bijvoorbeeld: --target /opt/storage/psa OF --target D:\temp Als u gebruik maakt van een proxyserver of een firewall, gebruik dan deze optie om de domeinnaam of het IP-adres van de proxyserver op te geven. Bijvoorbeeld: --proxy-host proxy.voorbeeld.nl De standaardpoort voor het maken van verbinding met een proxyserver is Als uw proxyserver een ander poortnummer gebruikt, dan moet u deze optie gebruiken om de juiste poort aan te geven. Bijvoorbeeld: --proxy-port 5741 Als uw proxyserver verificatie vereist, dan moet u deze opties gebruiken voor verificatie van het installatieprogramma bij de proxyserver. Bijvoorbeeld: --proxy-user smith proxy-password f1sz9anq4eno52 Gebruik deze optie om een lijst op te halen met beschikbare releases voor het besturingssysteem waarbinnen het installatieprogramma wordt uitgevoerd. U zult een lijst ontvangen met release-identifiers en omschrijvingen van de releases. De release-identifiers hebt u dadelijk nodig om verder te gaan. Deze optie geeft alle releases aan die beschikbaar zijn op de update-server van Parallels Panel. Gebruik deze optie om de releaseversie op te geven waarvan u de eigenschappen wilt bekijken. Gebruik deze optie om de meest recente release te selecteren die voor uw besturingssysteem beschikbaar is. Geef deze optie op voor informatie over de componenten die voor de geselecteerde release beschikbaar zijn. De namen en omschrijvingen van de componenten zullen worden weergegeven. U moet de namen van de componenten opgegeven wanneer u additionele componenten selecteert om te installeren. Gebruik deze optie om aan te geven dat u een specifiek component wilt installeren. Als u twee of meer componenten tegelijk wilt installeren, herhaal deze optie dan voor elk van de componenten. Bijvoorbeeld: --install-component base install-component postgresql install-component spamassassin

17 Parallels Panel implementeren 17 Optie --install-everything --show-os-list --no-space-check --no-daemon --notify- < > --enable-xml-output --query-status --truncate-log --separate-log --debug --version Omschrijving en mogelijke argumenten Gebruik deze optie om alle componenten van de geselecteerde release op te geven. Gebruik deze optie om er achter te komen welke besturingssystemen worden ondersteund door de versie van Parallels Panel die u hebt geselecteerd. Installeert pakketten, ook als u over weinig schijfruimte beschikt. Voert het installatieproces uit op de voorgrond. Gebruik deze optie om het installatieprogramma u statusverslagen per te laten sturen. Een verslag van een geslaagde installatie bevat een lijst met pakketten die zijn geïnstalleerd/bijgewerkt, inclusief een gedetailleerd log. Deze optie is bedoeld voor communicatie met Parallels Panel en kan worden gebruikt voor interactie met andere toepassingen. Als u deze optie opgeeft, dan wordt alle uitvoer van het installatieprogramma XML-wrapped aangeleverd. Merk op dat het installatieprogramma bij gebruik van deze optie geen exitcode van foutmeldingen kan aangeven. De exitcode is altijd nul en alle foutmeldingen worden in de XML-uitvoer aangegeven. Omdat de RPM-database geen meervoudige toegang toestaat vergrendelt het installatieprogramma de functionaliteit. Geef deze optie op om er achter te komen of het installatieprogramma actief is. Deze optie controleert op vergrendeling en geeft ofwel een exitcode terug (0 - het installatieprogramma is niet actief, 1 - het installatieprogramma wordt uitgevoerd en is bezig), of uitvoer in XML-notatie. Schoont het logbestand op bij het starten van de Parallels Products Installer. Maakt een nieuw logbestand aan, elke keer dat de Parallels Products Installer wordt opgestart. Zorgt voor gedetailleerde uitvoer in het logbestand. Toont de versie van Parallels Products Installer.

18 18 Parallels Panel implementeren Installatiescript (Linux/Unix) In deze sectie vindt u informatie over de implementatie en uitvoering van een geïnstalleerd script. Ook vindt u hier een aantal voorbeelden van installatiescripts. Opmerkingen over implementatie en uitvoering Om te voorkomen dat u naar uw wachtwoord wordt gevraagd, elke keer wanneer u via SSH verbinding maakt met de servers waarop Parallels Panel moet worden geïnstalleerd, voegt u uw publieke sleutel toe aan de lijst met geautoriseerde sleutels van de gebruiker namens welke het script op elke server wordt uitgevoerd (zie de SSH-documentatie voor details over deze procedure). Als u beschikt over een lokale mirror van de update-server van Parallels Panel (zoals omschreven in de sectie Mirrors instellen (op pagina 26)), gebruik dan de volgende optie: source <URL van mirror> Alle gedownloade pakketten worden standaard opgeslagen in de map /root/psa. Wilt u een andere map gebruiken, voeg dan de volgende optie toe: target <mapnaam> Voorbeeldscripts 1. Dit voorbeeldscript is van toepassing wanneer het installatieprogramma van Parallels eerder is geüpload naar de server van bestemming en de execution bit is ingesteld in de rechten van het installatieprogramma. #!/bin/sh SERVERS_LIST= node1.voorbeeld.nl node2.voorbeeld.nl 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. Dit voorbeeldscript is van toepassing in gevallen waarbij de binary van Parallels Installer direct vanaf een netwerklocatie wordt verkregen (de URL in het voorbeeld moet uiteraard worden vervangen door een geldige downloadlink voor Parallels Installer). #!/bin/sh SERVERS_LIST= node1.voorbeeld.nl node2.voorbeeld.nl

19 Parallels Panel implementeren 19 for current_server in $SERVERS_LIST; do 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 Parallels Panel implementeren Inrichting binnen een Parallels Containers-omgeving In deze sectie worden alleen de meest essentiële stappen behandeld die moeten worden uitgevoerd om Parallels Panel in te richten via de CLI van Parallels Containers. De nadruk ligt daarbij op het aanmaken van een container met Parallels Small Business Panel. Voor meer details over de CLI van Parallels Container of over de functionaliteit van de API (XML of SOAP), zie de Documentatie voor ontwikkelaars van Parallels Containers (http://www.parallels.com/ptn/documentation/virtuozzo/). Het implementeren van Parallels Panel binnen een Parallels Containers-omgeving behelst de volgende twee stadia: 1. Het toepassingssjabloon van Parallels Panel op een hardwarenode installeren. 2. Het aanmaken van een container en het inrichten van de toepassing vanuit het sjabloon. Het eerste stadium wordt door elke hardwarenode slechts één keer uitgevoerd: zodra er een toepassingssjabloon op een hardwarenode is geïnstalleerd, kan deze worden toegepast op zoveel containers als gewenst. In plaats van elke keer een nieuwe Container aan te maken, steeds wanneer u een Container met Parallels Panel wilt instellen, kunt u ook een bestaande Container klonen met Parallels Panel daar al in geïnstalleerd. Deze container doet dan dienst als een soort sjabloon. In deze sectie: Parallels Containers voor Unix Parallels Containers voor Windows... 24

21 Parallels Panel implementeren 21 Parallels Containers voor Unix Er zijn twee EZ-sjablonen beschikbaar voor Parallels Small Business Panel 10.2: ppsmbe10 Bevat de basiscomponenten van Parallels Panel. ppsmbe10-extended Bevat alle additionele componenten, zoals het SpamAssassin-spamfilter, het Ruby-on-Rails framework, Parallels Premium Antivirus, extra sjablonen voor Site Editor, enzovoorts. Als u de uitgebreide versie van Parallels Panel wilt installeren, maak dan gebruik van beide sjablonen. Het installeren van het Parallels Panel-sjabloon op de hardwarenode van bestemming kan gebeuren op de volgende twee manieren: met gebruik van het hulpprogramma vzup2date. Zie voor details de Engelstalige handleiding Parallels Containers for Linux Reference Guide die u kunt vinden op het Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). door het sjabloon rechtstreeks te downloaden vanaf de website van Parallels (http://www.parallels.com) en deze met het hulpprogramma vzpkg te installeren. Wanneer het sjabloon op een hardwarenode wordt geïnstalleerd, dan wordt er een basisset van bestanden uitgerold, inclusief de definitie van de opslag van toepassingspakketten. Als de toepassing vervolgens in een container wordt geïnstalleerd, dan communiceert Parallels Containers met de opslag (de standaardopslag van Parallels Small Business Panel voor Linux/Unix is de update-server van Parallels op Hier haalt het de relevante toepassingspakketten vandaan om deze vervolgens in de container te installeren. De pakketten worden in de cache van de node opgeslagen totdat deze wordt opgeschoond. Als de toepassing in de container is geïnstalleerd, dan worden de pakketten opnieuw uit de opslag opgehaald. Om tijd en dataverkeer te besparen wilt u wellicht een eigen mirrorinstallatie van de opslag van Parallels Panel gebruiken. Om een Parallels Panel-sjabloon te installeren op een hardwarenode van Parallels Containers met het hulpprogramma vzpkg: 1. Haal een Panel-sjabloon op vanaf de website van Parallels (http://www.parallels.com) en upload deze naar de hardwarenode van bestemming. 2. Installeer het toepassingssjabloon door een opdracht te geven in de volgende notatie: vzpkg install template [-q <-d <getal>>] <zoekpad_naar_pakket>... waarbij -q het wegschrijven van events naar het scherm of naar het logbestand uitschakelt -d --debug <getal> de verbositeit van het log instelt tussen 0 en 10

22 22 Parallels Panel implementeren Voorbeeld: de volgende opdracht installeert zowel de basiscomponenten als de uitbreidingen van Parallels Panel: # vzpkg install template ppsmbe10-debian-5.0-x86-ez prl noarch.rpm ppsmbe10-extended-debian-5.0-x86-ez prl noarch.rpm Een eigen mirror gebruiken: 1. Stel een mirror in zoals omschreven in de sectie Mirrors instellen voor Linux/Unix-distributies (op pagina 27). 2. Bewerk op op de hardwarenode het bestand waarin de URL van de opslag wordt ingesteld: a. Open het bestand /vz/template/<besturingssysteem>/<versie-van-bestur ingssysteem>/<platform>/config/app/<sjabloonnaam-to epassing>/default/repositories om deze te bewerken. Dat wil zeggen /vz/template/<besturingssysteem>/<versie-van-besturingssysteem> /<platform>/config/app/ppsmbe10/default/repositories en /vz/template/<besturingssysteem>/<versie-van-besturingssysteem> /<platform>/config/app/ppsmbe10-extended/default/repositories. Bewerk beide bestanden als u beide sjablonen hebt geïnstalleerd. b. Vervang de URL's van de update-server van Parallels door het adres van uw mirror en sla het bestand op. 3. Tenslotte moet u de metadata van de pakketten opschonen of opnieuw ophalen. Dit kunt u onder meer doen door in vzpkg de opdracht clean te geven. Zie voor details de Engelstalige handleiding Parallels Containers for Linux Reference Guide die u kunt vinden op het Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Een nieuwe container aanmaken en Parallels Panel daarin installeren: 1. Maak een container aan en pas desgewenst de configuratie aan. Geef de volgende opdrachten: vzctl create <CT_ID> [opties] vzctl set <CT_ID> <instellingsnaam> <value> [--save] waarbij <CT_ID> bepaalt een willekeurig ID-nummer voor een container, hoger dan 100 en uniek in de huidige hardwarenode de switch save vertelt vzctl of de wijzigingen moeten worden opgeslagen in het configuratiebestanden van de container Opmerking: voor meer informatie over het aanmaken en instellen van de container, zie de (Engelstalige) handleiding Parallels Containers for Linux Reference Guide. U kunt deze vinden op het Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/).

23 Parallels Panel implementeren 23 Voorbeeld: de onderstaande opdrachten betekenen het volgende: 1. maak een container aan met ID 444 en IP-adres , gebaseerd op het standaard OS-sjabloon dat is ingesteld in het algemene configuratiebestand van Parallels Containers 2. stel de grens en beperking in voor niet-swapbaar kernelgeheugen, privaat (of potentieel privaat) geheugen, het aantal bestanden geopend door alle containerprocessen, de schijfruimte en het totaal aantal schijf-inodes (bestanden, mappen, symbolische links) die een container kan toewijzen 3. sla de grens- en beperkingswaarden op in het configuratiebestanden van de container 4. maak het mogelijk de container te beheren vanuit de webbrowser (door het beheer offline te verbieden met de optie offline_management no ) Opmerking: het is zeer belangrijk dat u deze optie exact zo instelt als in het voorbeeld. Anders zal Parallels Panel niet via een webbrowser toegankelijk zijn. # vzctl create ipadd # vzctl set save kmemsize : privvmpages : numfile 12000: diskspace : diskinodes : offline_management no 2. Start de nieuw aangemaakte container op: # vzctl start <CT_ID> 3. Installeer het Parallels Panel-sjabloon in de container: vzpkg install <CT_ID> <ppsmbe_sjabloonnaam>... Voorbeeld: de volgende opdracht installeert zowel de basiscomponenten als de uitbreidingen van Parallels Panel: # vzpkg install 444 ppsmbe10 ppsmbe10-extended Om een container te klonen: Geef een opdracht op in de volgende notatie: vzmlocal -C {CT List} {CT List} = <bronct_id>:<bestct_id>[:[<bestct_privaat>][:<bestct_root>]] [...] U moet de container-id opgeven van de bron (<bronct_id>) en van de bestemming (<bestct_id>). Het opgeven van het zoekpad naar het private gedeelte van de container van bestemming (<bestct_privaat>) en naar de hoofdmap van de bestemming (<bestct_root>) is optioneel; als deze zoekpaden niet worden opgegeven, dan worden de standaard zoekpaden gebruikt: /vz/private/<bestct_id> en /vz/root/<bestct_id>. Zie voor details over deze en andere opties de Engelstalige handleiding Parallels Containers for Linux Reference Guide die u kunt vinden op het Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Voorbeeld: om de container met Parallels Panel te klonen tijdens de vorige procedure: # vzmlocal -C 444:445

24 24 Parallels Panel implementeren Parallels Containers voor Windows Het Parallels Panel-sjabloon installeren op een hardwarenode van Parallels Containers: 1. Haal het Panel-sjabloon op vanaf de website van Parallels (http://www.parallels.com) en upload deze naar de hardwarenode van bestemming. 2. Installeer de toepassingssjablonen van Parallels Panel. Als u de installatie uitvoert binnen Microsoft Windows Server 2003, installeer dan ook het Microsoft.NET Framework v.2.0 of hoger. U kunt dit doen door een opdracht op te geven in de volgende notatie: vzpkgdeploy [-q -v] -i <sjabloonbestand> waarbij -q het wegschrijven van events naar het scherm of naar het logbestand uitschakelt -v het logniveau instelt op de maximale waarde voor deze sessie van vzpkgdeploy Bijvoorbeeld, >vzpkgdeploy -i ppsmbe_10.2.0_ efd >vzpkgdeploy -i dotnet2.0_frmwk efd Opmerking: het installeren van het extra sjabloon van het.net-framework is alleen vereist voor Windows Server 2003 (PVC 4.0, VZ 3.5.1). Het is niet nodig voor Windows Server 2008 (PVC 4.5). Een nieuwe container aanmaken en Parallels Panel daarin installeren: 1. Maak een container aan en pas desgewenst de configuratie aan. Geef de volgende opdrachten: vzctl create <CT_ID> --pkgset naam [opties] vzctl set <CT_ID> <instellingsnaam> <value> [--save] waarbij <CT_ID> bepaalt een willekeurig ID-nummer voor een container, hoger dan 100 en uniek in de huidige hardwarenode --pkgset naam geeft het OS-sjabloon aan dat moet worden gebruikt voor het aanmaken van de container de switch save vertelt vzctl of de wijzigingen moeten worden opgeslagen in het configuratiebestanden van de container Opmerking: voor meer informatie over het aanmaken en instellen van de container, zie de (Engelstalige) handleiding Parallels Containers for Windows Reference Guide. U kunt deze vinden op het Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Voorbeeld: de onderstaande opdrachten betekenen het volgende:

25 Parallels Panel implementeren 25 maakt een container aan met ID 444 en IP-adres , gebaseerd op het OS-sjabloon w2k3 stelt de schijfruimtebeperking in op 4+ gigabyte, de beperking van privaat geheugen op 1 gigabyte en het beheerderwachtwoord als W8tw00rd maak het mogelijk de container te beheren vanuit de webbrowser (door het beheer offline te verbieden met de optie offline_management no ) Opmerking: het is zeer belangrijk dat u deze optie exact zo instelt als in het voorbeeld. Anders zal Parallels Panel niet via een webbrowser toegankelijk zijn. >vzctl create pkgset w2k3 --ipadd >vzctl set save diskspace vprvmem userpasswd Administrator:W8tw00rd offline_management no 2. Start de nieuw aangemaakte container op: >vzctl start <CT_ID> 3. Installeer in uw container het.net-framework van Microsoft, versie 2.0 of hoger: vzpkgadd <CT_ID> <dotnet_sjabloonnaam> Bijvoorbeeld, >vzpkgadd 444 dotnet2.0_frmwk / Installeer in de container het Parallels Small Business Panel-sjabloon: vzpkgadd <CT_ID> <ppsmbe_sjabloonnaam> Bijvoorbeeld, >vzpkgadd 444 ppsmbe_10.2.0_ Om een container te klonen: Geef een opdracht op in de volgende notatie: vzmlocal -C <CT_List> <CT_List> = <bron_ctid>:<best_ctid>[:<best_privaat>] [opties] U moet de container-id opgeven van de bron (<bron_ctid>) en van de bestemming (<best_ctid>). Het opgeven van het zoekpad naar de private ruimte van de container (<best_privaat>) is optioneel; deze komt dan in plaats van het standaard zoekpad X:\vz\private\<CT_ID>. Zie voor details over deze en andere opties de Engelstalige handleiding Parallels Containers for Windows Reference Guide die u kunt vinden op het Parallels Technology Network (http://www.parallels.com/ptn/documentation/virtuozzo/). Voorbeeld: om de container met Parallels Panel te klonen tijdens de vorige procedure: >vzmlocal -C 444:445

26 26 Parallels Panel implementeren Een mirror instellen met het hulpprogramma Rsync In deze sectie wordt omschreven hoe u een lokale mirror van de update-server van Parallels kunt instellen voor zowel Linux/Unix- als voor Windows-distributies van Parallels Small Business Panel op een Linux-server met behulp van Rsync. Rsync is een opensource hulpprogramma waarmee u mirrors kunt instellen die de gewenste set van Parallels Panel-distributies ondersteunen, waaronder die voor Parallels Containers. De mirror van de opslag van Parallels Small Business Panel voor Linux kan worden gebruikt voor zowel zelfstandige installaties als voor installaties binnen Parallels Containers (afhankelijk van de omvang van de pakketten op de mirror). In deze sectie: Mirrors instellen voor Linux/Unix-distributies Een mirror instellen voor Windows-distributies... 30

27 Parallels Panel implementeren 27 Mirrors instellen voor Linux/Unix-distributies De opslag van Parallels Small Business Panel voor Linux/Unix die zich bevindt op de locatie autoinstall.plesk.com is als volgt gestructureerd (we tonen alleen de bestanden en mappen die van belang zijn voor de mirror van Parallels Panel-pakketten): <PRODUCTNAAM>_<productversie>/ Verschillende submappen krijgen een naam gebaseerd op de versie van Parallels Panel. In dit geval zijn de relevante submappen de volgende a PPSMBE_<versie>/ bijvoorbeeld, PPSMBE_ Dit is waar de Parallels Panel-pakketten zich bevinden. b SETEMPLATES_<versie>/ bijvoorbeeld, SETEMPLATES_ Dit is waar de pakketten met meer dan tweehonderd extra ontwerpsjablonen voor het component Site Editor zich bevinden. Dit is eigenlijk geen product, maar een component van Parallels Panel dat in een aparte productmap is geïnstalleerd om schijfruimte en dataverkeer uit te sparen. Elk van deze submappen bevat de volgende bestanden: dist-<type>-<naam_van_besturingssysteem>-<versie>-<architectuur >/ Bevat distributiepakketten van Parallels Panel, of ontwerpsjablonen bijvoorbeeld, dist-deb-debian-5.0-x86_64/ of dist-deb-debian-all-all/ update-<type>-<naam_van_besturingssysteem>-<versie>-<architectu re> Bevat systeemupdates voor het besturingssysteem van de server; <type> geeft het soort pakket aan: rpm, deb, pkg thirdparty-<type>-<naam_van_besturingssysteem>-<versie>-<archit ecture>/ Bevat additionele pakketten van andere leveranciers <NAAM_VAN_PRODUCT>_<parallels-panel-versie>-<naam_van_besturing ssysteem>-<architectuur>.inf3 Configuratiebestanden van Parallels Installer bijvoorbeeld, ppsmbe suse11.1-x86_64.inf3, setemplates deball-all.inf3 products.inf3 configuratiebestand van Parallels Installer, waarin de Parallels Panel-producten worden omschreven ppsmbe.inf3, setemplates.inf3 configuratiebestanden van Parallels Installer, waarin verschillende versies van Parallels Panel en de additionele componenten worden omschreven

28 28 Parallels Panel implementeren PPSMBE10/ Parallels Small Business Panel metadata die wordt gebruikt voor het installeren van Parallels Panel binnen Parallels Containers, met behulp van EZ-sjablonen. de mappen debian/ en ubuntu/ worden gebruikt als apt-get-opslag voor de installatie van Parallels-producten met behulp van EZ-sjablonen en Parallels Products Installer Om een mirror voor Parallels Panel in te stellen: 1. Meld u aan bij de server waarvoor u een mirror wilt instellen. 2. Maak een map aan waarin de bestanden moeten worden opgeslagen. Ter illustratie noemen we deze map map_van_bestemming/. 3. Maak in deze map twee submappen aan: debian/ en ubuntu/. 4. Geef de volgende opdracht om een mirror in te stellen. Deze opdracht downloadt de map /PPSMBE_ vanaf de updateopslag van Parallels naar de map_van_bestemming. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ppsmbe_ map_van_bestemming Deze opdracht downloadt de map /SETEMPLATES_1.0.0 vanaf de updateopslag van Parallels naar de map_van_bestemming. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/setemplates_1.0.0 map_van_bestemming Deze opdrachten downloaden de bestanden voor het installeren van Ubuntu- en Debian-pakketten voor Parallels Small Business Panel via Parallels Installer. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/debian/ppsmbe_ map_van_bestemming/debian # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/ppsmbe_ destination_directory/ubuntu Deze opdrachten downloaden de bestanden voor het installeren van de Ubuntu- en Debian-pakketten met additionele Site Editor-sjablonen via Parallels Installer. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/debian/setemplates _1.0.0 map_van_bestemming/debian # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/setemplates _1.0.0 destination_directory/ubuntu Deze opdrachten downloaden de bestanden voor het installeren van de Ubuntu- en Debian-pakketten van Parallels Panel via Parallels Containers EZ-sjablonen. Als u een mirror instelt voor een omgeving anders dan Parallels Containers, sla deze stap dan over. # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/debian/ppsmbe_10.2.0/ map_van_bestemming/debian/ppsmbe10

29 Parallels Panel implementeren 29 # rsync -au delete rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/ppsmbe_10.2.0/ map_van_bestemming/ubuntu/ppsmbe10 Deze opdracht maakt een symbolische link aan die wordt gebruikt voor het installeren van Parallels Panel via Parallels Containers EZ-sjablonen op RPM-gebaseerde besturingssystemen. Als u een mirror instelt voor een omgeving anders dan Parallels Containers, sla deze stap dan over. # cd map_van_bestemming; ln -s PPSMBE_ PPSMBE10 Deze opdracht downloadt de configuratiebestanden van Parallels Installer. # rsync -auv delete rsync://rsync.autoinstall.plesk.com/ autoinstall/products.inf3 autoinstall/versions.inf3 autoinstall/ppsmbe.inf3 autoinstall/setemplates.inf3 map_van_bestemming 5. Bewerk de configuratiebestanden van Parallels Installer om aan te geven welke producten, versies en platforms door de mirror moeten worden ondersteund. a. Bewerk het bestand producten.inf3 door alle product-elementen te verwijderen behalve die met de ID ppsmbe. Laat ook het product-element met ID setemplates staan als u wilt dat de set met additionele ontwerpsjablonen voor Site Editor wordt ondersteund. b. Bewerk het bestand ppsmbe.inf3 door alle build-elementen te verwijderen, behalve die van de besturingssystemen en architecturen die u met de mirror wilt ondersteunen. c. Bewerk het bestand setemplates.inf3 door alle build-elementen te verwijderen, behalve die van de besturingssystemen en architecturen waarvoor u wilt dat de additionele ontwerpsjablonen voor Site Editor worden ondersteund. Opmerking: zie voor meer informatie over het hulpprogramma Rsync de website

30 30 Parallels Panel implementeren Een mirror instellen voor Windows-distributies De opslag van Parallels Small Business Panel voor Windows, die zich bevindt op de locatie is als volgt gestructureerd (we tonen alleen de bestanden en mappen die van belang zijn voor de mirror van Parallels Panel-pakketten): <PRODUCTNAAM>_<productversie>/ Verschillende submappen krijgen een naam gebaseerd op de versie van Parallels Panel. In dit geval is de submap waarover we spreken PPSMBE-WIN_<versie>/, bijvoorbeeld, PPSMBE-WIN_10.2.0/ Elk van deze submappen bevat de volgende bestanden: dist-<type>-<naam_van_besturingssysteem>-<versie>-<architectuur >/ Bevat distributiepakketten van Parallels Panel, of ontwerpsjablonen bijvoorbeeld, dist-msi-microsoft-2003-i386/ thirdparty-<type>-<naam_van_besturingssysteem>-<versie>-<archit ectuur> additionele pakketten van andere leveranciers ppsmbe-<parallels-panel-versie>-<naam-van-besturingssysteem>-<a rchitectuur>.inf3 Parallels Installer configuratiebestanden products.inf3 configuratiebestand van Parallels Installer, waarin de Parallels Panel-producten worden omschreven ppsmbe.inf3 configuratiebestanden van Parallels Installer, waarin verschillende versies van Parallels Panel en de additionele componenten worden omschreven Om een mirror voor Parallels Panel in te stellen: 1. Meld u aan bij de server waarvoor u een mirror wilt instellen. 2. Maak een map aan waarin de bestanden moeten worden opgeslagen. Ter illustratie noemen we deze map map_van_bestemming/. 3. Geef de volgende opdracht om een mirror in te stellen. Deze opdracht downloadt de map /PPSMBE-WIN _10.2.0/vanaf de updateopslag van Parallels naar de map_van_bestemming. # rsync -au delete rsync://rsync.autoinstall-win.parallels.com/autoinstall/ppsmbe-win _ map_van_bestemming Deze opdracht downloadt de configuratiebestanden van Parallels Installer. # rsync -auv delete rsync://rsync.autoinstall-win.parallels.com/ autoinstall/producten.inf3 autoinstall/ppsmbe.inf3 map_van_bestemming

31 Parallels Panel implementeren Bewerk de configuratiebestanden van Parallels Installer om aan te geven welke producten, versies en platforms door de mirror moeten worden ondersteund. a. Bewerk het bestand producten.inf3 door alle product-elementen te verwijderen behalve die met de ID ppsmbe. Laat ook het product-element met ID setemplates staan als u wilt dat de set met additionele ontwerpsjablonen voor Site Editor wordt ondersteund. b. Bewerk het bestand ppsmbe.inf3 door alle build-elementen te verwijderen, behalve die van de besturingssystemen en architecturen die u met de mirror wilt ondersteunen. Opmerking: zie voor meer informatie over het hulpprogramma Rsync de website

32 H O O F D S T U K 4 Overzicht van handelingen bij het instellen In dit hoofdstuk worden de handelingen besproken die samen het installatiestadium vormen van de uitrol van Parallels Small Business Panel. De omschrijving van de handelingen in dit hoofdstuk zijn geordend naar de volgorde waarin ze het beste kunnen worden uitgevoerd. In dit hoofdstuk: Parallels Panel initialiseren Licentiesleutel installeren Branding van Parallels Panel Links naar diensten aanpassen Instellen van de DNS SSL-certificaten installeren Domeinen en subdomeinen aanmaken Toepassingen installeren Instellen van de beschikbare APS-catalogussen... 44

33 Overzicht van handelingen bij het instellen 33 Parallels Panel initialiseren Het eerste wat moet gebeuren na installatie van Parallels Panel is de initialisatie. Het is niet toegestaan om enig andere handeling uit te voeren, of dat nu gebeurt via de GUI van Parallels Panel of via de API. De initialisatie stelt de volgende onderdelen van Parallels Panel in: van de beheerder een nieuw beheerderwachtwoord dat het standaardwachtwoord vervangt (optioneel) de taal van Parallels Panel Als er geen specifieke taal wordt gekozen tijdens de installatie van Parallels Panel, dan zal de standaardtaal Amerikaans Engels (en-us) worden gebruikt. De schermtaal kan later op elk moment worden gewijzigd door de beheerder van Parallels Panel (mits het gewenste taalcomponent (op pagina 12) is geïnstalleerd). Als u Parallels Panel in een eigen, aangepaste taal gebruikt, dan moet het aangepaste taalpakket in Parallels Panel worden geïmporteerd voorafgaand aan de initialisatie. Zie voor meer details de (Engelstalige) Parallels Small Business Panel: Localization Guide die u kunt vinden op de documentatiepagina (http://www.parallels.com/products/small-business-panel/documentation/) van Parallels Panel. Quick Links Parallels Panel initialiseren via de externe API (op pagina 88) Parallels Panel initialiseren via de CLI (op pagina 214) Licentiesleutel installeren Parallels Panel wordt geleverd met een standaard licentiesleutel die slechts een beperkt aantal gebruikeraccounts ondersteunt. Het is daarom noodzakelijk om een licentiesleutel te verkrijgen en te installeren om tegemoet te kunnen komen aan de wensen van gebruikers. Naast de hoofdsleutel die de belangrijkste functionaliteit van Parallels Panel bepaalt, kunnen er aanvullende licentiesleutels worden geïnstalleerd voor uitbreidingen van Parallels Panel, zoals Parallels Premium Antivirus. Quick Links Licentiesleutels installeren via de externe API (op pagina 93) Licentiesleutel installeren via de CLI (op pagina 215)

34 34 Overzicht van handelingen bij het instellen Branding van Parallels Panel Logo De volgende onderdelen van de branding van Parallels Panel horen bij de uitrol van de software: Het logo van Parallels Panel en URL de link voor ondersteuningsaanvragen Opmerkingen: beide opties worden alleen ondersteund in de CLI. Het logo van Parallels Panel wordt in de linker bovenhoek van het scherm weergegeven. Standaard is dit een GIF-afbeelding van 141x29 pixels, met het logo van Parallels Small Business Panel. Door op het logo te klikken wordt de website van Parallels geopend. U kunt de standaard logoafbeelding en URL vervangen door uw eigen logo en siteadres. Ondersteuning De knop Ondersteuning bevindt zich op het tabblad Instellingen dat beschikbaar is voor de beheerder van Parallels Panel. Standaard opent een klik op deze knop het formulier Support Request op de website van Parallels; dit formulier kan worden ingevuld en worden verstuurd door de beheerder. Als u van plan bent om uw klanten technische ondersteuning te verlenen, dan kunt u de URL wijzigen die wordt geopend na een klik op de knop Ondersteuning. Quick Links Branding van Parallels Panel via de CLI (op pagina 215) Links naar diensten aanpassen In Parallels Small Business Panel vindt u links naar de volgende diensten: Dienst Omschrijving Toegankelijk via Standaard De webwinkel van Parallels Panel Webwinkel van toepassings marktplaats* Verkoop en upgrade van uitbreidingen van Parallels Panel en algemene licenties. Verkoopt licenties voor de toepassingen in de Marktplaats. Instellingen > Beheer licentiesleutels : de links Ga naar de webwinkel voor uitbreidingen van Parallels Panel en Ga naar de webwinkel voor een upgrade van uw Parallels Panel-licentiesleutel Toepassingen & Scripts > Toepassingsmarktplaats: de knoppen Nu aanschaffen Parallels webwinkel Webwinkel Parallels Marktplaats

35 Overzicht van handelingen bij het instellen 35 Webwinkel voor User Packs Webwinkel voor CA-certificat en Domeinnam en registreren Verkoopt User Packs voor Parallels Panel. Verkoopt User Packs voor Parallels Panel. Normaal gesproken maakt dit deel uit van de webwinkel van de Toepassingsmarktp laats, maar deze kan apart worden aangepast. Verkoopt CA SSL-certificaten. Verkoopt domeinnamen. Gebruikers > Gebruikeraccounts: de link Extra User Pack aanschaffen Wizard Aan de slag > Gebruikers: de link Extra User Pack aanschaffen Mail > adressen : de link Extra User Pack aanschaffen Instellingen > Beheer licentiesleutels: de link Ga naar de Toepassingsmarktplaats om User Packs aan te schaffen Gebruikers > Gebruikeraccounts: de link Extra User Pack aanschaffen Wizard Aan de slag > Gebruikers: de link Extra User Pack aanschaffen Mail > adressen : de link Extra User Pack aanschaffen Instellingen > Beheer licentiesleutels: de link Ga naar de Toepassingsmarktplaats om User Packs aan te schaffen Instellingen > SSL-certificaten > SSL-certificaat toevoegen: de knop SSL-certificaat aanschaffen Websites & Domeinen: de knop Domeinnaam registreren Parallels Marktplaats myplesk.com myplesk.com

36 36 Overzicht van handelingen bij het instellen Opmerking: Merk op dat de Toepassingscatalogus een dienst is die een gedetailleerde lijst van beschikbare toepassingen aanbiedt. De webwinkel Toepassingsmarktplaats is een dienst die licenties voor deze toepassingen verkoopt. De URL van de Toepassingscatalogus (inclusief de Toepassingsmarktplaats) kunt u ook aanpassen. Zie de sectie Instellen van de beschikbare APS-catalogussen (op pagina 44)voor meer details. In de volgende gevallen wilt u wellicht de URL s aanpassen die worden geopend nadat een gebruiker op de link heeft geklikt: U bent een partner van Parallels en u verkoopt licenties voor Parallels Panel en de bijbehorende uitbreidingen U bent een partner van Parallels en u verkoopt User Packs voor Parallels Panel U bent een partner van Parallels en u verkoopt licenties voor toepassingen in de Marktplaats U verzorgt voor uw klanten de registratie van domeinnamen U verkoopt CA-certificaten De links kunnen worden gewijzigd door het configuratiebestand smb.ini van Parallels Panel aan te passen. Hebt u eenmaal de vereiste aanpassingen in het configuratiebestand doorgevoerd, dan kan deze worden geüpload naar de verschillende instanties van Parallels Panel, waarbij de standaardconfiguratie wordt vervangen. Hiervoor zijn geen speciale hulpprogramma s beschikbaar, u kunt gewoon gebruik maken van de standaard opdrachtregel. Het configuratiebestand van Parallels Panel Locatie: Onder Unix/Linux: $PRODUCT_ROOT/admin/smb/application/config/smb.ini Onder Windows: %plesk_dir%\admin\smb\application\config\smb.ini (%plesk_dir% is een omgevingsvariabele die de installatiemap van Parallels Panel aangeeft) Instellingen van links naar diensten: [marketplace] panelandaddonslicensesstore = url = userpacksurl = buysslcertificatesurl = registerdomainsurl = Deze sectie komt standaard niet voor in het configuratiebestand; u moet daarom handmatig het kopje ([marketplace]) toevoegen en de volgende tekenreeksen, afhankelijk van wat u precies wilt aanpassen:

37 Overzicht van handelingen bij het instellen 37 voor het wijzigen van de URL van de webwinkel die Parallels Panel en de bijbehorende uitbreidingen verkoopt: panelandaddonslicensesstore = voor het wijzigen van de URL van de webwinkel die licenties verkoopt voor de toepassingen uit de Marktplaats: url = voor het verkopen van User Packs voor Parallels Panel met diensten anders dan voor Marktplaats-toepassingen: userpacksurl = voor het wijzigen van de URL voor de verkoop van CA-certificaten: buysslcertificatesurl = voor het wijzigen van de URL voor het registreren van domeinnamen: registerdomainsurl =

38 38 Overzicht van handelingen bij het instellen Instellen van de DNS Parallels Small Business Panel wordt geïnstalleerd met een DNS-server die als master naamserver is ingesteld voor domeinen die zijn aangemaakt en die worden gehost met behulp van Parallels Panel. Bij het uitrollen van Parallels Panel kunt u de DNS-dienst uitschakelen of instellen zodat deze aan uw wensen tegemoet komt. Als u al een naamserver hebt ingesteld die dienst doet als naamserver voor alle gehoste domeinen, dan hebt u waarschijnlijk geen aparte DNS-server nodig voor elke server waarop een instantie van Parallels Panel wordt uitgevoerd. Merk ook op dat als Parallels Panel wordt uitgevoerd in een Parallels Containers-omgeving, de containers met Parallels Panel waarvoor de DNS-server is ingeschakeld lichtelijk meer middelen gebruiken. Daardoor wordt de dichtheid van de hele hostingomgeving in beperkte mate verminderd. Om DNS-zones aan te maken voor door Parallels Panel-beheerde domeinen die gebruik maken van een externe DNS-server, schakelt u de DNS-dienst uit tijdens het uitrollen van een instantie van Parallels Panel. Als uw klanten beslissen dat zij voor hun domeinen gebruik willen maken van een lokale DNS-server, dan kunnen zij deze later altijd nog inschakelen. Als u wilt dat uw door Parallels Panel beheerde domeinen gebruik maken van een lokale DNS-dienst, dan kunt u altijd de DNS-zones op de meest geschikte wijze aanpassen. Parallels Panel biedt een aanpasbaar sjabloon voor DNS-zones, waarin standaardwaarden voor de DNS SOA en andere DNS-records zijn opgenomen. Bij het instellen van een domeinaccount wordt er een DNS-zone aangemaakt op basis van dit sjabloon. Om DNS-zones in te stellen voor domeinen die door Parallels Panel worden beheerd, hoeft u dus alleen het DNS-zone-sjabloon aan te passen. Quick Links Instellen van de DNS via de externe API (op pagina 100) Instellen van de DNS via de CLI (op pagina 217) In deze sectie: Sjablonen voor SOA-records wijzigen Sjablonen voor DNS-records instellen... 39

39 Overzicht van handelingen bij het instellen 39 Sjablonen voor SOA-records wijzigen Het sjabloon voor SOA-records in Parallels Panel geeft u de mogelijkheid de volgende velden van de records aan te passen: ttl (time to live) Refresh Retry Expire Minimum (alleen voor de Unix opdrachtregel) sn (= serienummer) notatie Notatie van het serienummer van de zone: jjjjmmdd, of Unix-tijdsstempel Sjablonen voor DNS-records instellen Het sjabloon voor DNS-zones in Parallels Panel ondersteunt de volgende soorten DNS-records: A NS CNAME MX PTR TXT AXFR SRV

40 40 Overzicht van handelingen bij het instellen SSL-certificaten installeren Het gebruik van het Secure Sockets Layer-protocol op een domein vereist dat er eerst een SSL-certificaat wordt geïnstalleerd. In Parallels Panel worden SSL-certificaten via IP-adressen aan domeinen gekoppeld: een certificaat wordt aan een IP-adres toegewezen en dit certificaat wordt vervolgens gebruikt voor de toegang tot het domein dat op dit IP-adres wordt gehost. Het certificaat zal worden gebruikt voor alle domeinen die op dat IP-adres worden gehost, wanneer iemand daar via https toegang toe probeert te verkrijgen. Het installeren van een SSL-certificaat komt daarom neer op het importeren van een certificaat in Parallels Panel en daar een IP-adres aan toewijzen. Als er op zo n IP-adres een domeinaccount wordt aangemaakt, dan zal de hostingparameter SSL-ondersteuning automatisch worden ingeschakeld en het geïnstalleerde certificaat zal worden gebruikt voor de toegang tot het domein. Quick Links SSL-certificaten installeren via de externe API (op pagina 130) SSL-certificaten installeren via de CLI (op pagina 223)

41 Overzicht van handelingen bij het instellen 41 Domeinen en subdomeinen aanmaken Domeinen Het proces van het aanmaken en instellen van domeinen en subdomeinen is herzien in Parallels Small Business Panel en is nu zo eenvoudig als maar mogelijk is. Het idee is dat u bij het aanmaken van een domein of subdomein alleen de meest essentiële hostingparameters opgeeft. De overige hostinginstellingen worden automatisch op de meest voor de hand liggende wijze ingesteld. Bij het aanmaken van een domein geeft u de volgende argumenten op: Domeinnaam. IP-adres. Als het selectievakje IP-adres is gekoppeld aan een SSL-certificaat (op pagina 40) is geselecteerd, dan wordt SSL-ondersteuning automatisch ingeschakeld voor het domein dat op dit IP-adres wordt aangemaakt. Vereiste velden voor webhosting: de gebruikersnaam en het wachtwoord voor het FTP-account dat zal worden gebruikt voor het uploaden van de bestanden voor de website. Als op een domein een webtoepassing is ingesteld, dan stelt Parallels Panel automatisch alle diensten in die door de toepassing worden vereist Dit is waarom de FTP-gebruikersnaam en het wachtwoord de enige hostinginstellingen zijn die bij het aanmaken van het domein moeten worden opgegeven. Quick Links Domeinen aanmaken via de externe API (op pagina 137) Domeinen aanmaken via de CLI (op pagina 225) Subdomeinen Bij het aanmaken van een subdomein geeft u tenminste het voorvoegsel (de naam) van het subdomein op en het moederdomein. De bestanden die horen bij een subdomein bevinden zich normaal gesproken in de map /httpdocs/subdomains/naam-van-het-subdomein van de virtuele host van het domein. Parallels Panel voor Windows ondersteunt ook zogenaamde subdomeinen in submappen - subdomeinen die verwijzen naar een willekeurige map binnen de map /httpdocs. Dit is bijvoorbeeld nuttig als u wilt dat een geïnstalleerde webtoepassing toegankelijk is als subdomein. Zo is een WordPress-toepassing normaal gesproken toegankelijk via een URL als dus bijvoorbeeld Met een subdomein in een submap is het mogelijk om de toepassing toegankelijk te maken via

42 42 Overzicht van handelingen bij het instellen Om een normaal subdomein aan te maken, geeft u de naam van het moederdomein op, de naam van het subdomein en de gewenste hostingeigenschappen. Opmerking: de bestanden die horen bij een subdomein zijn toegankelijk via hetzelfde FTP-account als het moederdomein. Het opgeven van de eigenschappen voor een FTP-account is daarom optioneel en wordt alleen uitgevoerd als er een apart subdomein nodig is voor toegang tot de bestanden van het subdomein. Om een subdomein in een submap aan te maken (alleen ondersteund onder Windows), geeft u de naam op van het moederdomein/subdomein, de naam van het subdomein en het zoekpad naar de map waarbinnen het subdomein is aangemaakt. Quick Links Opmerking: voor subdomeinen in submappen is het aanmaken van een apart FTP-gebruikeraccount niet mogelijk: u maakt altijd gebruik van het FTP-gebruikeraccount van het moederdomein of een subdomein daarvan. Subdomeinen aanmaken via de externe API (op pagina 143) Subdomeinen aanmaken via de CLI (op pagina 226) Toepassingen installeren Parallels Small Business Panel ondersteunt APS-toepassingen. Dit zijn webtoepassingen die zijn ingepakt volgens de APS-standaard - Application Provisioning Standard (http://www.apsstandard.org/), waarmee het SaaS-model op hosting wordt toegepast. We gebruiken de term toepassingspakket voor een zip-archief met een webtoepassing die is ingepakt op een manier die door het APS-formaat wordt voorgeschreven. Dat is dus iets anders dan de toepassing zelf, die vanuit het pakket wordt geïnstalleerd. De installatie van een toepassing op een domein of subdomein vindt plaats in twee stadia: 1. het verkrijgen van het toepassingspakket en in het Parallels Panel importeren daarvan. 2. het installeren van de toepassing uit het pakket op een domein of subdomein. Quick Links Toepassingen installeren via de externe API (op pagina 152) Toepassingen installeren via de CLI (op pagina 228) In deze sectie: Toepassingspakketten importeren Toepassingen installeren... 43

43 Overzicht van handelingen bij het instellen 43 Toepassingspakketten importeren Een toepassingspakket kan op twee manieren worden verkregen en geïmporteerd: Een pakket, dat de gebruiker waarschijnlijk zelf heeft aangemaakt, wordt handmatig geüpload naar de host waarop Parallels Panel is geïnstalleerd en wordt daarna handmatig in Parallels Panel geïmporteerd. Een pakket wordt gedownload en automatisch in Parallels Panel geïmporteerd vanuit een APS-catalogus (een webservice die toegang biedt tot toepassingspakketten die extern zijn opgeslagen). Het is mogelijk om meerdere toepassingen tegelijk te downloaden en te installeren; Parallels Panel ondersteunt het volgen van de downloadstatus. Parallels Panel ondersteunt het verkrijgen van toepassingspakketten vanuit verschillende instanties van de APS-catalogus. Welke APS-catalogussen beschikbaar zijn wordt aangegeven in het configuratiebestand voor APS-catalogussen (op pagina 44), die kan worden aangepast aan de Parallels Panel-instantie binnen een specifieke hostingomgeving. Toepassingen installeren Als een toepassing wordt geïnstalleerd, dan moet de volgende informatie worden opgegeven: Het toepassingspakket van waaruit de toepassing wordt geïnstalleerd. Deze kan worden herkend aan de naam-versie-release-informatie of aan de pakket-id. Deze gegevens kunnen worden verkregen door een lijst van beschikbare pakketten op te halen. Daarbij wordt een gedetailleerde lijst verkregen met toepassingspakketten die in Parallels Panel zijn geïmporteerd, inclusief de juiste identificatie. Doeldomein of -subdomein. Eigenschappen van installatie. Deze zijn afhankelijk van de toepassing; er zijn ook toepassingen zonder eigenschappen of instellingen voor installatie. Via de API van Parallels Panel kan geen informatie worden verkregen over toepassingsinstellingen, maar dit kan wel via de API van de APS-catalogus (http://www.apsstandard.org/r/doc/aps-catalog-1.1-api/index.htm), of door het parsen van het bestand met metadata van een pakket. De specificaties van het APS-formaat zijn te vinden op

44 44 Overzicht van handelingen bij het instellen Instellen van de beschikbare APS-catalogussen De lijst met APS-catalogussen die in het configuratiebestand is ingesteld dient de volgende twee doelen: 1. Toepassingen uit deze catalogussen kunnen direct op een domein worden geïnstalleerd middels de API van Parallels Panel. Opmerking: het is niet mogelijk om een toepassingen uit een APS-catalogus te installeren als die catalogus niet in het configuratiebestand is opgenomen. 2. Deze catalogussen zijn toegankelijk voor gebruikers van Parallels Panel via de pagina Toepassingen & Scripts. Gebruikers kunnen zelfstandig toepassingen installeren. APS-catalogus is een algemene naam voor een dienst die de volgende specifieke vormen kan aannemen: De APS-catalogus op apscatalog.com (http://apscatalog.com). De officiële APS-catalogus die door Parallels wordt ondersteund. Opmerking: het is belangrijk dat apscatalog.com in de configuratie aanwezig is, wanneer websites die APS-toepassingen bevatten worden gemigreerd naar Parallels Panel via de hulpprogramma s voor reservekopieën. Een aangepaste APS-catalogus, een lokale mirror of dienst die is ingesteld binnen de hostingomgeving om toegang te bieden tot specifieke toepassingen. Zie voor meer informatie over het implementeren van een lokale APS-catalogus de documentatie over de APS-standaard op de officiële site: In de volgende gevallen wilt u wellicht de lijst met beschikbare APS-catalogussen zelf instellen: a Bij het uitrollen van Parallels Panel wilt u toepassingen installeren vanuit uw aangepaste APS-catalogus. In dit geval kunt u een ingang voor uw catalogus toevoegen aan het configuratiebestand. b U wilt gebruikers van Parallels Panel toegang geven tot uw aangepaste APS-catalogus in plaats van of naast de catalogussen die standaard door Parallels Panel worden aangeboden. In dit geval kunt u een ingang voor uw catalogus toevoegen aan het configuratiebestand en, optioneel, de bestaande ingangen verwijderen. c U wilt dat de gebruikers van Parallels Panel tot geen enkele APS-catalogus toegang hebben. In dit geval verwijdert u alle ingangen uit het configuratiebestand. Om de lijst met beschikbare APS-catalogussen te wijzigen moet u de volgende handelingen uitvoeren:

45 Overzicht van handelingen bij het instellen U past het Voorbeeld van APS-catalogussen (op pagina 46) aan zoals gewenst. 2. Importeer uw configuratiebestanden naar Parallels Panel via een van de volgende methoden: Het standaard configuratiebestand door het aangepaste configuratiebestand vervangen via de kopieer-en-plakfunctie van uw besturingssysteem Importeren via de API van Parallels Panel Quick Links Instellen van de beschikbare APS-catalogussen via de externe API (op pagina 148) Instellen van de beschikbare APS-catalogussen via de CLI (op pagina 227) In deze sectie: Configuratiebestand voor APS-catalogussen... 46

46 46 Overzicht van handelingen bij het instellen Configuratiebestand voor APS-catalogussen Locatie: Vorm Onder Linux/Unix: /usr/local/psa/admin/smb/application/config/aps/catalogs.ini Onder Windows: %plesk_dir%\admin\smb\application\config\aps\catalogs.ini Het configuratiebestand voor APS-catalogussen is een tekstdocument in de volgende vorm: [apscatalog] ;Sleutelwoord dat dienst doet als identificatiekenmerk van de bron van APS-toepassingen. type = apscatalog ;Definitie van het soort bron van de APS-toepassingen; dit kan marketplace zijn of apscatalog ;het woord marketplace verwijst naar de dienst Toepassingsmarktplaats ;apscatalog is een algemene term die wordt gebruikt voor alle soorten APS-catalogussen (officiële APS-catalogussen of lokale mirrors) url = ;De bron-url van de APS-toepassingen [marketplace] type = marketplace url = protocol = all-app [APSCatalogLocalMirror] type = apscatalog name.nl-nl = APS-catalogus (local) ;De naam van het verschijnsel APS-toepassingen, zoals deze in de juiste taal wordt weergegeven in de GUI van Parallels Panel description.nl-nl= Lokale instantie van APS-catalogus ;De omschrijving van het verschijnsel APS-toepassingen, zoals deze in de juiste taal wordt weergegeven in de GUI van Parallels Panel

47 url = apscatalog.voorbeeld.nl Overzicht van handelingen bij het instellen 47

48 H O O F D S T U K 5 Instellen via externe API In dit hoofdstuk gaat het over het installeren en instellen van Parallels Panel via de externe API. De sectie Gebruik van de externe API (op pagina 49) bevat een overzicht van het API RPC-protocol en voorbeelden van de hulpprogramma s die worden gebruikt voor interactie via het protocol met een door Parallels Panel beheerde server. De sectie Parallels Panel instellen (op pagina 88) bestaat uit een gedetailleerde omschrijving van de requestberichten die hulpprogramma s van andere leveranciers naar de API moeten sturen voor het instellen van Parallels Panel en van de responseberichten die na elke operatie worden ontvangen. In dit hoofdstuk: Gebruik van de externe API Parallels Panel instellen... 88

49 Instellen via externe API 49 Gebruik van de externe API In deze sectie wordt uitgelegd wat de externe API van Parallels Panel is, hoe deze werkt en hoe u een cliënttoepassing kunt maken die via de externe API met Parallels Panel kan communiceren. In deze sectie: Over de externe API API RPC-pakketten Het schrijven van cliëntsoftware... 56

50 50 Instellen via externe API Over de externe API Om interactie tussen Parallels Panel en software van andere leveranciers mogelijk te maken, biedt Parallels Panel een XML-gebaseerde API. Deze interface biedt een set functies voor het beheren van logische objecten van Parallels Panel. Het API RPC-protocol is ontworpen als een manier om deze API-functies op afstand aan te roepen. Dit is het XML-via-HTTP-protocol dat gegevens uitwisselt in de vorm van pakketten met data in een specifieke vorm. De interactie tussen Parallels Panel en software van andere leveranciers is gebaseerd op het cliënt-server-programmeermodel. Figuur 1:Interactie tussen Parallels Panel en cliëntsoftware van andere leveranciers Het servergedeelte wordt gevormd door de Parallels Panel API RPC-server (hierna de server genoemd), wat een onderdeel is van Parallels Panel. Het cliëntgedeelte is software die door een andere leverancier wordt gemaakt. Het interactiescenario verloopt als volgt: 1. De cliënttoepassing vormt een XML-gebaseerd requestpakket (hierna API RPC-pakket of het pakket genoemd), voegt een standaard HTTP-header toe en verstuurt het geheel naar de server. 2. De server ontvangt het pakket, valideert deze en roept een interne functie van Parallels Panel aan om de aangevraagde handelingen te verrichten. 3. De server maakt een responsepakket aan met details van de uitgevoerde handeling en stuurt dit terug naar de software die het requestpakket heeft ingediend. 4. De cliënt ontvangt dit pakket met het resultaat (de status van de handeling en een eventuele foutmelding, of relevante parameters) en haalt de informatie op. Hiermee wordt de interactie beëindigd. Ondersteunde API-versies De huidige versie van Parallels Panel ondersteunt alleen versie van het API RPC-protocol.

51 Instellen via externe API 51 API RPC-pakketten Een API RPC-pakket is een eenvoudig XML-document dat is ingevoegd in de body van een HTTP-bericht. De volgende twee soorten pakketten kunnen worden onderscheiden: requestpakketten - deze worden aangemaakt door het cliëntgedeelte van de software en worden via de externe API naar de server gestuurd responsepakketten - deze worden door de server aangemaakt en naar de cliënt verstuurd Een responsepakket bevat de status van de uitvoering van de aangevraagde handeling en kan een foutmelding bevatten als de handeling mislukt. In deze sectie: Pakketstructuur Voorbeeld van een pakket Valideren van pakketten... 55

52 52 Instellen via externe API Pakketstructuur De volgende onderdelen van API RPC-pakketten kunnen worden onderscheiden: 1. HTTP-header - het gedeelte dat nodig is voor het transport. Naast andere standaardinformatie moet de header in ieder geval informatie bevatten over de server waar de handeling zal worden uitgevoerd en de gebruikersnaam en het wachtwoord van de beheerder van Parallels Panel. 2. Pakketheader geeft de versie van het API RPC-protocol aan. 3. Pakketbody bepaalt de handelingen die door de server moeten worden verricht. De body van het pakket is als volgt gestructureerd: <[operator]> <[operation]> <[parameter1]> </[parameter1]>... <[parameter2]> </[parameter2]> </[operation]> </[operator]> Dit voorbeeld geeft de normale structuur van de body van het pakket weer, met daarin één [operator]-element en één [operation]-element. In een specifieke implementatie moeten de labels [operator], [operation] en [parameter] worden vervangen door werkelijke operatoren, handelingen en parameters. Opmerking: er kunnen binnen een operator-sectie veel verschillende operation-secties zijn, en binnen een enkel pakket veel verschillende operator-secties. In het vervolg zullen we de header en body van een XML-pakket samen simpelweg een pakket noemen.

53 Instellen via externe API 53 Voorbeeld van een pakket Hier volgt een voorbeeld van een API RPC-request dat naar de server is gestuurd: 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 versie= 1.0 encoding= UTF-8 standalone= no?> <packet versie= > <smb> <initial_setup> <password>w8tw00rd</password> d.nl</admin_ > <locale>nl-nl</locale> </initial_setup> </smb> HTTP-header De HTTP-header geeft aan dat de gebruikte HTTP-methode POST is, de agent die de handeling uitvoert zich bevindt op /enterprise/control/agent.php en dat de HTTP-versie 1.1 is. Het element Host geeft het IP-adres en de poort aan van de Parallels Panel-server waaraan het bericht is gericht. De elementen HTTP_AUTH_LOGIN en HTTP_AUTH_PASSWD bevatten de gebruikersnaam en het wachtwoord van de beheerder van Parallels Panel. Het Content-Type moet text/xml zijn. De lengte van het totale bericht is eveneens vereist. Begin van het XML-gedeelte Packet header Het attribuut versie geeft aan wat de vereiste versie is van het API RPC-protocol voor Parallels Panel. Body van pakket Begin altijd met de tag van de betreffende operator. Dit specifieke pakket gebruikt de operator smb om een nieuw geïnstalleerde kopie van Parallels Panel te initialiseren. De elementen die binnen de node initial_setup zijn genest bevatten de gegevens die nodig zijn om Parallels Panel te initialiseren: het adres en het wachtwoord van de beheerder van Parallels Panel en de gebruikte taal. De sluittag die het pakket afsluit Request- en responsepakketten kennen een vergelijkbare structuur, maar de HTTP-headers en bodies verschillen. Een bericht dat door door de server wordt verstuurd als antwoord op het bovenstaande request zou er als volgt kunnen uitzien: HTTP/ OK Transfer-Encoding: chunked Content-type: text/html Date: Fri, 03 Apr :54:56 GMT Server: sw-cp-server/1.0.0 <?xml versie= 1.0 encoding= UTF-8 standalone= no?> Standaardheader van het response van de HTTP-server Het MIME-type is text/xml. Het element Server geeft aan dat het request aan de kant van de server is behandeld door Parallels Panel. Dit is een standaardheader van een geldig XML-document

54 54 Instellen via externe API <packet version= > <smb> <initial_setup> <result> <status>ok</status> </result> </initial_setup> </smb> XML-pakketheader Body van pakket De rootnode van de body van het pakket is de operator smb. De geneste regels geven aan dat de initialisatie van Parallels Panel is geslaagd. De sluittag die het pakket afsluit

55 Instellen via externe API 55 Valideren van pakketten De API RPC-server van Parallels Panel is ingericht als een set agenten - of operators - die worden beheerd door de Agent Engine. Elke agent is een logisch blok dat verantwoordelijk is voor de afhandeling van een bepaalde groep opdrachten; de Agent Engine verstuurt de pakketten. Daarnaast is de Agent Engine geassocieerd met verschillende sets XML-schemabestanden. Elk set is gerelateerd aan een bepaalde versie van de API RPC. Als startpunt van elke versie functioneert het bestand agent_input.xsd dat alle invoerschemas van dezelfde versie verwijst. De API RPC-server van Parallels Panel werkt als volgt: eerst komt het pure XML-pakket, zonder de HTTP-header, bij de Agent Engine aan. Agent Engine zoekt de API RPC-versie op in de header van het pakket, kiest het bijbehorende set XML-schemas en schakelt door naar het juiste agent_input.xsd-schema. Dit schema valideert het operator-niveau van het pakket, waarna elke operator-sectie van het pakket achtereenvolgens aan de hand van het juiste schema wordt gevalideerd. Figuur 2: Validatie van pakketten aan de kant van de server Als het pakket als ongeldig wordt beschouwd, dan maakt Agent Engine een foutmeldingsverslag aan en stuurt deze terug naar de cliënt. Als het valideren van alle elementen in het pakket is geslaagd, dan controleert Agent Engine of het beschikt over alle agentmodules die nodig zijn voor de verdere verwerking; deze worden vervolgens achter elkaar geactiveerd. Elke agent (operator) die wordt geactiveerd ontvangt de betreffende operator-sectie van het pakket, parset deze en vormt een aanroep naar de relevante interne functies. Het resultaat van de uitvoerde opdrachten worden vervolgens aan de Agent Engine doorgegeven.

56 56 Instellen via externe API Het schrijven van cliëntsoftware De cliënttoepassing moet de volgende stadia van gegevensuitwisseling implementeren: het omzetten van de aangevraagde opdracht naar een XML-pakket dat geschikt is voor het API RPC-protocol het voorbereiden van het pakket voor bezorging via HTTP en verzending naar Parallels Panel het ontvangen van het antwoord vanuit Parallels Panel en het extraheren van de informatie uit het pakket Figuur 3: Structuur van de cliënttoepassing De illustratie hierboven geeft aan hoe een cliënttoepassing kan worden gestructureerd en hoe deze structuur dienst doet bij het doorgeven van gegevens. Elke module uit deze voorbeeldtoepassing is verantwoordelijk voor een specifieke taak, wat wil zeggen: 1. XML-pakket builder accepteert een opdracht van de GUI of van een module van een andere leverancier. Het bevat een routine die alle bekende opdrachten kan omzetten naar XML. De notatie van het resulterende XML-pakket is volledig compatibel met de API RPC-versie die door de cliënttoepassing wordt ondersteund. 2. HTTP packet sender - Accepteert het XML-pakket. Het pakket bevat geen informatie over de server van bestemming en ook geen toegangsinformatie, dus deze instellingen moeten worden opgeslagen of op aanvraag beschikbaar zijn. Een HTTP-header wordt aangemaakt met de gebruikersnaam en het wachtwoord van de Parallels Panel-gebruiker. Dit pakket wordt verzonden naar een Parallels Panel API RPC-server via het API RPC-protocol. 3. HTTP packet receiver - Haalt het resulterende HTTP-pakket op vanaf de server, verwijdert de HTTP-header en verplaatst het pure XML-response naar de parser van XML-pakketten. 4. XML-pakket parser - Analyseert het XML-pakket dat terugkomt als response en kijkt daarbij naar de uitvoeringsstatus. Als het resultaat negatief is wordt er een foutmelding geformuleerd. De geëxtraheerde en behandelde gegevens worden teruggestuurd naar de GUI van de module die verantwoordelijk is voor de oorspronkelijk aanroep.

57 Instellen via externe API 57 De bovenstaande illustratie toont de HTTP-handelingen als onderdeel van een HTTP-bibliotheek. Deze handelingen kunnen ook handmatig worden geïmplementeerd, maar de makkelijkste manier is natuurlijk het gebruik van een reeds bestaande en geteste HTTP-bibliotheek. Het onderscheid tussen HTTP-afzender en HTTP-ontvanger is conditioneel: dit is alleen gedaan om de send en receive HTTP-handelingen grafisch uit elkaar te kunnen halen. In deze sectie: Requestpakketten aanmaken Requests versturen Responses parsen Omgaan met foutmeldingen Voorbeelden van cliëntcode Requestpakketten aanmaken In de stap waarbij het API RPC-pakket voor een request vorm krijgt, ontvangt de cliënttoepassing een opdracht vanuit de GUI van een softwaremodule om een of meer handeling te verrichten op een of meer objecten van Parallels Panel. De toepassing moet de aangevraagde opdracht omzetten naar een XML-pakket waarvan de notatie compatibel is met de Parallels Panel XML-API. Om het conversieprogramma dat opdrachten naar XML-pakketten omzet te implementeren, moet u er rekening mee houden hoe de API RPC-pakketten zijn gestructureerd en hoe deze door de Parallels Panel-server worden verwerkt (op pagina 51). Om validatie van het aangemaakte requestpakket aan uw conversieprogramma toe te voegen, gebruikt u de set van XML-schemabestanden uit de installatie van Parallels Panel: PRODUCT_ROOT_D/admin/htdocs/schemas/rpc/ op Linux/Unix waarbij PRODUCT_ROOT_D een variabele is die aangeeft in welke map Parallels Panel is geïnstalleerd. %plesk_dir%\admin\htdocs\schemas\rpc\ voor Windows waarbij %plesk_dir% een variabele is die aangeeft in welke map Parallels Panel is geïnstalleerd. Zorg ervoor dat u agent_input.xsd gebruikt als startpunt van de validering.

58 58 Instellen via externe API Requests versturen Wanneer het Parallels Panel API RPC-pakket gereed is, moet deze worden ingepakt in de HTTP-header en naar de opgegeven server worden verstuurd. Om deze taken uit te voeren, kunt u gebruik maken van een bestaande bibliotheek voor HTTP/FTP-cliënten. Hier wordt getoond hoe dit kan worden uitgevoerd in PHP met gebruik van de CURL-engine - een gratis en open bibliotheek voor URL-overdracht aan de kant van de cliënt die wordt ondersteund door PHP en hoger. Om de HTTP-header vorm te geven heeft de CURL-engine de volgende parameters nodig: De URL van de server van bestemming als een tekenreeks in de volgende notatie: define ( HOST, ); define ( PORT, 8443); define ( PATH, enterprise/control/agent.php ); $url = https://. HOST. :. PORT. /. PATH; Een array van headerelementen die er als volgt uitzien: $headers = array( HTTP_AUTH_LOGIN: admin, HTTP_AUTH_PASSWD: setup, Content-Type: text/xml ); De CURL-engine is nu geïnitialiseerd en ingesteld om gebruik te maken van HTTPS. Alle parameters die zijn vereist voor de HTTP-header worden er nu ingeplaatst: // initialiseer de curl-engine $ch = curl_init(); // stel de curl-opties in: // zorg dat de naam van het SSL-certificaat van de externe server niet wordt gecontroleerd curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // zorg dat het certificaat van de externe server niet wordt gecontroleerd curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // invoegen van de headerelementen curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // invoegen van de url van de doelserver

59 Instellen via externe API 59 curl_setopt($ch, CURLOPT_URL, $url); Een andere parameter die door de CURL-engine wordt vereist is het Parallels Panel API RPC-pakket. Laten we ervanuit gaan dat het pakket er als volgt uitziet: $packet = <<<EOP <?xml versie= 1.0 encoding= UTF-8?> <packet version= > <smb> <initial_setup> <password>w8tw00rd</password> </initial_setup> </smb> EOP; We laten de CURL-engine nu weten dat we een request van de server verwachten, we voegen het pakket dat bezorgd moet worden en we starten de overdracht: // laat CURL weten dat het resultaat teruggeven moet worden en niet rechtstreeks in de browser moet worden geladen curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // voeg het pakket dat bezorgd moet worden in curl_setopt($ch, CURLOPT_POSTFIELDS, $packet); // voer het CURL-request uit en geef het resultaat terug $retval = curl_exec($ch); // sluit de CURL-sessie af curl_close($ch); Als het request eenmaal is uitgevoerd, dan ontvangt CURL het resulterende HTTP-pakket aan de zijde van cliënt. CURL verwijdert de HTTP-header en de variabele $retval krijgt als waarde het deel van het responsepakket dat uit pure XML bestaat.

60 60 Instellen via externe API Responses parsen U kunt elke willekeurige cliëntbibliotheek voor HTTP/FTP gebruiken om het request aan Parallels Panel door te geven en het resultaat terug te krijgen. In een normaal geval zal het resulterende HTTP-pakket zijn gestructureerd zoals omschreven in de sectie Pakketstructuur (op pagina 52). Als gebruik wordt gemaakt van de CURL-engine, dan zal het resultaat worden teruggegeven als pure XML. De structuur van de pure XML in het pakket dat door de Parallels Panel API RPC-server wordt teruggeven wordt bepaald door XML-schema s. Packet is een rootnode van elk XML-pakket dat als response terugkomt. Het attribuut version geeft de versie terug van het Parallels Panel API RPC-protocol dat op de server actief is. Een responsepakket bevat ofwel een reponse van specifieke operators, of een foutmelding van de Parallels Panel-toepassing in de node system. Voor details over de betekenissen van de node system en de node output, zie de sectie Omgaan met foutmeldingen (op pagina 62). Om de structuur van de responses te onderzoeken, hebt u het schema agent_output.xsd nodig. Dit schema somt de gegevenstypen op voor alle operators die worden ondersteund door een gegeven versie van de API RPC. Ook geeft het aan welke uitvoerschema s bij deze operators passen. Binnen elk [operator]-element van een responsepakket bevat een doorsnee gegevenstype van een response een of meer result-elementen. Deze gegevens hebben het formaat van een complex type dat doorgaans het type resulttype bevat dat als volgt is gedefinieerd in het schema common.xsd: <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 Instellen via externe API 61 <xs:element name= errtext type= xs:string minoccurs= 0 ></xs:element> </xs:sequence> </xs:complextype> Het element result kan ook optionele geneste elementen bevatten, wanneer deze in het complex gegevenstype zijn gedefinieerd. In normale gevallen ziet het pakket dat door de Parallels Panel API RPC-server wordt teruggegeven er ongeveer als volgt uit: <?xml= 1.0 encoding= UTF-8?> <packet version= > <[operator]> <[operation]> [ ] <result>... </result> <result>... </result>... <result>... </result> </[operation]> </[operator]> Hierbij staat [operator] voor de operator die is gebruikt in het requestpakket en verwijst [operation] naar de handeling die is uitgevoerd. Het element RESULT wordt altijd gebruikt voor het isoleren van de gevraagde informatie en de status van de uitvoering van de uitvoerde handeling. De sectie RESULT bevat altijd het element STATUS, dat de uitvoeringsstatus bevat van de uitgevoerde handeling. Opmerking: een echt XML-responsepakket kan meer dan één handeling bevatten in de sectie operator, wanneer het invoerpakket heeft verzocht om meerdere handelingen. Een responsepakket kan ook meer dan sectie operator bevatten, als het invoerpakket de uitvoering van handelingen op meerdere objecten van Parallels Panel vereiste.

62 62 Instellen via externe API Omgaan met foutmeldingen De server verschaft informatie aan de cliëntsoftware over twee soorten foutmeldingen. Dit zijn controlefouten en uitvoeringsfouten (als het tenminste zover komt dat de aangevraagde handeling wordt uitgevoerd). Als een van beide soorten fouten zich voordoet, dan bevat de omschrijving daarvan die door de door Parallels Panel beheerde server wordt teruggegeven altijd de volgende parameters: status met de waarde error errcode de foutmeldingscode: een uniek getal waarmee de fout kan worden geïdentificeerd errtext de foutmelding: een leesbare en begrijpelijke omschrijving van de fout Een foutmelding wordt (meestal) bepaald door het type resulttype in het schema common.xsd, of door een type dat hierop is gebaseerd (afhankelijk van de operator). Controlefouten Een inkomend HTTP-pakket wordt een aantal maal gecontroleerd aan de kant van de server voordat deze als geldig wordt beschouwd en wordt uitgevoerd. Hier volgen enkele van deze controlemomenten: controle van de header HTTP-POST controle of de versie van het API RPC-protocol die is opgegeven wordt ondersteund controle van de methode van verificatie (gebruikersnaam/wachtwoord of geheime sleutel) controle van de status van remote_access_interface in de toewijzing van rechten van de gebruiker... controle van de geldigheid van het pakket controle van de beschikbaarheid van de vereiste agenten in de huidige versie van Parallels Panel Elk van deze controles kan mislukken, waarna verdere controle en uitvoering van de opdrachten niet meer mogelijk is. Aangezien het proces aan de kant van de server is vastgelopen tijdens een van de controlemomenten vooraf (dat wil zeggen, de uitvoering van de handeling is nog niet begonnen), dan zal het responsepakket een van de volgende elementen bevatten: system bevat een foutmelding die wordt bepaald door het type resulttype in het schema common.xsd output, een optioneel element dat een bericht bevat van stderr (mist deze niet leeg is) van het component waarbij het proces is vastgelopen. Dit element wordt bepaald door het type garbageoutput in het schema plesk_common.xsd Bijvoorbeeld, de response die wordt ontvangen van de Parallels Panel API RPC-server bij de poging om een niet-bestaande versie van het API RPC-protocol te gebruiken, ziet er als volgt uit:

63 Instellen via externe API 63 <packet version= > <system> <status>error</status> <errcode>1005</errcode> <errtext>api RPC protocol versie not supported.</errtext> </system> <output> </output> Uitvoeringsfouten Als alle controles zijn geslaagd, dan zullen de geselecteerde agenten proberen de gevraagde handelingen achter elkaar uit te voeren. Als een van de handelingen mislukt, dan zal de betreffende agent melding maken van de uitvoeringsfout. De Agent Engine verzamelt alle reacties en stelt een responsepakket samen dat is gebaseerd op de XML-uitvoerschema s. Bijvoorbeeld, als het aanmaken van een domein is mislukt, dan zal de operator domein een foutmelding vormen aan de hand van het schema domain_output.xsd: <packet version= > <domain> <add> <result> <status>error</status> <errcode>2300</errcode> <errtext>failed to add domain.</errtext> </result> </add> </domain>

64 64 Instellen via externe API Voorbeelden van cliëntcode In deze sectie worden voorbeelden getoond van cliënttoepassingen geschreven in PHP, C# en VB.NET, die illustreren hoe het API RPC-protocol kan worden gebruikt. In deze sectie: Cliënttoepassing in PHP Cliënttoepassing in C# Cliënttoepassing in VB.NET Cliënttoepassing in PHP Het volgende codevoorbeeld is een kant-en-klare cliënttoepassing geschreven in PHP. Opmerking: als u deze voorbeeldcode wilt gebruiken, zorg dan dat u minimaal beschikt over PHP of hoger. Voor meer informatie kunt u een van de volgende sites bezoeken: of Reacties class ApiRequestException function domainsinforequest() function curlinit() Uitbereiding van de standaardclass Exception. Zie voor details. Gebruikt het DOM-model om een XML- requestpakket samen te stellen. Geef het resulterende DOM-object terug. Initialiseert als volgt de CURL-sessie met de benodigde opties: CURLOPT_URL CURLOPT_RETURNTRANS FER CURLOPT_POST geeft de URL van bestemming op als deze wordt ingesteld op true, dan wordt de resulterende uitvoer door de server teruggegeven in de vorm van een tekenreeks (string). als deze wordt ingesteld op true, dan zal het pakket via HTTP POST worden verstuurd.

65 Instellen via externe API 65 CURLOPT_SSL_VERIFYPE ER CURLOPT_SSL_VERIFYHO ST CURLOPT_HTTPHEADER als deze wordt ingesteld op false, dan stopt CURL met de verificatie van het peercertificaat. als deze wordt ingesteld op false, dan stopt CURL met de verificatie van de host. specificeert een array met HTTP-headervelden die moeten worden ingesteld. Geeft de handler van de URL-sessie terug. function sendrequest() function parseresponse() function checkresponse() Verstuurt het HTTP-pakket via CURL en ontvangt een responsepakket in pure XML (zonder de HTTP-header). Sluit de CURL-sessie af en stuurt het resulterende pakket terug (een platte tekst met XML-tags). Als u meer wilt weten over de CURL-engine, bezoek dan Haalt het responsepakket (platte tekst) op als parameter. Parset het pakket met SimpleXML en geeft het SimpleXMLElement-object terug, met daarin het pakket als een boomstructuur. Als u meer wilt weten over de PHP-uitbreiding SimpleXML, bezoek dan Haalt het responsepakket met het type SimpleXMLEelement op controleert de node result. Als deze node error bevat, dan geeft de functie een foutmelding terug met een tekenreeks in de node errtext. De functie main() roept deze functies aan in de volgorde waarin ze worden verwerkt. Als eerste roept het de functie domaininforequest() aan, om een pakket aan te maken dat er ongeveer als volgt uitziet: <?xml versie= 1.0 encoding= UTF-8?> <packet version= > <domain> <get> <filter/> <dataset> <limits/> <prefs/> <user/>

66 66 Instellen via externe API <hosting/> <stat/> <gen_info/> </dataset> </get> </domain> Vervolgens wordt curlinit() aangeroepen op de CURL-sessies met de juiste opties te initialiseren. De functie sendrequest() verstuurt een pakket waarbij de HTTP-header er als volgt uitziet: 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 Het XML-antwoordpakket dat van de door Parallels Panel beheerde server zal worden ontvangen kan er als volgt uitzien: <?xml versie= 1.0 encoding= UTF-8?> <packet version= > <domein> <get> <result> <status>ok</status> <id>1234</id> <value> <gen_info> <cr_date> </cr_date> <name>voorbeeld.nl</name> <display_name>voorbeeld</display_name> <status>64</status> <real_size>0</real_size> <client_id>46</client_id>

67 Instellen via externe API 67 <dns_ip_address> </dns_ip_address> <htype>none</htype> </gen_info> </value> </result> </get> </domain> Als het responsepakket eenmaal is ontvangen en geparsed met de functie parseresponse(), dan zal de iterator foreach de inhoud van de node result weergeven. Voorbeeldcode <?php /** Geeft een foutmelding tijdens API RPC-request */ class ApiRequestException extends Exception {} /** Geeft een DOM-object terug dat een verzoek om informatie over alle beschikbare domeinen DOMDocument */ function domainsinforequest() { $xmldoc = new DomDocument( 1.0, UTF-8 ); $xmldoc->formatoutput = true; // <pakket> $pakket = $xmldoc->createelement( pakket ); $pakket->setattribute( versie, ); $xmldoc->appendchild($pakket); // <pakket/domein> $domein = $xmldoc->createelement( domein ); $pakket->appendchild($domein); // <pakket/domein/get> $get = $xmldoc->createelement( get );

68 68 Instellen via externe API $domein->appendchild($get); } // <pakket/domein/get/filter> $filter = $xmldoc->createelement( filter ); $get->appendchild($filter); // <pakket/domein/get/dataset> $dataset = $xmldoc->createelement( dataset ); $get->appendchild($dataset); // dataset elementen $dataset->appendchild($xmldoc->createelement( hosting )); $dataset->appendchild($xmldoc->createelement( gen_info )); return $xmldoc; /** Bereidt CURL voor om het API-request uit te resource */ function curlinit($host, $login, $wachtwoord) { $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; /** Voert een API-request van Parallels Panel uit en geeft de onbewerkte tekst van de API-response terug string

69 Instellen via externe API ApiRequestException */ function sendrequest($curl, $pakket) { curl_setopt($curl, CURLOPT_POSTFIELDS, $pakket); $result = curl_exec($curl); if (curl_errno($curl)) { $errmsg = curl_error($curl); $errcode = curl_errno($curl); curl_close($curl); throw new ApiRequestException($errmsg, $errcode); } } curl_close($curl); return $result; /** Bekijkt of de API de juiste gegevens als antwoord terugstuurt ApiRequestException */ function parseresponse($response_string) { $xml = new SimpleXMLElement($response_string); if (!is_a($xml, SimpleXMLElement )) throw new ApiRequestException( Kan antwoord van server niet parsen: {$response_string} ); } return $xml; /** Controleert de gegevens in het ApiRequestException */ function checkresponse(simplexmlelement $response) { $resultnode = $response->domein->get->result; // controleer of request geslaagd is if ( error == (string)$resultnode->status)

70 70 Instellen via externe API throw new ApiRequestException( De API van Parallels Panel heeft een foutmelding teruggegeven:. (string)$resultnode->result->errtext); } // // int main() // $host = ; $login = admin ; $wachtwoord = qwedsa ; $curl = curlinit($host, $login, $password); try { $response = sendrequest($curl, domainsinforequest()->savexml()); $responsexml = parseresponse($response); checkresponse($responsexml); } catch (ApiRequestException $e) { echo $e; } die(); // Onderzoek het resultaat foreach ($responsexml->xpath( /packet/domein/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 ; }?>

71 Instellen via externe API 71 Cliënttoepassing in C# Het volgende codevoorbeeld is een kant-en-klare cliënttoepassing geschreven in C#. Reacties De class Request implementeert het verzenden van een requestpakket naar een door Parallels Panel beheerde server via HTTP en ontvangt het antwoordpakket. Deze kent de volgende onderdelen: public string Hostnaam public string Login public string Wachtwoord public string Protocol public ValidationEventHandler XmlSchemaValidation public string AgentEntryPoint public string InputValidationSchema public string OutputValidationSchema public XmlDocument Send (XmlDocument) public XmlDocument Send (Stream) public XmlDocument Send (string) Deze bevat de hostnaam (IP-adres) van de door Parallels Panel beheerde server waarnaar het requestpakket is verstuurd. Standaard is dit localhost. Bevat de gebruikersnaam van de beheerder van Parallels Panel. Standaard is dit admin. Deze bevat het beheerderwachtwoord voor Parallels Panel. Standaard is dit setup. Bevat de versie van het API RPC-protocol dat wordt gebruikt voor de interactie met Parallels Panel. Een handler die wordt gebruikt voor het ontvangen van foutmeldingen met betrekking tot schemavalidatie. Bevat de URL van de Parallels Panel-agent die het requestpakket aan de kant van de server zal verwerken. Bevat de URL van het validatieschema dat zal worden toegepast op het requestpakket voordat deze naar de server wordt gestuurd. Bevat de URL van het validatieschema dat zal worden toegepast op het antwoordpakket voordat deze naar de client wordt gestuurd. Haalt het requestpakket (in de vorm van een XmlDocument-object) naar de inputparameter. Verstuurt een request en haalt het response op in de vorm van een XmlDocument-object. Haalt het requestpakket op (een stream) en plaatst deze in de invoerparameter. Valideert het requestpakket aan de hand van het validatieschema agent_input.xsd. Start de functie Send(XmlDocument) (member function). Haalt de URI van het requestpakket op (een XML-bestand) en plaatst deze in de invoerparameter. Valideert het requestpakket aan de hand van het validatieschema agent_input.xsd. Start de functie Send(XmlDocument) (member function).

72 72 Instellen via externe API private HttpWebRequest SendRequest (string) private XmlDocument ParseAndValidate (TextReader, string) private XmlDocument GetResponse (HttpWebRequest) Vormt een HTTP-request: geeft de HTTP-header en een serialized XML-pakket aan het object met het type HttpWebRequest. Geeft dit object terug. Haalt de URI van het schema agent_input.xsd op samen met een stringreader (met de URI van het XML-pakket dat moet worden gevalideerd) en plaatst deze in de invoerparameters. Valideert het pakket en geeft deze terug in een boomstructuur (een XmlDocument-object). Haalt het HTTP-requestpakket op (HttpWebRequest-object) en plaatst deze in een invoerparameter. Verstuurt het pakket via HTTP, ontvangt een responsepakket van de server, valideert deze aan de hand van het schema agent_output.xsd en geeft het XML-responsepakket terug in een boomstructuur (een XmlDocument-object). De class Program implementeert de consoletoepassing voor de client. static void Main (string[]) private static bool RemoteCertificateValidation (object, X509Certificate, X509Chain, SslPolicyErrors) private static void XmlSchemaValidation (object, ValidationEventArgs) static void PrintResult(XmlDocument) Een ingang tot de toepassing PanelApiRpcClient. Haalt een array met arguments (strings) op en plaatst deze in de invoerparameter. Het gaat hierbij om de volgende argumenten: [0] - de hostnaam (het IP-adres) van de door Parallels Panel beheerde server, [1] - de gebruikersnaam van de beheerder van Parallels Panel, [2] - het wachtwoord van de beheerder van Parallels Panel, [3] - het gebruikte API RPC-protocol, [4] - een zoekpad naar het XML-bestand met een XML-requestpakket. De functie maakt een requestpakket aan met het type Request (zie hierboven), valideert deze, verstuurt een request naar Parallels Panel en toont het resulterende XML-pakket. De functie controleert het externe SSL-certificaat om de server te verifiëren. Als de server niet kan worden geverifieerd, dan wordt als antwoord false teruggegeven. De handler die foutmeldingen valideert. De functie voert het responsepakket (een XmlDocument-object) uit naar de console.

73 Instellen via externe API 73 De cliënttoepassing kan als volgt vanaf de opdrachtregel worden gestart: PanelApiRpcClient gebruikersnaam_beheerder wachtwoord_beheerder c:\requests\addnewdomain.xml Het requestpakket wordt in het bestand AddNewDomain.xml geplaatst: <?xml versie= 1.0 encoding= UTF-8?> <packet version= > <domain> <add> <gen_setup> <name>voorbeeld.nl</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_gebruikersnaam</name> <value>fpt16se4fdf0</value> </property> <property> <name>ftp_wachtwoord</name> <value>qweqwe</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain> Het antwoordpakket dat van de server zal worden ontvangen kan er als volgt uitzien: <?xml versie= 1.0?> <packet version= > <domain> <add> <result>

74 74 Instellen via externe API <status>ok</status> <id>6</id> <guid>5c0e a bcc0-881d691bfdef</guid> </result> </add> </domain> Dit pakket geeft het resultaat terug van de add-operatie en de ID en GUID van het domein dat zojuist is aangemaakt. Voorbeeldcode 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 { // Public interface // public string Hostname = localhost ; // Hostnaam van Parallels Panel public string Login = admin_gebruikersnaam ; // Gebruikersnaam van beheerder public string Password = admin_wachtwoord ; // Wachtwoord van beheerder public string Protocol = ; // API RPC-versieprotocol. // Handler voor het ontvangen van informatie over de document type definition (DTD), // XML-Data Reduced (XDR)-schema en XML Schema definition language (XSD) // fouten bij schemavalidatie. public ValidationEventHandler XmlSchemaValidation = null;

75 Instellen via externe API 75 public Request() { } public string AgentEntryPoint { get { return https:// + hostnaam + :8443/enterprise/control/agent.php ; } } public string InputValidationSchema { get { return https:// + hostnaam + :8443/schemas/rpc/ + Protocol + /agent_input.xsd ; } } public string OutputValidationSchema { get { return https:// + hostnaam + :8443/schemas/rpc/ + Protocol + /agent_output.xsd ; } } public XmlDocument Send(XmlDocument pakket) { HttpWebRequest request = SendRequest(pakket.OuterXml); XmlDocument result = GetResponse(request); return result; } public XmlDocument Send(Stream pakket) { using (TextReader reader = new StreamReader(pakket)) { return Send(ParseAndValidate(reader, InputValidationSchema)); } } public XmlDocument Send(string packeturi) { using (TextReader reader = new StreamReader(packetUri)) { return Send(ParseAndValidate(reader, InputValidationSchema)); } // Private interface // } // Versturen van een request // private HttpWebRequest SendRequest(string message) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AgentEntryPoint); request.method = POST ; request.headers.add( HTTP_AUTH_LOGIN, Gebruikersnaam); request.headers.add( HTTP_AUTH_PASSWD, Wachtwoord); request.contenttype = text/xml ; request.contentlength = message.length; ASCIIEncoding encoding = new ASCIIEncoding(); byte[] buffer = encoding.getbytes(message);

76 76 Instellen via externe API using (Stream stream = request.getrequeststream()) { stream.write(buffer, 0, message.length); } return request; } // Parsen en valideren van pakket // 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 Instellen via externe API 77 static void Main(string[] args) { if (args.length < 5) { Console.WriteLine( Usage: PanelApiRpcClient <Hostnaam> <Gebruikersnaam> <Wachtwoord> <Protocol> <Request> ); Console.WriteLine( ); Console.WriteLine( Hostnaam - Hostnaam van Parallels Panel ); Console.WriteLine( Gebruikersnaam - Gebruikersnaam van beheerder ); Console.WriteLine( Wachtwoord - Wachtwoord van beheerder ); Console.WriteLine( Protocol - API RPC-protocolversie ); Console.WriteLine( Request (*.xml) ); return; } - Zoekpad naar bestand van request // Controleert het externe Secure Sockets Layer (SSL)-certificaat // dat wordt gebruikt voor verificatie. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(RemoteCertificateValidation); Request request = new Request(); request.xmlschemavalidation = XmlSchemaValidation; request.hostnaam= args[0]; // ; request.gebruikersnaam = args[1]; // admin ; request.wachtwoord = args[2]; // setup ; request.protocol = args[3]; // ; string pakket = args[4]; // request.xml ; try { XmlDocument result = request.send(pakket); PrintResult(result); } catch (Exception e) { Console.WriteLine( Fout in request: {0}, e.message); } } // De volgende methode wordt aangeroepen door het RemoteCertificateValidationDelegate. private static bool RemoteCertificateValidation(object sender,

78 78 Instellen via externe API X509Certificate certificaat, X509Chain chain, SslPolicyErrors sslpolicyerrors) { if (sslpolicyerrors!= SslPolicyErrors.RemoteCertificateNotAvailable) return true; Console.WriteLine( Certificate error: {0}, sslpolicyerrors); // Sta deze cliënt niet toe om te communiceren met niet-geverifieerde servers. return false; } // private static void XmlSchemaValidation(object sender, ValidationEventArgs e) { Console.WriteLine( Fout in validatie: {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(); } } Cliënttoepassing in VB.NET Het volgende codevoorbeeld is een kant-en-klare cliënttoepassing geschreven in VB.NET. Reacties De class Request implementeert het verzenden van een requestpakket naar een door Parallels Panel beheerde server via HTTP en ontvangt het antwoordpakket. Deze kent de volgende onderdelen: public string Hostnaam public string Login Deze bevat de hostnaam (IP-adres) van de door Parallels Panel beheerde server waarnaar het requestpakket is verstuurd. Standaard is dit localhost. Bevat de gebruikersnaam van de beheerder van Parallels Panel. Standaard is dit admin.

79 Instellen via externe API 79 public string Wachtwoord public string Protocol 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) Deze bevat het beheerderwachtwoord voor Parallels Panel. Standaard is dit setup. Bevat de versie van het API RPC-protocol dat wordt gebruikt voor de interactie met Parallels Panel. Een handler die wordt gebruikt voor het ontvangen van foutmeldingen met betrekking tot schemavalidatie. Bevat de URL van de Parallels Panel-agent die het requestpakket aan de kant van de server zal verwerken. Bevat de URL van het validatieschema dat zal worden toegepast op het requestpakket voordat deze naar de server wordt gestuurd. Bevat de URL van het validatieschema dat zal worden toegepast op het antwoordpakket voordat deze naar de client wordt gestuurd. Haalt het requestpakket (in de vorm van een XmlDocument-object) naar de inputparameter. Verstuurt een request en haalt het response op in de vorm van een XmlDocument-object. Haalt het requestpakket op (een stream) en plaatst deze in de invoerparameter. Valideert het requestpakket aan de hand van het validatieschema. Start de functie Send(XmlDocument) (member function). Haalt de URI van het requestpakket op (een XML-bestand) en plaatst deze in de invoerparameter. Valideert het requestpakket aan de hand van het validatieschema. Start de functie Send(XmlDocument) (member function). Vormt een HTTP-request: geeft de HTTP-header en een serialized XML-pakket aan het object met het type HttpWebRequest. Geeft dit object terug. Haalt de URI van het validatieschema op, samen met een stringreader (met de URI van het XML-pakket dat moet worden gevalideerd) en plaatst deze in de invoerparameters. Valideert het pakket en geeft deze terug in een boomstructuur (een XmlDocument-object). Haalt het HTTP-requestpakket op (HttpWebRequest-object) en plaatst deze in een invoerparameter. Verstuurt het pakket via HTTP, ontvangt een responsepakket van de server, valideert deze aan de hand van het validatieschema en geeft het XML-responsepakket terug in een boomstructuur (een XmlDocument-object).

80 80 Instellen via externe API De class Program implementeert de consoletoepassing voor de client. 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) Een ingang tot de toepassing PanelApiRpcClient. Haalt een array met arguments (strings) op en plaatst deze in de invoerparameter. Het gaat hierbij om de volgende argumenten: [0] - de hostnaam (het IP-adres) van de door Parallels Panel beheerde server, [1] - de gebruikersnaam van de beheerder van Parallels Panel, [2] - het wachtwoord van de beheerder van Parallels Panel, [3] - het gebruikte API RPC-protocol, [4] - een zoekpad naar het XML-bestand met een XML-requestpakket. De functie maakt een requestpakket aan met het type Request (zie hierboven), valideert deze, verstuurt een request naar Parallels Panel en toont het resulterende XML-pakket. De functie controleert het externe SSL-certificaat om de server te verifiëren. Als de server niet kan worden geverifieerd, dan wordt als antwoord false teruggegeven. Private Shared Sub XmlSchemaValidation(ByVal sender As Object, ByVal e As ValidationEventArgs) De handler die foutmeldingen valideert. Private Shared Sub PrintResult(ByVal document As XmlDocument) De functie voert het responsepakket (een XmlDocument-object) uit naar de console. De cliënttoepassing kan als volgt vanaf de opdrachtregel worden gestart: PanelApiRpcClient gebruikersnaam_beheerder wachtwoord_beheerder c:\requests\request.xml Het requestpakket wordt in het bestand request.xml geplaatst:

81 Instellen via externe API 81 <?xml versie= 1.0 encoding= UTF-8?> <packet version= > <domain> <add> <gen_setup> <name>voorbeeld.nl</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_gebruikersnaam</name> <value>fp16se4fdf0</value> </property> <property> <name>ftp_wachtwoord</name> <value>qweqwe</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain> Het antwoordpakket dat van de server zal worden ontvangen kan er als volgt uitzien: <?xml versie= 1.0?> <packet version= > <domain> <add> <result> <status>ok</status> <id>6</id> <guid>5c0e a bcc0-881d691bfdef</guid> </result> </add> </domain>

82 82 Instellen via externe API Dit pakket geeft het resultaat terug van de add-operatie en de ID en GUID van het domein dat zojuist is aangemaakt. Voorbeeldcode 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 Public interface Public Hostname As String = localhost Parallels Panel Public Login As String = admin_login van beheerder Public Password As String = admin_setup beheerder Public Protocol As String = RPC-versieprotocol De hostnaam van Gebruikersnaam Wachtwoord van API Handler voor het ontvangen van informatie over de document type definition (DTD), XML-Data Reduced (XDR)-schema en XML Schema definition language (XSD) fouten bij schemavalidatie. Public XmlSchemaValidation As ValidationEventHandler Public ReadOnly Property AgentEntryPoint As String Get Return ( https:// & Me.Hostname & :8443/enterprise/control/agent.php ) End Get End Property

83 Instellen via externe API 83 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 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 pakket As XmlDocument) As XmlDocument Dim request As HttpWebRequest = Me.SendRequest(pakket.OuterXml) Return Me.GetResponse(request) End Function Public Function Send(ByVal pakket As Stream) As XmlDocument Using reader As TextReader = New StreamReader(pakket) 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 Private interface Versturen van een request Private Function SendRequest(ByVal message As String) As HttpWebRequest

84 84 Instellen via externe API Dim request As HttpWebRequest = DirectCast(WebRequest.Create(Me.AgentEntryPoint), HttpWebRequest) request.method = POST request.headers.add( HTTP_AUTH_LOGIN, Me.Login) 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 Parsen en valideren van pakket 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)

85 Instellen via externe API 85 Using stream As Stream = response.getresponsestream 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 Shared Sub Main(ByVal args As String()) If (args.length < 5) Then Else Console.WriteLine( Usage: PanelApiRpcClient <Hostnaam> <Gebruikersnaam> <Wachtwoord> <Protocol> <Request> ) Console.WriteLine( ) Console.WriteLine( Hostnaam - De hostnaam van Parallels Panel ) Console.WriteLine( Gebruikersnaam - Gebruikersnaam van beheerder ) Console.WriteLine( Wachtwoord - Wachtwoord van beheerder ) Console.WriteLine( Protocol - API RPC-protocolversie ) Console.WriteLine( Request - Zoekpad naar bestand van request (*.xml) ) Controleert het externe Secure Sockets Layer (SSL)-certificaat dat wordt gebruikt voor verificatie. ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf Program.RemoteCertificateValidation) Dim request As New Request request.xmlschemavalidation = New ValidationEventHandler(AddressOf Program.XmlSchemaValidation) ; request.hostname = args(0)

86 86 Instellen via externe API request.login = args(1) admin ; request.password = args(2) setup ; request.protocol = args(3) ; Dim packeturi As String = args(4) request.xml ; Try Program.PrintResult(request.Send(packetUri)) Catch exception As Exception Console.WriteLine( Fout in request: {0}, exception.message) End Try End If End Sub De volgende methode wordt aangeroepen door het RemoteCertificateValidationDelegate. Private Shared Function RemoteCertificateValidation(ByVal sender As Object, ByVal certificaat As X509Certificate, ByVal chain As X509Chain, ByVal sslpolicyerrors As SslPolicyErrors) As Boolean If (sslpolicyerrors <> SslPolicyErrors.RemoteCertificateNotAvailable) Then Return True End If Console.WriteLine( Fout in certificaat: {0}, sslpolicyerrors) Sta deze cliënt niet toe om te communiceren met niet-geverifieerde servers. Return False End Function Private Shared Sub XmlSchemaValidation(ByVal sender As Object, ByVal e As ValidationEventArgs) End Class 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

87 End Namespace Instellen via externe API 87

88 88 Instellen via externe API Parallels Panel instellen In deze sectie wordt in detail uitgelegd hoe elke handeling van de installatie van Parallels Panel kan worden uitgevoerd via de externe API. In deze sectie: Parallels Panel initialiseren Licentiesleutel installeren Instellen van de DNS SSL-certificaten installeren Domeinen aanmaken Subdomeinen aanmaken Instellen van de beschikbare APS-catalogussen Toepassingen installeren Parallels Panel initialiseren Om Parallels Panel via API RPC te initialiseren, verstuurt u XML-requestpakket met de operation-node smb/initial_setup: <packet version= > <smb> <initial_setup>... </initial_setup> </smb> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden... 92

89 Instellen via externe API 89 Pakketstructuur van aanvragen De node initial_setup is als volgt gestructureerd: password, vereist Stelt een nieuw wachtwoord in voor de beheerder van Parallels Panel. Gegevenstype: serverpassword (plesk_server.xsd). Tekenreeks met tussen de 5 en 14 tekens. admin_ , vereist Stelt het adres in voor de beheerder van Parallels Panel. Gegevenstype: type (common.xsd). Tekenreeks met tussen de 3 en 255 tekens. locale, optioneel Stelt de regio van Parallels Panel in - de code van de taal en regio die zal worden gebruikt binnen de schermen van Parallels Panel. Gegevenstype: string.

90 90 Instellen via externe API Voorbeeldrequests Een requestpakket voor het initialiseren van Parallels Panel ziet er ongeveer als volgt uit: <packet version= > <smb> <initial_setup> <password>w8tw00rd</password> </initial_setup> </smb> Een requestpakket dat Parallels Panel initialiseert en dat Nederlands (Nederland) als de standaardtaal instelt ziet er als volgt uit: <packet version= > <smb> <initial_setup> <password>w8tw00rd</password> <locale>nl-nl</locale> </initial_setup> </smb>

91 Instellen via externe API 91 Structuur van responsepakketten De node initial_setup van het uitvoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. Foutmelding van specifieke handelingen 1003, Agent engine initialization error. Parallels Panel is reeds geïnitialiseerd. 1019, Invalid value. De opgegeven regio is niet beschikbaar.

92 92 Instellen via externe API Responsevoorbeelden Een positief antwoord dat van de server zal worden ontvangen ziet er als volgt uit: <packet version= > <smb> <initial_setup> <result> <status>ok</status> </result> </initial_setup> </smb> Het volgende negatieve response wordt ontvangen als Parallels Panel al is geïnitialiseerd. <packet version= > <smb> <initial_setup> <result> <status>error</status> <errcode>1003</errcode> <errtext>initial setup already completed</errtext> </result> </initial_setup> </smb> Het volgende negatieve response wordt ontvangen als de opgegeven regio niet beschikbaar is. <packet version= > <smb>

93 Instellen via externe API 93 <initial_setup> <result> <status>error</status> <errcode>1019</errcode> <errtext>locale nl-nl is not installed on server</errtext> </result> </initial_setup> </smb> Licentiesleutel installeren Om via API RPC een licentiesleutel te installeren, verstuurt u een XML-requestpakket met als operation-node server/lic_install: <packet version= > <server> <lic_install>... </lic_install> </server> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden... 99

94 94 Instellen via externe API Pakketstructuur van aanvragen Een XML- requestpakket dat een licentiesleutel installeert bevat de operation-node server/lic_install en is als volgt gestructureerd: license, vereist Bevat de gegevens van de licentiesleutel. Gegevenstype: base64. additional_key, optioneel Geeft aan of de sleutel die zal worden geïnstalleerd een extra sleutel is. Gegevenstype: geen.

95 Instellen via externe API 95 Voorbeeldrequests Dit pakket installeert een standaard licentiesleutel (hoofdsleutel) voor Parallels Small Business Panel voor Linux/Unix, die hoort bij de distributie van het product. <packet version= > <server>

96 96 Instellen via externe API <lic_install> <licentie>pd94bwwgdmvyc2lvbj0ims4wiiblbmnvzgluzz0ivvrgltgiid8+ia0klsa8chatc 21iLXVuaXgtMTA6a2V5IGNvcmU6Zm9ybWF0PSJvcGVuZnVzaW9uLTMiIHhtbG5zOmNvcmU9Imh0 dha6ly9wyxjhbgxlbhmuy29tl3njagvtyxmva2v5cy9jb3jllzmiihhtbg5zonbwlxntyi11bml 4LTEwPSJodHRwOi8vcGFyYWxsZWxzLmNvbS9zY2hlbWFzL2tleXMvcHJvZHVjdHMvcHAtc21iL3 VuaXgvMTAuMCI+DQotIDwhLS0gVW5pcXVlIHByb2R1Y3QgS2V5IG51bWJlcg0KICAtLT4gDQogI Dxjb3JlOmtleS1udW1iZXIgY29yZTp0eXBlPSJzdHJpbmciPlNNQi4wMDAwMDAwMDwvY29yZTpr ZXktbnVtYmVyPiANCi0gPCEtLSBLZXkgdmVyc2lvbg0KICAtLT4gDQogIDxjb3JlOmtleS12ZXJ zaw9uignvcmu6dhlwzt0ic3ryaw5nij4wmdawpc9jb3jlomtles12zxjzaw9upianci0gpcetls BLZXkgZGVzY3JpcHRpb24NCiAgLS0+IA0KLSA8Y29yZTpkZXNjcmlwdGlvbj4NCiAgPGNvcmU6a 2V5dHlwZT5QYXJhbGxlbHMgUGFuZWwgMTAgU01CIEVkaXRpb24gZm9yIFVuaXgvTGludXg8L2Nv cmu6a2v5dhlwzt4gdqogidwvy29yztpkzxnjcmlwdglvbj4nci0gpcetlsbqcm9kdwn0ihdoawn oihroaxmgbgljzw5zzsbpcybpbnrlbmrlzcb0byb3b3jrig9udqogic0tpianciagpgnvcmu6ch JvZHVjdCBjb3JlOnR5cGU9InN0cmluZyI+cHAtc21iLXVuaXg8L2NvcmU6cHJvZHVjdD4gDQotI DwhLS0gU3VwcG9ydGVkIHByb2R1Y3QgdmVyc2lvbg0KICAtLT4gDQogIDxjb3JlOnZlcnNpb24g Y29yZTp0eXBlPSJzdHJpbmciPjEwLjA8L2NvcmU6dmVyc2lvbj4gDQotIDwhLS0gRGF0ZSBhZnR lcib3agljacb0aglzigxpy2vuc2ugymvjb21lcyb1c2fibgugkgluy2x1c2l2zsknciagls0+ia 0KICA8Y29yZTpzdGFydC1kYXRlIGNvcmU6dHlwZT0iZGF0ZSI+aW5zdGFudDwvY29yZTpzdGFyd C1kYXRlPiANCi0gPCEtLSBEYXRlIGJlZm9yZSB3aGljaCB0aGlzIGxpY2Vuc2UgaXMgdXNhYmxl IChleGNsdXNpdmUpDQogIC0tPiANCiAgPGNvcmU6ZXhwaXJhdGlvbi1kYXRlIGNvcmU6dHlwZT0 izgf0zsi+bmv2zxi8l2nvcmu6zxhwaxjhdglvbi1kyxrlpianci0gpcetlsbvukwgb2ygdghlih NlcnZpY2UgZW5kcG9pbnQgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhbiBhdXRvdXBkYXRlDQogI C0tPiANCiAgPGNvcmU6bGljZW5zZS1zZXJ2ZXItdXJsIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRw czovl2thlnbhcmfsbgvscy5jb206ntiync94bwxycgm8l2nvcmu6bgljzw5zzs1zzxj2zxitdxj spianci0gpcetlsbeyxrlihdozw4gchjvzhvjdcb3awxsihryesb0bybwzxjmb3jtigfuigf1dg 91cGRhdGUNCiAgLS0+IA0KICA8Y29yZTp1cGRhdGUtZGF0ZSBjb3JlOnR5cGU9ImRhdGUiPmluc 3RhbnQ8L2NvcmU6dXBkYXRlLWRhdGU+IA0KICA8Y29yZTp1cGRhdGUtdGlja2V0IGNvcmU6aGlk ZGVuPSJ0cnVlIiBjb3JlOnR5cGU9InN0cmluZyI+LS0tLS0tc21iXzEwX3VuaXhfZGVmYXVsdC0 tls0tls08l2nvcmu6dxbkyxrllxrpy2tldd4gdqotidwhls0gu01cifvzzxjzdqogic0tpianci AgPHBwLXNtYi11bml4LTEwOnNtYi11c2VycyBjb3JlOnR5cGU9ImludGVnZXIiPjE8L3BwLXNtY i11bml4ltewonntyi11c2vycz4gdqotidwhls0gtnvtymvyig9migrvbwfpbnmnciagls0+ia0k ICA8cHAtc21iLXVuaXgtMTA6ZG9tYWlucyBjb3JlOnR5cGU9ImludGVnZXIiPjE8L3BwLXNtYi1 1bml4LTEwOmRvbWFpbnM+IA0KLSA8IS0tIEFiaWxpdHkgdG8gdXNlIFNwYW1Bc3Nhc3Npbg0KIC AtLT4gDQogIDxwcC1zbWItdW5peC0xMDpzcGFtYXNzYXNpbi1zdXBwb3J0IGNvcmU6dHlwZT0iY m9vbgvhbii+dhj1ztwvchatc21ilxvuaxgtmta6c3bhbwfzc2fzaw4tc3vwcg9ydd4gdqotidwh LS0gQVBTIEFwcGxpY2F0aW9uDQogIC0tPiANCiAgPHBwLXNtYi11bml4LTEwOmFwcy1hcHAgY29 yztp0exblpsjzdhjpbmcipmh0dha6ly93d3cubwfnawnzcgftlmnvbs88l3bwlxntyi11bml4lt EwOmFwcy1hcHA+IA0KLSA8IS0tIEFQUyBBcHBsaWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItd W5peC0xMDphcHMtYXBwIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwOi8vd3d3LnBpbm5hY2xlY2Fy dc5jb20vpc9wcc1zbwitdw5pec0xmdphchmtyxbwpianci0gpcetlsbbufmgqxbwbgljyxrpb24 NCiAgLS0+IA0KICA8cHAtc21iLXVuaXgtMTA6YXBzLWFwcCBjb3JlOnR5cGU9InN0cmluZyI+aH R0cHM6Ly93d3cua2VlcGl0LmNvbS91bmxpbWl0ZWQ8L3BwLXNtYi11bml4LTEwOmFwcy1hcHA+I A0KLSA8IS0tIEFQUyBBcHBsaWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItdW5peC0xMDphcHMt YXBwIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwOi8vd3d3LnN5bWFudGVjLmNvbS9ub3J0b24vaW5 0ZXJuZXQtc2VjdXJpdHk8L3BwLXNtYi11bml4LTEwOmFwcy1hcHA+IA0KLSA8IS0tIEFQUyBBcH BsaWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItdW5peC0xMDphcHMtYXBwIGNvcmU6dHlwZT0ic 3RyaW5nIj5odHRwOi8vd3d3LmludGVyc3BpcmUuY29tL2VtYWlsbWFya2V0ZXIvPC9wcC1zbWIt dw5pec0xmdphchmtyxbwpianci0gpcetlsbbufmgqxbwbgljyxrpb24nciagls0+ia0kica8cha tc21ilxvuaxgtmta6yxbzlwfwccbjb3jlonr5cgu9inn0cmluzyi+ahr0cdovl3d3dy5pbnrlcn NwaXJlLmNvbS9rbm93bGVkZ2VtYW5hZ2VyLzwvcHAtc21iLXVuaXgtMTA6YXBzLWFwcD4gDQotI Dxkc2lnOlNpZ25hdHVyZSB4bWxuczpkc2lnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht bgrzawcjij4nci0gpgrzawc6u2lnbmvksw5mbz4nciagpgrzawc6q2fub25py2fsaxphdglvbk1 ldghvzcbbbgdvcml0ag09imh0dha6ly9wyxjhbgxlbhmuy29tl3njagvtyxmva2v5cy9jb3jllz MjY2Fub25pY2FsaXplIiAvPiANCiAgPGRzaWc6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0ia HR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiIgLz4gDQot IDxkc2lnOlJlZmVyZW5jZSBVUkk9IiI+DQotIDxkc2lnOlRyYW5zZm9ybXM+DQogIDxkc2lnOlR yyw5zzm9ybsbbbgdvcml0ag09imh0dha6ly93d3cudzmub3jnl1rslziwmdevukvdlxhtbc1jmt RuLTIwMDEwMzE1I1dpdGhDb21tZW50cyIgLz4gDQogIDxkc2lnOlRyYW5zZm9ybSBBbGdvcml0a G09Imh0dHA6Ly9wYXJhbGxlbHMuY29tL3NjaGVtYXMva2V5cy9jb3JlLzMjdHJhbnNmb3JtIiAv PiANCiAgPC9kc2lnOlRyYW5zZm9ybXM+DQogIDxkc2lnOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG0

97 Instellen via externe API 97 9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiIgLz4gDQogIDxkc2lnOk RpZ2VzdFZhbHVlPlRrUzk2YnlycEpVdTVpUTdIbkhZYUhhMTIra2lPYmZhRXBYMC9TWU5iV2M9P C9kc2lnOkRpZ2VzdFZhbHVlPiANCiAgPC9kc2lnOlJlZmVyZW5jZT4NCiAgPC9kc2lnOlNpZ25l ZEluZm8+DQogIDxkc2lnOlNpZ25hdHVyZVZhbHVlPmZvcUxYVFErTWhRUm44Y2NzSmdoU1ZhNUJ UVi9kaUtaVGJjdk9qUnBXcW5XaDlXei9NQmFKY0pDNnFnZUNkMHJ4OFZsWERxcm0yVUYgS1I1d0 dwefm1zst6nwnqrefecvuyrstgoxraundubxruamz4dhv0thzibjvys0fyc1vtwtq2ou1ecjnqe FRYbi9mYjZycmpvbGZOOCBOWVE1WUVtMDkyd3IrWTg2TGNIVkhKM2ZXK01sQWd3WXpua0lzdFVQ SE1JMVVkYlgwZWkvWTFmcStSc0dSSnNhZ2dRNW56MzgralV5IFRvUDBRK2VrUnAxcUFVa09OWUY ym21ft1fuq2v5efnqq3frejnyzehkavffqtbkcmhymgowywzywdjkl2jrunzveu93ufbsvwhznu 4gY3FjcndRRDdMQ0lsOE9Udk5FaFRrNFo0OGdaM1ZIRzJ2bitpVGc9PTwvZHNpZzpTaWduYXR1c mvwywx1zt4gdqotidxkc2lnoktleuluzm8+dqotidxkc2lnolg1mdleyxrhpg0kica8zhnpzzpy NTA5Q2VydGlmaWNhdGU+TUlJRW5EQ0NBb1FDQVJFd0RRWUpLb1pJaHZjTkFRRUZCUUF3Z2FZeEN 6QUpCZ05WQkFZVEFrSk5NUXN3Q1FZRFZRUUlFd0pJVFRFUiBNQThHQTFVRUJ4TUlTR0Z0YVd4MG IyNHhIREFhQmdOVkJBb1RFMU5YYzI5bWRDQkliMnhrYVc1bmN5Qk1kR1F4SFRBYkJnTlZCQXNUI EZFbHVkR1Z5Ym1Gc0lFUmxkbVZzYjNCdFpXNTBNUnd3R2dZRFZRUURFeE5MUVNCeWIyOTBJR05s Y25ScFptbGpZWFJsTVJ3d0dnWUogS29aSWh2Y05BUWtCRmcxcllVQnpkM052Wm5RdVkyOXRNQjR YRFRBNU1EWXdNakEyTURrek0xb1hEVE0yTVRBeE9EQTJNRGt6TTFvdyBnWUF4Q3pBSkJnTlZCQV luqwtktk1rc3dduvlevlfrsuv3skluvevstue4r0exvuvcee1ju0dgdgfxedbimjr4serbyujnt lzcqw9uieuxtlhjmjltzencswiyegthvzvuy3lctwrhuxhivefiqmdovkjbc1rgrwx1zedwewjt RnNJRVJsZG1Wc2IzQnRaVzUwTVJRd0VnWUQgVlFRREV3dHdjQzF6YldJdGRXNXBlRENDQVNJd0R RWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNYzR0RWVhRFMzciBDS0sxQ1RaUm 9aMTdGVzU5Z0tBbTlOQmt6V3ZwZW9VM0lnZU5SMTMrdWs0My9lYW1EQkNHZTBtQnNwb05vWjErW Dk3RXVGYzB4b2RvIGg0NVgrRUNIZk5kME1adzVrSFljWWF1M2kxSVBBakZMdm5DcE52ZXc1WHpX QzcwZ0xlenZNaWxRbWxTYWpLSEFEL0EvMGhzYkI0aDkgeVdxNTZPcDRiT1hUTDVKN0NZV1JHeVR SaFV1MnFPbjZ2Y2o3Q2Rkb05oeWhRdDJTYlArNDlVMXFJdjMvOFZ3YnZrMzZhTVlTVlBlMSBHRk 50MlE3RkhKUUxicW1pY1doL0JBWkpjU2FGMWlPSUhuZ2VIbG9uSGptbzdJWUEvSXcyTUZMT0dPa m82kzg2m0dubdjuoxa0dgxgihzhnwhomwfpnhkybddovzftczhvt1jsclvlmenbd0vbqvrbtkjn a3foa2lhoxcwqkfrvuzbqu9dqwdfqugrcnffdkhndefrastwohegsddfm3vsrk8xava1qzbvejl DQVdMZ0QyNWthWTlSaUV1K1ZNcGtyZ2RwMkRKZUxIaWd5Q3MyM3dUbkZ6SS9qMUJNRjJ1VGdKS1 B6MiBSOTA2YVcyR0tJWWpIencvd3BmUDUxck9CWTVQNlhpdXNtM2NGdk8zTnJ4Z0hJSy9WV3N5W W1EN25mMksyZUptQmsvZU85TklaalBoIGRkS2NrYmNZRVhRN3dzd2l0dDlYcTFuckg2eFNXT1lI VUUwcHI0QW1jVXc3TDdRQVUzdDBVM0lIQzNHYmVyVE1RNERSL2xDTFV5a24gUkl3aDNKQXZkYVF JZnA2TW9yNkY0VWtrMWh2bzkwVTR1VHFEbXc4RFJHcVRoOCtPUEY1V1dTL0MyK0o0bThOWTNDWj Zpa3FIc0FpcCB5Si9uR1pqU3cvdHc4N0xMWHBMMzJhRkFLcGpjOGc1MkZuc3YzVDlwdjRHd0Q2V 0hHYU1DNUVsL21XSWplSE5pLytPTk5hbkdHbHJxIHVLQ1p2UktHenJRNjV4bHIyeEovTXFTWDV3 cwdtk3r5se1xy3bwvfpzdmf6cxztzfrubllnwlhwd1m1ywxqqlawb3fwd09wvdfluksgy0o3bxv ayznuwlj1ohy0b2pwa1dwtlf2qvnuufnsdxfkcw42rfdwv2v3ueq0zxg3c2zjam52n1phwmtzv2 tpl3vdam9see4wbmftvsblvk5qemzsnxj5emvjalozb0g0l1nxtgfyehfiq2k0qzbjmflvetzbm kzkejvkk3rwwudfbkvfmenpcdfyrjvnmfjhmurbzxv4zffaiemwang3nlnsq1vjswhgq0p4rmrx Mk5JMHZJVnlVNTl6R2NrY3E3WVZZVlJ2czNVc2crb1pNRTBKbTFjPTwvZHNpZzpYNTA5Q2VydGl mawnhdgu+ia0kica8l2rzawc6wduwourhdge+dqogidwvzhnpzzplzxljbmzvpg0kica8l2rzaw c6u2lnbmf0dxjlpg0kica8l3bwlxntyi11bml4ltewomtlet4=</licentie> </lic_install> </server> Dit requestpakket installeert een extra licentiesleutel. Merk op dat de inhoud van de node licentie een geldige base64-code is, maar geen licentiesleutel. Het versturen van dit requestpakket zal dus leiden tot foutmelding <packet version= > <server> <lic_install> <license>tgv0ihvzigp1c3qgchjldgvuzcb0agf0ihroaxmgaxmgysbqyxjhbgxlbhmgugfuzw wgbgljzw5zzsbrzxkuck9mignvdxjzzswgd2ugy291bgqgbm90igluy2x1zgugysbyzwfsigxpy 2Vuc2Uga2V5IGluIHRoZSBkb2N1bWVudGF0aW9uLgpUaGFuayB5b3UgZm9yIHVuZGVyc3RhbmRp bmcu</licentie> <additional_key/>

98 98 Instellen via externe API </lic_install> </server> Structuur van responsepakketten De node lic_installvan het responsepakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string.toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: unsignedint. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string.

99 Instellen via externe API 99 Responsevoorbeelden Een positief antwoord dat van de server zal worden ontvangen ziet er als volgt uit: <packet version= > <server> <lic_install> <result> <status>ok</status> </result> </lic_install> </server> Deze foutmelding wordt ontvangen wanneer het requestpakket probeert een ongeldige licentiesleutel te installeren. <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>

100 100 Instellen via externe API Instellen van de DNS Om de DNS-dienst van Parallels Panel in te stellen via het API RPC-protocol, maakt u gebruik van de dns-operator zoals die hierna wordt omschreven. In deze sectie: Uitschakelen van de DNS-dienst Sjablonen voor SOA-records wijzigen Sjablonen voor DNS-records instellen Uitschakelen van de DNS-dienst Om de DNS-dienst van Parallels Panel uit te schakelen via API RPC, verstuurt u een XML-requestpakket dat de operation-node dns/disable bevat: <packet version= > <dns> <disable/> </dns> In deze sectie: Requestpakket Responsepakket Requestpakket Het volgende requestpakket schakelt de DNS-dienst uit: <packet version= > <dns> <disable/> </dns>

101 Instellen via externe API 101 Responsepakket De node disable van het uitvoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. Voorbeeld Een positief response ziet er als volgt uit: <packet version= > <dns> <disable> <result> <status>ok</status> </result> </disable> </dns>

102 102 Instellen via externe API Sjablonen voor SOA-records wijzigen Om een nieuw SOA-recordsjabloon in te stellen, verstuurt u een XML-requestpakket dat de operation-node dns/set bevat: <packet version= > <dns> <set>... </set> </dns> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden Pakketstructuur van aanvragen Om een nieuw SOA-recordsjabloon in te stellen, verstuurt u een XML-requestpakket dat de operation-node dns/set bevat en dat als volgt is gestructureerd:

103 Instellen via externe API 103 soa, vereist Geeft de SOA-parameters op. Gegevenstype: SOAType (plesk_dns.xsd). ttl, optioneel Geeft de waarde op van de parameter ttl. Parallels Small Business Panel stelt de standaardwaarde in op één dag. Gegevenstype: unsignedint. refresh, optioneel Geeft de waarde op van de parameter refresh. Parallels Small Business Panel stelt de standaardwaarde in op drie uur. Gegevenstype: unsignedint. retry, optioneel Geeft de waarde op van de parameter retry. Parallels Small Business Panel stelt de standaardwaarde in op één uur. Gegevenstype: unsignedint. expire, optioneel Geeft de waarde op van de parameter expire. (Ondertekende 32-bit-waarde in seconden.) Parallels Small Business Panel stelt de standaardwaarde in op één week. Gegevenstype: unsignedint. minimum, optioneel Voorbeeldrequests Geeft de waarde op van de parameter minimum. Parallels Small Business Panel stelt de standaardwaarde in op drie uur. Gegevenstype: unsignedint. Dit pakket is bedoeld om een bestaand SOA-recordsjabloon in te stellen met een TTL-interval van 32 uur, een Refresh-interval van 6 uur en een Retry-interval van 15 minuten. Het laat de waarden voor de intervallen Expire en Minimum ingesteld op de standaardwaarden van Parallels Panel. <packet version= > <dns> <set> </set> <soa> </dns> <ttl>115200</ttl> <refresh>21600</refresh> <retry>900</retry> </soa>

104 104 Instellen via externe API Structuur van responsepakketten De node set van het uitgevoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string.

105 Instellen via externe API 105 Responsevoorbeelden Een positief response van de server ziet er als volgt uit: <packet version= > <dns> <set> <result> <status>ok</status> </result> </set> </dns> Het volgende negatieve response wordt ontvangen wanneer een opgegeven te groot is: REQUESTPAKKET <packet version= > <dns> <set> </set> <soa> </dns> <refresh> </refresh> </soa> RESPONSE PACKET <packet version= > <system> <status>error</status> <errcode>1014</errcode> <errtext>parser error: Request is invalid</errtext> </system>

106 106 Instellen via externe API Sjablonen voor DNS-records instellen Via de API RPC kunt u op de volgende manier de DNS-records in het DNS-zone-sjabloon aanpassen: nieuwe DNS-records toevoegen verwijderen van bestaande DNS-records (het is mogelijk om een lijst te verkrijgen met DNS-records die al in het sjabloon aanwezig zijn) In deze sectie: Sjabloon voor DNS-records toevoegen Informatie over een DNS-zone-sjabloon ophalen Sjabloon voor DNS-records verwijderen Sjabloon voor DNS-records toevoegen Om een sjabloon voor een DNS-record toe te voegen, verstuurt u een XML-requestpakket met de operation-node dns/add-rec: <packet version= > <dns> <add_rec>... </add_rec> </dns> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden

107 Instellen via externe API 107 Pakketstructuur van aanvragen Een XML- requestpakket dat een nieuw DNS-record aan het DNS-zone-sjabloon toevoegt bevat de operation-node dns/add_rec, die wordt weergeven door het type dnsrecord (plesk_dns.xsd) en die als volgt is gestructureerd:

108 108 Instellen via externe API type, vereist Geeft het type van het DNS-record aan. Gegevenstype: string. Toegestane waarden: A NS CNAME MX PTR TXT SOA AXFR SRV. host, vereist Geeft de naam op van de host waarop de instelling van het record wordt toegepast. Gegevenstype: string. value, vereist Geeft de waarde aan die zal worden gekoppeld aan de waarde onder host. Gegevenstype: string. Bevat de tijdelijke waarden <domein> of <ip>, die zullen worden vervangen door het echte IP-adres of de echte hostnaam wanneer een DNS-zonebestand wordt gecreëerd tijdens het aanmaken van het domein. opt, optioneel Bevat optionele informatie over het DNS-record. Gegevenstype: string. Opmerking: in het geval van een SRV-record kan de node opt additionele XML-code bevatten in de volgende notatie:<srv Protocol= Port= Priority= Weight= />. U kunt met een enkel pakket meerdere DNS-records toevoegen. Voeg zoveel <add-rec>-handelingen toe als het aantal DNS-records dat u wilt toevoegen. <dns> <add_rec>... </add_rec>... <add_rec>... </add_rec> </dns>

109 Instellen via externe API 109 Voorbeeldrequests Sjaboon voor NS-record <packet version= > <dns> </dns> <add_rec> <type>ns</type> <host/> <value>ns.<domein></value> </add_rec> Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl zal het volgende DNS-record bevatten: voorbeeld.nl. NS ns.voorbeeld.nl. waarmee ns.voorbeeld.nl wordt ingesteld als naamserver voor de host voorbeeld.nl. Dit requestpakket voegt een record toe aan het DNS-zonesjabloon waarmee provider-dnsserver.voorbeeld.nl als de naamserver voor een domein wordt ingesteld. <packet version= > <dns> <add_rec> <type>ns</type> <host/> <value>provider-dnsserver.voorbeeld.nl</value> </add_rec> </dns> Sjabloon voor A-record <packet version= > <dns> <add_rec> <type>a</type>

110 110 Instellen via externe API </dns> <host>mail</host> <value><ip></value> </add_rec> Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl (gehost op IP-adres ) zal het volgende DNS-record bevatten: mail.voorbeeld.nl. A waarmee IP-adres wordt ingesteld voor de host mail.voorbeeld.nl. Sjabloon CNAME-record <packet version= > <dns> <add_rec> <type>cname</type> <host>www</host> <value>ns.<domein></value> </add_rec> </dns> Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl zal het volgende DNS-record bevatten: www NS ns waarmee ns.voorbeeld.nl wordt ingesteld als alias Sjabloon MX-record <packet version= > <dns> <add_rec> <type>mx</type> <host/> <value>exchange.<domein></value> <opt>0</opt> </add_rec> </dns>

111 Instellen via externe API 111 Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl zal het volgende DNS-record bevatten: voorbeeld.nl. MX 0 exchange.voorbeeld.nl. waarmee mail.voorbeeld.nl wordt ingesteld als de belangrijkste mailserver voor het domein voorbeeld.nl. Sjabloon PTR-record <packet version= > <dns> <add_rec> <type>ptr</type> <host><ip></host> <value>community</value> <opt>24</opt> </add_rec> </dns> Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl (gehost op IP-adres ) zal het volgende DNS-record bevatten: /24 PTR community.voorbeeld.nl waarmee het domein community.voorbeeld.nl wordt ingesteld als de domeinnaampointer voor het subnet /24. Sjabloon TXT-record <packet version= > <dns> <add_rec> <type>txt</type> <host>about</host> <value>verzorgd door de beste provider</value> </add_rec> </dns>

112 112 Instellen via externe API Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl zal het volgende DNS-record bevatten: about TXT Verzorgd door beste provider waarmee de tekstuele omschrijving Verzorgd door beste provider wordt toegevoegd aan het domein about.voorbeeld.nl. Sjabloon SRV-record <packet version= > <dns> <add_rec> <type>srv</type> <host>_ldap._tcp</host> <value> </value> <opt> </opt> </add_rec> </dns> Een DNS-zone die wordt gecreëerd bij het aanmaken van het domein voorbeeld.nl zal het volgende DNS-record bevatten: _LDAP._tcp SRV waarmee een client van de LDAP-dienst op het domein voorbeeld.nl een SRV-lookup uitvoert voor Meerdere records toevoegen He volgende requestpakket voegt alle records van bovenstaande voorbeelden toe in één keer: <packet version= > <dns> <add_rec> <type>ns</type> <host/> <value>ns.<domein></value> </add_rec> <add_rec> <type>ns</type>

113 Instellen via externe API 113 <host/> <value>provider-dns-server.voorbeeld.nl</value> </add_rec> <add_rec> <type>a</type> <host>mail</host> <value><ip></value> </add_rec> <add_rec> <type>cname</type> <host>www</host> <value>ns.<domein></value> </add_rec> <add_rec> <type>mx</type> <host/> <value>exchange.<domein></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>verzorgd door de beste provider</value> </add_rec> <add_rec> <type>srv</type> <host>_ldap._tcp</host> <value> </value> <opt> </opt> </add_rec>

114 114 Instellen via externe API </dns> Structuur van responsepakketten De node add_rec van het uitvoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. id, vereist als de handeling slaagt Geeft het unieke identificatiekenmerk terug van het DNS-record dat zojuist is toegevoegd. Gegevenstype: integer.

115 Instellen via externe API 115 Responsevoorbeelden Een positief response ziet er als volgt uit: <packet version= > <dns> <add_rec> <result> <status>ok</status> <id>17</id> </result></add_rec> </dns> Een dergelijk negatief response wordt ontvangen wanneer een requestpakket een onjuiste waarden opgeeft voor het DNS-record dat wordt toegevoegd (in ons voorbeeld komt de opgegeven host voor het SRV-record niet goed door): REQUESTPAKKET <packet version= > <dns> <add_rec> <type>srv</type> <host>_ldap._tcp.ldap.domein-test tst.</host> <value> </value> <opt> </opt> </add_rec> </dns> RESPONSEPAKKET <packet version= > <dns> <add_rec> <result> <status>error</status>

116 116 Instellen via externe API <errcode>1019</errcode> <errtext>incorrect DNS record values were specified.</errtext> </result> </add_rec> </dns> Informatie over een DNS-zone-sjabloon ophalen Om meer te weten te komen over de DNS-records in het DNS-zone-sjabloon, verstuurt u een XML-pakket met de operation-node dns/get_rec: <packet version= > <dns> <get_rec> <filter/> <template/> </get_rec> </dns> In deze sectie: Structuur van responsepakketten Responsevoorbeelden

117 Instellen via externe API 117 Structuur van responsepakketten De node get_rec van het uitvoerde XML-pakket is als volgt gestructureerd:

118 118 Instellen via externe API result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. id, vereist als de handeling slaagt Geeft het unieke identificatiekenmerk van het DNS-record terug. Gegevenstype: integer. data, vereist als de handeling slaagt Bevat een collectie van gegevens uit de DNS-records. type, vereist Geeft het type van het DNS-record aan. Gegevenstype: string. Toegestane waarden: A NS CNAME MX PTR TXT SOA AXFR SRV. host, vereist Geeft de naam op van de host die door de DNS wordt gebruikt. Gegevenstype: string. value, vereist Geeft de waarde die is gekoppeld aan de waarde onder host. Gegevenstype: string. Bevat de tijdelijke waarden <domein> of <ip>, die zullen worden vervangen door het echte IP-adres of de echte hostnaam wanneer een DNS-zonebestand wordt gecreëerd tijdens het aanmaken van het domein. opt, optioneel Bevat optionele informatie over het DNS-record. Gegevenstype: string.

119 Instellen via externe API 119 Responsevoorbeelden Het volgende response wordt ontvangen in het geval dat het DNS-zone-sjabloon geen enkel DNS-record bevat: REQUESTPAKKET <packet version= > <dns> <get_rec> <filter/> <template/> </get_rec> </dns> RESPONSE PACKET <packet version= > <dns> <get_rec/> </dns> Het volgende response bevat een omschrijving van het standaard DNS-zone-sjabloon van Parallels Panel: REQUESTPAKKET <packet version= > <dns> <get_rec> <filter/> <template/> </get_rec> </dns> RESPONSEPAKKET <packet version= >

120 120 Instellen via externe API <dns> <get_rec> <result> <status>ok</status> <id>1</id> <data> <type>ns</type> <host><domein>.</host> <value>ns.<domein>.</value> <opt/> </data> </result> <result> <status>ok</status> <id>2</id> <data> <type>a</type> <host>ns.<domein>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>3</id> <data> <type>a</type> <host><domein>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>4</id>

121 Instellen via externe API 121 <data> <type>a</type> <host>webmail.<domein>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>5</id> <data> <type>mx</type> <host><domein>.</host> <value>mail.<domein>.</value> <opt>10</opt> </data> </result> <result> <status>ok</status> <id>6</id> <data> <type>a</type> <host>mail.<domein>.</host> <value><ip></value> <opt/> </data> </result> <result> <status>ok</status> <id>7</id> <data> <type>cname</type> <host>ftp.<domein>.</host> <value><domein>.</value> <opt/> </data> </result>

122 122 Instellen via externe API <result> <status>ok</status> <id>8</id> <data> <type>ptr</type> <host><ip> / 24</host> <value><domein>.</value> <opt>24</opt> </data> </result> </get_rec> </dns> Sjabloon voor DNS-records verwijderen Om een DNS-record te verwijderen uit het DNS-zone-sjabloon, verstuurt u een XML-pakket dat de operation-node dns/del_rec bevat: <packet version= > <dns> <del_rec>... </del_rec> </dns> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden

123 Instellen via externe API 123 Pakketstructuur van aanvragen Een XML-requestpakket dat een DNS-record verwijdert bevat de operation-node del_rec en is als volgt gestructureerd: filter, vereist Geeft de filterregel aan. Gegevenstype: dnsselectionfiltertype (dns_input.xsd). Als deze leeg wordt gelaten (<filter/>), dan worden alle DNS-sjablonen verwijderd. id, optioneel Geeft de ID aan van het DNS-recordsjabloon dat moet worden verwijderd. Gegevenstype: id_type (common.xsd). sjabloon, vereist Geef aan dat recordsjablonen zijn verwijderd. Gegevenstype: geen.

124 124 Instellen via externe API Voorbeeldrequests Dit requestpakket verwijdert het record met ID 7 uit het DNS-zone-sjabloon. <packet version= > <dns> <del_rec> <filter> <id>7</id> </filter> <template/> </del_rec> </dns> Dit pakket verwijdert de records met ID 1 tot en met 5 uit het DNS-zone-sjabloon. <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> Dit pakket verwijdert alle records uit het DNS-zone-sjabloon: <packet version= > <dns> <del_rec> <filter/>

125 Instellen via externe API 125 <template/> </del_rec> </dns> Structuur van responsepakketten De node del_rec van het uitvoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. id, vereist als de handeling slaagt Geeft het unieke identificatiekenmerk van het verwijderde DNS-record terug. Gegevenstype: integer.

126 126 Instellen via externe API Responsevoorbeelden Een positief response dat van de server wordt ontvangen ziet er als volgt uit (het verwijderen van alle records uit het DNS-zone-sjabloon is geslaagd): REQUESTPAKKET <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>

127 Instellen via externe API 127 <result> <status>ok</status> <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>

128 128 Instellen via externe API Een negatief response wordt ontvangen als het opgegeven record dat voor verwijderding is opgegeven niet bestaat: REQUESTPAKKET <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>

129 Instellen via externe API 129 </result> <result> <status>error</status> <errcode>1013</errcode> <errtext>dns record does not exist.</errtext> <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> </del_rec> </dns>

130 130 Instellen via externe API SSL-certificaten installeren Om een SSL-certificaat te installeren, verstuurt u een XML-requestpakket dat de operation-node certificate/install bevat: <packet version= > <certificaat> <install> </install> </certificaat> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequest Structuur van responsepakketten Responsevoorbeelden Pakketstructuur van aanvragen De node install van het XML-requestpakket is als volgt gestructureerd:

131 Instellen via externe API 131 name, vereist Geeft de naam aan waaronder het certificaat in Parallels Panel zal worden weergegeven. Gegevenstype: string. admin, vereist Geeft aan dat het certificaat in de opslag van de server is geïmporteerd. Gegevenstype: geen. content, vereist Bevat alle gegevens die samen het certificaat vormen. Gegevenstype: geen. csr, vereist Geeft het CSR van het certificaat aan (certificate signing request). Gegevenstype: string. pvt, vereist Geeft de private sleutel van het certificaat aan. Gegevenstype: string. cert, optioneel Bevat de basistekst van het certificaat. Gegevenstype: string. ca, optioneel Bevat de authoriteitstekst van het certificaat. Gegevenstype: string. ip_address, vereist Geeft het IP-adres aan waaraan het certificaat zal worden toegewezen. Gegevenstype: ip_type (common.xsd).

132 132 Instellen via externe API Voorbeeldrequest Dit requestpakket installeert een CA-certificaat dat in Parallels Panel zal worden weergegeven onder de naam common en dat aan IP-adres zal worden toegewezen. <packet version= > <certificaat> <install> <name>algemeen</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

133 Instellen via externe API 133 <ca> XmVjokgCi2rGo5hszLIvi6mBFQwgvtjTsZJ/1Mg4z6i/g8sosONJA5OvHXXfWnIE 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> -----BEGIN CERTIFICATE----- MIIEjDCCA3SgAwIBAgIJAL4AGzKhkL5wMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYD VQQGEwJSVTELMAkGA1UECBMCTlYxFDASBgNVBAcTC05vdm9zaWJpcnNrMRIwEAYD VQQKEwlQYXJhbGxlbHMxDjAMBgNVBAsTBVBsZXNrMQ0wCwYDVQQDEwRhYmVsMSU w IwYJKoZIhvcNAQkBFhZhYmVseWFldkBwYXJhbGxlbHMuY29tMB4XDTA5MDQyODAz NDMxMloXDTEwMDQyODAzNDMxMlowgYoxCzAJBgNVBAYTAlJVMQswCQYDVQQIEwJO VjEUMBIGA1UEBxMLTm92b3NpYmlyc2sxEjAQBgNVBAoTCVBhcmFsbGVsczEOMAwG A1UECxMFUGxlc2sxDTALBgNVBAMTBGFiZWwxJTAjBgkqhkiG9w0BCQEWFmFiZWx5 YWV2QHBhcmFsbGVscy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQDlslx5nXTQTvoic3GgW4HH5n5PoCz95Z9XNtCykwv0M2HdhMeNvde1NYDvkipa FHzVPEH7eBgjAsHR4y1J4zVGAs2KiJF0W81vi5YAVMOJ7Ysyz8WLP0PQWTmUoMFM ae0p7m788tphl328chdpjtjlcf6w9fkzddzrvdek04ojp2cro6ffmh7wjpcajvh/

134 134 Instellen via externe API </ca> 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----- </content> <ip_address> </ip_address> </install> </certificaat>

135 Instellen via externe API 135 Structuur van responsepakketten De node install van het uitvoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: unsignedint. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string.

136 136 Instellen via externe API Responsevoorbeelden Een positief response van de server ziet er als volgt uit: <packet version= > <certificaat> <install> <result> <status>ok</status> </result> </install> </certificaat> Een negatief antwoord van de server kan er als volgt uitzien: <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>

137 Instellen via externe API 137 </certificate> Domeinen aanmaken Voor het aanmaken van een domeinaccount verstuurt u een XML-requestpakket met de operational-node domain/add: <packet version= > <domein> <add> </add> </domein> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden Pakketstructuur van aanvragen Een XML-requestpakket dat een domeinaccount aanmaakt bevat de operation-node domain/add en is als volgt gestructureerd:

138 138 Instellen via externe API gen_setup, vereist Bevat de belangrijkste informatie over het domeinaccount. Gegevenstype: geen. name, vereist Geeft de domeinnaam aan. Gegevenstype: domainname (plesk_domein.xsd). ip_address, vereist Geeft aan op welk IP-adres het domein wordt gehost. Gegevenstype: ip_address (common.xsd). hosting, vereist Geeft de hostinginstellingen voor het domein aan. Gegevenstype: domainhostingagentset (plesk_domein.xsd). vrt_hst, vereist Geeft de hostinginstellingen voor het domein aan. Gegevenstype: domainphhostingset (plesk_domein.xsd). Is als volgt gestructureerd: property, vereist Geeft een hostingparameter aan. Gegevenstype: PleskPhysHostingPropertyType (plesk_domein.xsd). name, vereist Geeft de naam van een hostingparameter aan. Gegevenstype: string. value, vereist Geeft de waarde van een hostingparameter aan. Gegevenstype: alle. ip_address, vereist Geeft het IP-adres van het domein aan. Gegevenstype: ip_address (common.xsd).

139 Instellen via externe API 139 Voorbeeldrequests Dit request maakt het domein voorbeeld.nl aan, dat wordt gehost op IP-adres <packet version= > <domain> <add> <gen_setup> <name>voorbeeld.nl</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_gebruikersnaam</name> <value>fp16se4fdf0</value> </property> <property> <name>ftp_wachtwoord</name> <value>qweqwe</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain>

140 140 Instellen via externe API Structuur van responsepakketten De node add van het XML-responsepakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. id, vereist als de handeling slaagt Geeft het unieke identificatiekenmerk terug van het domeinaccount dat zojuist is aangemaakt. Gegevenstype: integer. guid, vereist als de handeling slaagt Geeft het algemene unieke identificatiekenmerk terug van het domeinaccount dat zojuist is aangemaakt. Gegevenstype: string.

141 Instellen via externe API 141 Responsevoorbeelden Een positief response dat van de server wordt ontvangen na het toevoegen van een nieuwe domeinaccount ziet er als volgt uit: <packet version= > <add> <domain> <result> <status>ok</status> <id>6</id> <guid>5c0e a bcc0-881d691bfdef</guid> </result> </add> </domain> Een negatief response kan er als volgt uitzien (u kunt een andere foutmeldingscode ontvangen, afhankelijk van datgene waardoor de fout is veroorzaakt): <packet version= > <domain> <add> <result> <status>error</status> <errcode>1023</errcode> <errtext>operation failed.</errtext> </result> </add> </domain> Een negatief response wordt ontvangen wanneer het requestpakket niet alle vereiste hostinginstellingen bevat: REQUESTPAKKET <packet version= >

142 142 Instellen via externe API <domain> <add> <gen_setup> <name>voorbeeld.nl</name> <ip_address> </ip_address> </gen_setup> <hosting> <vrt_hst> <property> <name>ftp_wachtwoord</name> <value>fp16sdfdfrttg0</value> </property> <ip_address> </ip_address> </vrt_hst> </hosting> </add> </domain> RESPONSEPAKKET <packet version= > <add> <domain> <result> <status>error</status> <errcode>2204</errcode> <errtext>kan de hostingvoorkeuren niet bijwerken. Bijwerken van systeemgebruiker is mislukt: Kan niet controleren of de systeemgebruiker bestaat omdat er geen gebruikersnaam is opgegeven. Incorrect fields: login.</errtext> </result> </add> </domain>

143 Instellen via externe API 143 Subdomeinen aanmaken Voor het aanmaken van een subdomeinaccount verstuurt u een XML-requestpakket met de operational-node subdomain/add: <packet version= > <subdomain> <add> </add> </subdomain> In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden Pakketstructuur van aanvragen Een XML-requestpakket dat een nieuw subdomeinaccount toevoegt bevat de operation-node subdomain/add en is als volgt gestructureerd:

144 144 Instellen via externe API parent, vereist Geeft de naam aan van een domein/subdomain waarbinnen het subdomein wordt aangemaakt. (Het gebruik van een subdomein als moederdomein wordt alleen in Windows ondersteund.) Gegevenstype: string. name, vereist Geef de naam van het subdomein aan. Gegevenstype: string. home, vereist wanneer een subdomein op submap wordt aangemaakt (alleen onder Windows) Geeft het zoekpad aan naar de hoofdmap van het subdomein. Gegevenstype: string. Als dit leeg wordt gelaten (<home/>) dan zal de hoofdmap (root) van het moederdomein worden gebruikt. property, optioneel Geeft de hostinginstellingen aan het aangemaakte subdomein. Gegevenstype: SubdomainPropertyType (subdomain.xsd). name, vereist Geeft de naam van een hostingparameter aan. Gegevenstype: string. value, vereist Geeft de waarde van een hostingparameter aan. Gegevenstype: alle.

145 Instellen via externe API 145 Voorbeeldrequests Dit requestpakket maakt het subdomein forum.voorbeeld.nl aan: <packet version= > <subdomain> <add> <parent>voorbeeld.nl</parent> <name>forum</name> <property> <name>ftp_gebruikersnaam</name> <value>jan</value> </property> <property> <name>ftp_wachtwoord</name> <value>voorbeeld</value> </property> </add> </subdomain> Aanmaken van een subdomein op submap Dit requestpakket maakt een subdomein blog.voorbeeld.nl aan op de submap /httpdocs/blogengine: <packet version= > <subdomain> <add> <parent>voorbeeld.nl</parent> <name>blog</name> <home>/httpdocs/blogengine</home> </add> </subdomain>

146 146 Instellen via externe API Structuur van responsepakketten De node add van het uitgevoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. id, vereist als de handeling slaagt Geeft het unieke identificatiekenmerk van het aangemaakte subdomein terug. Gegevenstype: id_type (common.xsd). Foutmelding van specifieke handelingen Er bestaat al een subdomein met deze naam Moederdomein/subdomein is niet gevonden Ongeldige eigenschap opgegeven Handeling is mislukt.

147 Instellen via externe API 147 Responsevoorbeelden Een positief antwoord dat na het aanmaken van het subdomein van de server zal worden ontvangen ziet er als volgt uit: <packet version= > <subdomain> <add> <result> <status>ok</status> <id>1</id> </result> </add> </subdomain> In gevallen waarbij een opgegeven subdomein al bestaat wordt een negatief response ontvangen: REQUESTPAKKET <packet version= > <subdomain> <add> <parent>voorbeeld.nl</parent> <name>blog</name> </add> </subdomain> RESPONSE PACKET <packet version= > <add> <subdomain> <result> <status>foutmelding</status> <errcode>1007</errcode>

148 148 Instellen via externe API <errtext>the subdomain with such name already exists.</errtext> </result> </add> </subdomain> Instellen van de beschikbare APS-catalogussen Op een aangepaste lijst (configuratiebestand) van APS-catalogussen in Parallels Panel te importeren, verstuurt u een XML-requestpakket met de operation-node aps/import-config: <packet version= > <aps> <import-config>... </import-config> </aps> Het configuratiebestand (op pagina 46) moet eerder al naar de server zijn geüpload via de operator upload (op pagina 153). In deze sectie: Pakketstructuur van aanvragen Voorbeeldrequests Structuur van responsepakketten Responsevoorbeelden Pakketstructuur van aanvragen De node import-config van het requestpakket is als volgt gestructureerd: filename, vereist Geeft de naam aan van het configuratiebestand dat naar de server is geüpload. Gegevenstype: string. De waarde moet de tijdelijke bestandsnaam zijn die is teruggegeven via het response upload (zie pagina 162) (in het element upload/result/bestand ).

149 Instellen via externe API 149 Voorbeeldrequests Requestpakketten die de configuratie van APS-catalogussen die eerder naar de server zijn geüpload importeren zien er als volgt uit. Voor Linux/Unix: <packet version= > <aps> <import-config> <filename>/usr/local/psa/tmp/li_8fzruf</filename> </import-config> </aps> Voor Windows: <packet version= > <aps> <import-config> <filename> C:/Program Files/Parallels/Plesk/tmp/li_9D.tmp </filename> </import-config> </aps>

150 150 Instellen via externe API Structuur van responsepakketten De node import-config van het uitgevoerde XML-pakket is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string.

151 Instellen via externe API 151 Responsevoorbeelden Een positief antwoord dat van de server zal worden ontvangen ziet er als volgt uit: <packet version= > <install> <aps> <result> <status>ok</status> </result> </install> </aps> Als een opgevraagd bestand niet is gevonden wordt een negatief response ontvangen: <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> Als een opgevraagd bestand onjuiste toegangsrechten heeft (waarschijnlijk als resultaat van het uploaden op een andere manier dan via de uploadagent), dan wordt een negatief response ontvangen: <packet version= > <aps>

152 152 Instellen via externe API <import-config> <result> <status>error</status> <errcode>1023</errcode> <errtext>unable to use specified file as config file</errtext> </result> </import-config> </aps> Toepassingen installeren Om toepassingen te installeren op domeinen en subdomeinen maakt u gebruik van de operator aps, zoals later wordt omschreven. In deze sectie: Toepassingspakketten importeren Toepassingen installeren Toepassingspakketten importeren In deze sectie: Bestanden naar de server uploaden Geüploade toepassingspakketten importeren Toepassingspakket downloaden vanuit de APS-catalogus Status van downloadtaak ophalen

153 Instellen via externe API 153 Bestanden naar de server uploaden Voor het uploaden van bestanden naar een door Parallels Panel beheerde server wordt de operator upload gebruikt. Anders dan andere operators, maakt de operator upload geen gebruik van een standaardstructuur voor de requestpakketten. In plaats daarvan gebruikt het de POST-methode om bestanden te uploaden. Als een request door Parallels Panel wordt verwerkt, dan wordt de response gegeven in het gebruikelijk XML-responsepakket. Als een bestand naar Parallels Panel is geüpload, dan kan het worden gebruikt voor andere handelingen. Opmerking: u kunt ook bestanden uploaden via FTP, maar let er in dat geval op dat de rechten van de geüploade bestanden wellicht niet geschikt zijn voor latere API RPC-handelingen die met de bestanden moeten worden uitgevoerd. Daarom is het aan te raden altijd de upload-operator te gebruiken. In deze sectie: Bestanden uploaden met curl Bestanden uploaden met PHP Bestanden uploaden met.net Structuur van responsepakketten Responsevoorbeelden Bestanden uploaden met curl Voor het uploaden van een bestand voert u de volgende stappen uit: 1. Maak een SSH-verbinding aan naar de Unix-server waar het bestand zich bevindt. 2. Geef de volgende tekenreeks op in de Unix-shell: curl -k -F -H HTTP_AUTH_LOGIN:admin -H HTTP_AUTH_PASSWD:wachtwoord https://panel-ip:8443/enterprise/control/agen t.php Argumenten curl -k Geeft aan dat curl wordt gebruikt. U moet curl op de Unix-machine installeren. De SSL-verbinding wordt gebruikt. -F Het bestand install.log zal worden geüpload. U kunt in één pakket meerdere bestanden uploaden. -H HTTP_AUTH_LOGIN:admin Stelt de nieuwe gebruikersnaam in voor de beheerder van Parallels Panel. Vervang de waarde admin door uw eigen gebruikersnaam voor Parallels Panel.

154 154 Instellen via externe API -H HTTP_AUTH_PASSWD:wachtwoord Geeft het beheerderwachtwoord aan voor Parallels Panel. Vervang de waarde wachtwoord door uw eigen wachtwoord voor toegang tot Parallels Panel. https://panel-ip:8443/enterprise/control/agent.php Geeft het serveradres van Parallels Panel aan. Vervang de waarde <panel-ip> door het IP-adres van de server. 3. Druk op ENTER.

155 Instellen via externe API 155 Bestanden uploaden met PHP Dit is een voorbeeld van een PHP-script dat bestanden naar Parallels Panel uploadt. Wijzig HOST, LOGIN, PASSWD en FILENAME met de gebruikersnaam en het wachtwoord voor toegang tot Parallels Panel. HOST LOGIN PASSWD FILENAME Het IP-adres of de naam van de door Parallels Panel beheerde server. De gebruikersnaam van de beheerder van Parallels Panel. Het wachtwoord van de beheerder van Parallels Panel. De volledige naam van het bestand dat moet worden geüpload. <?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;, ); // Initialiseer de curl-engine $ch = curl_init(); // stel de curl-opties in:

156 156 Instellen via externe API curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // deze regel zorgt dat het script werkt onder https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // Stel de URL in die moet worden verwerkt 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));?>

157 Instellen via externe API 157 Bestanden uploaden met.net Deze broncode voor.net uploadt bestanden naar Parallels Panel. Wijzig de waarden van de variabelen Hostname, Login, Password en Protocol door de parameters van de instantie van Parallels Panel. Wijzig de waarde van de variabele Filename door de volledige naam van het bestand dat u wilt uploaden. Filename Hostname Login De volledige naam van het bestand dat moet worden geüpload. Het IP-adres of de naam van de door Parallels Panel beheerde server. De gebruikersnaam van de beheerder van Parallels Panel. Wachtwoord Het wachtwoord van de beheerder van Parallels Panel. Protocol Versie van het API RPC-protocol. 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 { // Public interface // public string Filename =./tmp/myfile.sh ; // Naam van te uploaden bestand; public string Hostname = localhost ; // De hostnaam van Parallels Panel public string Login = admin ; // Gebruikersnaam van beheerder public string Password = setup ; // Wachtwoord van beheerder public string Protocol = ; // API RPC-versieprotocol. // Handler voor het ontvangen van informatie over de document type definition (DTD), // XML-Data Reduced (XDR) schema en fouten in de schemavalidatie van de XML Schema definition language (XSD). public ValidationEventHandler XmlSchemaValidation = null; public Request()

158 158 Instellen via externe API { } 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 ; // Maak de header voor het post-bericht aan 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 ); string postheader = sb.tostring(); byte[] postheaderbytes = Encoding.UTF8.GetBytes(postHeader); // Maak de trailing boundary string aan als een byte array // zorg dat de boundary op een zelfstandige regel verschijnt byte[] boundarybytes = Encoding.ASCII.GetBytes( \r\n + boundary + \r\n ); FileStream filestream = new FileStream(uploadfile, FileMode.Open, FileAccess.Read);

159 Instellen via externe API 159 long length = postheaderbytes.length + filestream.length + boundarybytes.length; request.contentlength = length; Stream stream = request.getrequeststream(); stream.write(postheaderbytes, 0, postheaderbytes.length); // Schrijf de inhoud van het bestand uit 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); // Schrijf de trailing boundary uit stream.write(boundarybytes, 0, boundarybytes.length); XmlDocument result = GetResponse(request); return result; } // Private interface // // Parsen en valideren van pakket // 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)) {

160 160 Instellen via externe API } document.load(reader); return document; } private XmlDocument GetResponse(HttpWebRequest request) { using (HttpWebResponse response = (HttpWebResponse)request.GetResponƒ se()) } } } 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 - De hostnaam van Parallels Panel ); Console.WriteLine( Login - Gebruikersnaam van beheerder ); Console.WriteLine( Password - Wachtwoord van beheerder ); Console.WriteLine( FileName - Naam van te uploaden bestand ); return; } // Controleert het externe Secure Sockets Layer-certificaat (SSL) dat wordt gebruikt voor de verificatie. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(RemoteCertificateValidation); Request request = new Request(); request.xmlschemavalidation = XmlSchemaValidation; try { XmlDocument result = request.uploadfile(filename);

161 Instellen via externe API 161 PrintResult(result); } catch (Exception e) } } { Console.WriteLine( Request error: {0}, e.message); // De volgende methode wordt aangeroepen door het RemoteCertificateValidationDelegate. private static bool RemoteCertificateValidation(object sender, X509Certificate certificaat, X509Chain chain, SslPolicyErrors sslpolicyerrors) { if (sslpolicyerrors!= SslPolicyErrors.RemoteCertificateNotAvailable) return true; Console.WriteLine( Certificate error: {0}, sslpolicyerrors); // Sta deze cliënt niet toe om te communiceren met niet-geverifieerde servers. 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(); } } }

162 162 Instellen via externe API Structuur van responsepakketten Het uitgevoerde XML-pakket upload is als volgt gestructureerd: result, vereist Omsluit het antwoord dat van de server wordt ontvangen. Gegevenstype: resulttype (common.xsd). status, vereist Geeft de status van de uitvoering van de handeling weer. Gegevenstype: string. Toegestane waarden: ok error. errcode, vereist als de handeling mislukt Geeft de code van de fout terug. Gegevenstype: integer. errtext, vereist als de handeling mislukt Geeft de foutmelding terug. Gegevenstype: string. name, vereist Geeft de naam van het geüploade bestand. Gegevenstype: string. file, vereist Geeft de volledige naam aan van het aangemaakte tijdelijke bestand. Gegevenstype: string.

Parallels Plesk Panel

Parallels Plesk Panel Parallels Plesk Panel Mededeling met betrekking tot het auteursrecht Parallels Holdings, Ltd. per adres Parallels International GMbH Vordergasse 49 CH8200 Schaffhausen Switzerland Telefoon: +41-526-722-030

Nadere informatie

Mededeling met betrekking tot het auteursrecht

Mededeling met betrekking tot het auteursrecht Parallels Panel Mededeling met betrekking tot het auteursrecht ISBN: Niet beschikbaar Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 USA Telefoon: +1 (425) 282 6400 Fax: +1 (425) 282 6444

Nadere informatie

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe.

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe. m:\helpdesk\vgmbox\documenten\handleiding - inzet binnen beveiligd netwerk (dmv proxyserver) - 20110112 - tbv pdf.doc Inzet van De VGM Box binnen een beveiligd netwerk Dit document beschrijft het functioneren

Nadere informatie

Mededeling met betrekking tot het auteursrecht

Mededeling met betrekking tot het auteursrecht Parallels Panel Mededeling met betrekking tot het auteursrecht ISBN: Niet beschikbaar Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 USA Telefoon: +1 (425) 282 6400 Fax: +1 (425) 282

Nadere informatie

WebHare Professional en Enterprise

WebHare Professional en Enterprise WebHare Professional en Enterprise Publicatie module Site inrichting handleiding Datum 19 november 2002 Aantal pagina s: 31 Versie: 2.01 Doelgroep Sysops Gebruikers met site aanmaak rechten Gebruikers

Nadere informatie

Installatiegids Command WorkStation 5.6 met Fiery Extended Applications 4.2

Installatiegids Command WorkStation 5.6 met Fiery Extended Applications 4.2 Installatiegids Command WorkStation 5.6 met Fiery Extended Applications 4.2 Fiery Extended Applications Package (FEA) v4.2 bevat Fiery-toepassingen voor het uitvoeren van taken die zijn toegewezen aan

Nadere informatie

Module handleiding VivianCMS. Fotoalbum

Module handleiding VivianCMS. Fotoalbum Module handleiding VivianCMS Fotoalbum Versie: 1.0 Startdatum: 06-05-2006 Datum laatste wijziging: 26-05-2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoudsopgave 1. Inleiding...3 1.1 Algemene

Nadere informatie

KPN Server Back-up Online

KPN Server Back-up Online KPN Server Back-up Online Snel aan de slag met Server Back-up Online Server Versie 6.1, built 2011 d.d. 20-08-2012 Inhoudsopgave 1 Inleiding... 3 1.1 Ondersteunde besturingssystemen... 3 2 Installatie...

Nadere informatie

Handleiding Plesk. Eddy De Bock

Handleiding Plesk. Eddy De Bock Handleiding Plesk Eddy De Bock 1 1 STARTPAGINA Hier krijgt u een samenvattend overzicht van de functies die Plesk u biedt. 2 GEBRUIKERS Hier kan u gebruikers aanmaken, verwijderen en beheren. Onder Gebruikersrollen

Nadere informatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen Installeer Apache2: Deze howto gaat over name based virtual hosting onder Apache 2.x., en is getest onder OpenSUSE 11 maar is in feite ook van toepassing op de andere distributies. Alleen Debian en afgeleide

Nadere informatie

Installatiehandleiding TiC Narrow Casting Manager

Installatiehandleiding TiC Narrow Casting Manager Installatiehandleiding TiC Narrow Casting Manager Inhoudsopgave 1. Algemeen - 3-2. Installatie PostgreSQL database server - 4-3. Installatie FTP server - 9-4. Aanmaken account in FileZilla server - 13

Nadere informatie

Introductie Werken met Office 365

Introductie Werken met Office 365 Introductie Werken met Office 365 Een introductie voor gebruikers Inhoud Inleiding... 4 Aanmelden bij Office 365... 4 Werken met Office 365 Outlook... 5 Werken met Outlook 2007/2010... 5 Werken met de

Nadere informatie

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...5 1.1 Ingelogd blijven...6 1.2 Wachtwoord vergeten...7 2 Applicatie keuzescherm...8 2.1 De beheeromgeving openen...9 3

Nadere informatie

Handleiding: Whitelabel Customersite

Handleiding: Whitelabel Customersite ARGEWEB B.V. Handleiding: Whitelabel Customersite Controlportal.nl Argeweb Support 8-1-2009 Handleiding voor het gebruik maken van de Whitelabel Customersite op controlportal.nl, door Resellers van Argeweb.

Nadere informatie

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators Installatie Handleiding voor: TiC Narrow Casting Certified System Integrators Installatiehandleiding TiC Narrow Casting Manager Inhoudsopgave 1. Algemeen - 3-2. Installatie PostgreSQL database server -

Nadere informatie

Handleiding. Opslag Online. voor Windows. Versie februari 2014

Handleiding. Opslag Online. voor Windows. Versie februari 2014 Handleiding Opslag Online voor Windows Versie februari 2014 Inhoudsopgave Hoofdstuk 1. Inleiding 3 Hoofdstuk 2. Installatie 4 2.1 Systeemeisen 4 2.2 Downloaden van software 4 2.3 Installeren van de software

Nadere informatie

System Updates Gebruikersbijlage

System Updates Gebruikersbijlage System Updates Gebruikersbijlage System Updates is een hulpprogramma van de afdrukserver dat de systeemsoftware van uw afdrukserver met de recentste beveiligingsupdates van Microsoft bijwerkt. Het is op

Nadere informatie

Inhoudsopgave. CDDB-informatie

Inhoudsopgave. CDDB-informatie Mike McBride Jonathan Singer David White Ontwikkelaar: Bernd Johannes Wuebben Ontwikkelaar: Dirk Forsterling Ontwikkelaar: Dirk Foersterling Nalezer: Lauri Watts Vertaling van het handboek: Niels Reedijk

Nadere informatie

Fiery Command WorkStation 5.8 met Fiery Extended Applications 4.4

Fiery Command WorkStation 5.8 met Fiery Extended Applications 4.4 Fiery Command WorkStation 5.8 met Fiery Extended Applications 4.4 Fiery Extended Applications (FEA) v4.4 bevat Fiery software voor het uitvoeren van taken met een Fiery Server. In dit document wordt beschreven

Nadere informatie

Novell Vibe-invoegtoepassing

Novell Vibe-invoegtoepassing Novell Vibe-invoegtoepassing 5 juni 2012 Novell Snel aan de slag Met behulp van de Novell Vibe-invoegtoepassing voor Microsoft Office kunt u werken met documenten op de Vibe-site zonder dat u Microsoft

Nadere informatie

Installatie en configuratie documentatie

Installatie en configuratie documentatie Installatie en configuratie documentatie Assistance Web Portal v. 2.x Voor Windows 2003 / XP / Vista Assistance PSO handleiding, uitgegeven door Assistance Software. Alle rechten voorbehouden. Niets uit

Nadere informatie

Crystal Reports Gebruikershandleiding. Crystal Reports XI R2 installeren

Crystal Reports Gebruikershandleiding. Crystal Reports XI R2 installeren Crystal Reports Gebruikershandleiding Crystal Reports XI R2 installeren Crystal Reports XI R2 installeren Crystal Reports XI R2 installeren U wordt bij het installatieproces begeleid door de Crystal Reports-wizard

Nadere informatie

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP Installatie- en gebruikshandleiding Risicoverevening 11 april 2007 ZorgTTP Inleiding In het kader van Risicoverevening wordt gepseudonimiseerd informatie aangeleverd aan het College voor Zorgverzekeringen

Nadere informatie

SnelStart handleiding ARGO zelfbouwmodule

SnelStart handleiding ARGO zelfbouwmodule Inhoudsopgave Voorwoord Stap 1 Onderwerpkeuze Stap 2 Aanmaken module Stap 3 Keuze soort module: les of toets Stap 4 Module bewerken 3 4 5 6 7 Stap 5 Gebruik module editor Toelichting editor toolbar functionaliteit

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

Handleiding. Opslag Online. voor Android. Versie februari 2014

Handleiding. Opslag Online. voor Android. Versie februari 2014 Handleiding Opslag Online voor Android Versie februari 2014 Inhoudsopgave Hoofdstuk 1. Inleiding 3 Hoofdstuk 2. Installatie 4 2.1 Opslag Online downloaden via QR-code 4 2.2 Opslag Online downloaden via

Nadere informatie

cbox UW BESTANDEN GAAN MOBIEL! VOOR LAPTOPS EN DESKTOPS MET WINDOWS PRO GEBRUIKERSHANDLEIDING

cbox UW BESTANDEN GAAN MOBIEL! VOOR LAPTOPS EN DESKTOPS MET WINDOWS PRO GEBRUIKERSHANDLEIDING cbox UW BESTANDEN GAAN MOBIEL! VOOR LAPTOPS EN DESKTOPS MET WINDOWS PRO GEBRUIKERSHANDLEIDING Inleiding cbox is een applicatie die u eenvoudig op uw computer kunt installeren. Na installatie wordt in de

Nadere informatie

Handleiding Opslag Online Client voor Windows. Versie maart 2015

Handleiding Opslag Online Client voor Windows. Versie maart 2015 Handleiding Opslag Online Client voor Windows Versie maart 2015 Inhoudsopgave Hoofdstuk 1. Inleiding 3 Hoofdstuk 2. Installatie 4 2.1 Systeemeisen 4 2.2 Downloaden van de software 4 2.3 Installeren van

Nadere informatie

WebHare Professional en Enterprise

WebHare Professional en Enterprise WebHare Professional en Enterprise Systeem module Systeem configuratie handleiding Datum: 19 november 2002 Aantal pagina s: 20 Versie: 2.01 Doelgroep: Sysops Inhoudsopgave Inleiding... 1 1 Vooraf... 2

Nadere informatie

Handleiding Magento - Asperion

Handleiding Magento - Asperion Handleiding Magento - Asperion www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Asperion. De koppeling zorgt dat voor facturen in Magento automatisch een factuur

Nadere informatie

Back-up Online van KPN Handleiding Mac OS X 10.6 en hoger. Mac OS X Client built 2013 13.0.0.13196

Back-up Online van KPN Handleiding Mac OS X 10.6 en hoger. Mac OS X Client built 2013 13.0.0.13196 Back-up Online van KPN Handleiding Mac OS X 10.6 en hoger Mac OS X Client built 2013 13.0.0.13196 Inhoudsopgave 1 Inleiding... 3 1.1 Systeemeisen... 3 2 Installatie... 4 3 Back-up Online configureren...

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

Customer Interface Technology. ExpressShipper Installatiehandleiding

Customer Interface Technology. ExpressShipper Installatiehandleiding Customer Interface Technology ExpressShipper Installatiehandleiding Revisie Historie Datum Versie Beschrijving Auteur 15 juli 2011 1.2 Def. versie FW Extern 1 Inhoudsopgave 1. Inleiding 3 1.1 Technische

Nadere informatie

Resusci Anne Skills Station

Resusci Anne Skills Station MicroSim Frequently Asked Questions 1 Resusci Anne Skills Station Resusci_anne_skills-station_installation-guide_sp7012_NL.indd 1 24/01/08 13:06:06 2 Resusci_anne_skills-station_installation-guide_sp7012_NL.indd

Nadere informatie

Ga naar http://www.domeinnaam.nl/wp-admin en log in met de gebruikersnaam en wachtwoord verkregen via mail.

Ga naar http://www.domeinnaam.nl/wp-admin en log in met de gebruikersnaam en wachtwoord verkregen via mail. INLOGGEN Ga naar http://www.domeinnaam.nl/wp-admin en log in met de gebruikersnaam en wachtwoord verkregen via mail. Vul hier je gebruikersnaam en wachtwoord in en klik op Inloggen. Bij succesvolle login

Nadere informatie

Mededeling met betrekking tot het auteursrecht

Mededeling met betrekking tot het auteursrecht Parallels Panel Mededeling met betrekking tot het auteursrecht ISBN: Niet beschikbaar Parallels 660 SW 39th Street Suite 205 Renton, Washington 98057 USA Telefoon: +1 (425) 282 6400 Fax: +1 (425) 282 6444

Nadere informatie

Nieuw in Mamut Business Software en Mamut Online

Nieuw in Mamut Business Software en Mamut Online // Mamut Business Software Nieuw in Mamut Business Software en Mamut Online Inhoud Voorwoord 3 Nieuwe versie 3 Over updates naar een nieuwe versie 4 Nieuw in Mamut Business Software versie 18 6 Administratie

Nadere informatie

INSTALLATIE VAN KING 5.50 STAND ALONE

INSTALLATIE VAN KING 5.50 STAND ALONE INSTALLATIE VAN KING 5.50 STAND ALONE Dit document beschrijft de installatie van King stand alone. Dat wil zeggen: u werkt single user en zowel programmatuur als administraties staan op dezelfde computer.

Nadere informatie

Inhoudsopgave. versie 0.8

Inhoudsopgave. versie 0.8 JOOMLA! INSTALLATIE HANDLEIDING versie 0.8 Inhoudsopgave Stappenplan...3 Inrichten database...4 Configuratiecentrum cpanel...4 Aanmaken van een database gebruiker...5 Aanmaken van een database...6 Gebruiker

Nadere informatie

Beschrijving webmail Enterprise Hosting

Beschrijving webmail Enterprise Hosting Beschrijving webmail Enterprise Hosting In dit document is beschreven hoe e-mail accounts te beheren zijn via Enterprise Hosting webmail. Webmail is een manier om gebruik te maken van e-mail functionaliteit

Nadere informatie

Installatiegids Command WorkStation 5.5 met Fiery Extended Applications 4.1

Installatiegids Command WorkStation 5.5 met Fiery Extended Applications 4.1 Installatiegids Command WorkStation 5.5 met Fiery Extended Applications 4.1 Fiery Extended Applications Fiery Extended Applications (FEA) 4.1 is een pakket met de volgende toepassingen voor gebruik met

Nadere informatie

Elektronisch Bestellen in ENK Software

Elektronisch Bestellen in ENK Software Elektronisch Bestellen in ENK Software Auteurs: RK/MRz Versie: 1.2 Datum: 22-07-2010 Voorwoord Deze handleiding zet voor u uiteen op welke manier u elektronisch bij Galvano kunt bestellen vanuit ENK Software,

Nadere informatie

Factuur2King 2.1 installeren (ook bij upgrades)

Factuur2King 2.1 installeren (ook bij upgrades) Factuur2King 2.1 installeren (ook bij upgrades) Pak het Factuur2King.zip bestand uit en plaats de bestanden op de gewenste locatie op de PC (de locatie maakt niet uit). Controleer dat de volgende twee

Nadere informatie

Publiceren met WordPress

Publiceren met WordPress Publiceren met WordPress Peter Osterop Tweede herziene editie 1. Installatie van WordPress 2. Configuratie van WordPress 3. Het uiterlijk van WordPress 4. Pagina s en berichten maken in WordPress 1 Installatie

Nadere informatie

Handleiding Magento - Yuki

Handleiding Magento - Yuki Handleiding Magento - Yuki www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Yuki. De koppeling zorgt dat voor facturen in Magento automatisch een factuur of

Nadere informatie

Mededeling met betrekking tot het auteursrecht

Mededeling met betrekking tot het auteursrecht Parallels Panel Mededeling met betrekking tot het auteursrecht ISBN: Niet beschikbaar Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 USA Telefoon: +1 (425) 282 6400 Fax: +1 (425) 282

Nadere informatie

Installatiehandleiding Windows XP / Vista / Windows 7

Installatiehandleiding Windows XP / Vista / Windows 7 Installatiehandleiding Windows XP / Vista / Windows 7 Versie 1.4 Datum 11 januari 2011 Status definitief Inhoud 1 Downloaden installatiebestand 3 2 SafeSign installeren 4 3 Certificaten toevoegen aan de

Nadere informatie

NIS Notarieel Informatie Systeem

NIS Notarieel Informatie Systeem INSTALLATIEHANDLEIDING CONVISO ID-SCAN NIS Notarieel Informatie Systeem Sportlaan 2h, 818 BE Heerde T (0578) 693646, F (0578) 693376 www.vanbrug.nl, info@vanbrug.nl 2014 Van Brug Software B.V. Hoewel deze

Nadere informatie

Handleiding Sportlink Club

Handleiding Sportlink Club Handleiding Sportlink Club Dit document is automatisch gegenereerd. We raden u aan de handleiding online te raadplegen via www.sportlinkclub.nl/support. 1. Installatiehandleiding.........................................................................................

Nadere informatie

1. Installeren Update 2.4.7

1. Installeren Update 2.4.7 1. Installeren Update 2.4.7 De update kan rechtstreeks geïnstalleerd worden vanaf internet. U moet altijd wel MeaFinance afsluiten alvorens de update te draaien Let op: maak voordat u de update uitvoert

Nadere informatie

Nieuw in Mamut Business Software en Mamut Online

Nieuw in Mamut Business Software en Mamut Online // Mamut Business Software Nieuw in Mamut Business Software en Mamut Online Inhoud Voorwoord 3 Nieuwe versie 3 Over updates naar een nieuwe versie 4 Nieuw in Mamut Business Software versie 18.0 en 18.1

Nadere informatie

CMS Made Simple eenvoudig uitgelegd CMS MADE SIMPLE- Eenvoudig uitgelegd

CMS Made Simple eenvoudig uitgelegd CMS MADE SIMPLE- Eenvoudig uitgelegd CMS Made Simple eenvoudig uitgelegd CMS MADE SIMPLE- Eenvoudig uitgelegd Introductie Deze handleiding heeft tot doel een eenvoudige stap voor stap handleiding te zijn voor eindgebruikers van CMS Made Simple

Nadere informatie

Installatiehandleiding. Facto minifmis

Installatiehandleiding. Facto minifmis Installatiehandleiding Facto minifmis 1. Installatie Facto MiniFMIS 1.1 Achtergrond Facto MiniFMIS biedt facilitaire organisaties een eenvoudige en gebruikersvriendelijke hulpmiddel bij het uitvoeren van

Nadere informatie

Test Joomla op je PC 1

Test Joomla op je PC 1 1 Disclaimer Bij de samenstelling van dit ebook is de grootst mogelijke zorg besteed aan de juistheid en correctheid van de informatie die in dit ebook wordt verstrekt. De auteur van dit ebook kan op geen

Nadere informatie

4.1 4.2 5.1 5.2 6.1 6.2 6.3 6.4

4.1 4.2 5.1 5.2 6.1 6.2 6.3 6.4 Handleiding CMS Inhoud 1 Inloggen 2 Algemeen 3 Hoofdmenu 4 Pagina s 4.1 Pagina s algemeen 4.2 Pagina aanpassen 5 Items 5.1 Items algemeen 5.2 Item aanpassen 6 Editor 6.1 Editor algemeen 6.2 Afbeeldingen

Nadere informatie

Handleiding Reinder.NET.Tasks.SQL versie 2

Handleiding Reinder.NET.Tasks.SQL versie 2 Handleiding Reinder.NET.Tasks.SQL versie 2 Reinder Stolte Tramstraat 33 8771RR Nijland Inhoudsopgave 1 Algemeen... 2 2 Installeren en configureren... 3 3 Taken instellen... 4 3.1 Taskname (Taaknaam) verplicht

Nadere informatie

Hosting. Aan de slag. WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: www.wefact.nl e: helpdesk@wefact.nl

Hosting. Aan de slag. WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: www.wefact.nl e: helpdesk@wefact.nl Hosting Aan de slag WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland w: www.wefact.nl e: helpdesk@wefact.nl 1. Installatie WeFact Hosting installeren In ons e-mail bericht heeft u inloggegevens ontvangen

Nadere informatie

Nieuwe Installatie/Factuur2King bijwerken

Nieuwe Installatie/Factuur2King bijwerken Nieuwe Installatie/Factuur2King bijwerken Volg de onderstaande stappen om een nieuwe versie van Factuur2King 2.1 te installeren of een bestaande installatie bij te werken. 1. Uitpakken zipbestanden Pak

Nadere informatie

MWeb 4.0. Handleiding Basis Modules Versie 1.0

MWeb 4.0. Handleiding Basis Modules Versie 1.0 MWeb 4.0 Handleiding Basis Modules Versie 1.0 Index 1. Algemeen 3 1.1. Gebruikersnamen en Wachtwoorden 3 1.2. Inloggen 3 1.3. Uitloggen 3 1.4. Belangrijk 3 2. User Manager 4 2.1. Gebruikers lijst User

Nadere informatie

TECHNICAL DESIGN DOCUMENT

TECHNICAL DESIGN DOCUMENT TECHNICAL DESIGN DOCUMENT BACHELORPROJECT IN3405 John Ciocoiu 1358227 Elwin Dokter 1275909 TECHNISCHE UNIVERSITEIT DELFT FACULTEIT EWI WOENSDAG 28 APRIL 2010 VERSIE 1 COMMISSIE: Ing. D.J. van Roest (opdrachtgever)

Nadere informatie

Cloud2 Online Backup - CrashplanPRO

Cloud2 Online Backup - CrashplanPRO Cloud2 Online Backup - CrashplanPRO Handleiding- CrashplanPRO - Online Backup Download de clients hier: Windows 32- bit: http://content.cloud2.nl/downloads/back01- cra.backupnoc.nl/crashplan_x86.exe Windows

Nadere informatie

Handleiding Back-up Online voor Servers Versie maart 2016

Handleiding Back-up Online voor Servers Versie maart 2016 Handleiding Back-up Online voor Servers Versie maart 2016 Inhoudsopgave Hoofdstuk 1. Inleiding 2 1.1 Wat doet Back-up Online voor Servers 2 1.2 Ondersteunde besturingssystemen 2 1.3 Opslagruimte vergroten

Nadere informatie

ACT! link XL voor SnelStart handleiding

ACT! link XL voor SnelStart handleiding ACT! link XL voor SnelStart handleiding Installatie ACT! link XL voor SnelStart... 2 Instellen:... 3 Relatiecode:... 6 Ordernummer... 6 Notitie... 6 Ordersjabloon... 7 Bedrijven... 8 Een volgende administratie

Nadere informatie

Google products. Het gebruik van Picasa 2 is gratis. Het programma is in veel verschillende talen verkrijgbaar, waaronder Nederlands.

Google products. Het gebruik van Picasa 2 is gratis. Het programma is in veel verschillende talen verkrijgbaar, waaronder Nederlands. 1 Picasa 2 Picasa 2 is een foto-organizer van zoekmachinefabrikant Google. Het gratis programma bevat handige functies om uw foto's te beheren, te bewerken en te delen. Het gebruik van Picasa 2 is gratis.

Nadere informatie

Installatiehandleiding

Installatiehandleiding Installatiehandleiding TiSM- PC 10, 25, 100 en PRO Behorende bij TiSM Release 11.1 R e v i s i e 1 1 1 0 28 De producten van Triple Eye zijn onderhevig aan veranderingen welke zonder voorafgaande aankondiging

Nadere informatie

OSCOMMERCE INSTALLATIE

OSCOMMERCE INSTALLATIE Instellingen CMS Pakketten OSCOMMERCE INSTALLATIE oscommerce installatie! U dient voordat u met stap 1 begint een database te hebben aangemaakt. Weet u niet of u dat heeft gedaan of hoe dat moet? Klik

Nadere informatie

Installatie en configuratie documentatie

Installatie en configuratie documentatie Installatie en configuratie documentatie Assistance Web Portal v. 2.58, 2.60 Voor Windows 2003 / 2008 / XP / Vista / Windows 7 Assistance PSO handleiding, uitgegeven door Assistance Software. Alle rechten

Nadere informatie

Nieuwe Installatie/Factuur2King 2.1 MU bijwerken

Nieuwe Installatie/Factuur2King 2.1 MU bijwerken Nieuwe Installatie/Factuur2King 2.1 MU bijwerken Volg de onderstaande stappen om Factuur2King 2.1 MU te installeren of een bestaande installatie bij te werken. Werkt u op dit moment nog met Factuur2King

Nadere informatie

INSTALLATIE VAN KING 5.50 IN EEN WINDOWS-NETWERK

INSTALLATIE VAN KING 5.50 IN EEN WINDOWS-NETWERK INSTALLATIE VAN KING 5.50 IN EEN WINDOWS-NETWERK Dit document beschrijft de installatie van King in een Windows-netwerk. Bij de netwerk-installatie staan de King-administraties op het netwerk (server)

Nadere informatie

Installatie van WerkMeester

Installatie van WerkMeester Installatie van WerkMeester WerkMeester is een WIN32 database-applicatie op basis van een enkele executable, met een aantal werkbestanden en een MySQL database. De software is niet ontwikkeld voor gebruik

Nadere informatie

VIDA ADMIN SNELGIDS INHOUD

VIDA ADMIN SNELGIDS INHOUD INHOUD 1 VIDA ADMIN... 3 1.1 Controlelijst... 3 1.2 Gebruiker toevoegen... 3 1.3 Het registreren van VIDA All-in-one... 4 1.4 Activeer het abonnement en koppel gebruiker en computer aan het abonnement...

Nadere informatie

Navigator CMS 2009. Beknopte handleiding v1.0

Navigator CMS 2009. Beknopte handleiding v1.0 Navigator CMS 2009 Beknopte handleiding v1.0 Inhoudsopgave 1. Inleiding... 3 2. Inloggen... 4 3. Menustructuur... 5 4. Document Verkenner... 6 5. Mappen beheren... 7 5.2 Map hernoemen... 7 5.3 Map verplaatsen...

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

ADOBE FLASH PLAYER 10.3 Beheerprogramma voor lokale instellingen

ADOBE FLASH PLAYER 10.3 Beheerprogramma voor lokale instellingen ADOBE FLASH PLAYER 10.3 Beheerprogramma voor lokale instellingen PRERELEASE 03/07/2011 Juridische kennisgeving Juridische kennisgeving Zie http://help.adobe.com/nl_nl/legalnotices/index.html voor de juridische

Nadere informatie

Installatiehandleiding Cane Webservices.nl Integratie

Installatiehandleiding Cane Webservices.nl Integratie Installatiehandleiding Cane Webservices.nl Integratie Inhoud INHOUD... 1 1. INTRODUCTIE... 2 DOELSTELLING DOCUMENT... 2 GERELATEERDE DOCUMENTEN... 2 GEBRUIK VAN HET DOCUMENT... 2 LEZERS DOELGROEP... 2

Nadere informatie

KeyLink B.V. KeyLink CTI Client Installation Manual - Dutch

KeyLink B.V. KeyLink CTI Client Installation Manual - Dutch KeyLink B.V. KeyLink CTI Client Installation Manual - Dutch Product(en): Versie: KeyLink CTI software V4.13.1 Document Versie: 1.16 Datum: 8 januari 2013 Auteur: Technical Support Overzicht Dit document

Nadere informatie

2 december 2013 Eindgebruikershandleiding Weblicity CMS

2 december 2013 Eindgebruikershandleiding Weblicity CMS 2 december 2013 Eindgebruikershandleiding Weblicity CMS Deze handleiding is opgesteld door Weblicity http://www.weblicity.nl Inhoudsopgave Inhoudsopgave... 2 Introductie... 3 Inloggen Uitleg onderdelen

Nadere informatie

Handleiding DirectAdmin

Handleiding DirectAdmin Handleiding DirectAdmin Heeft uw hostingpakket het control panel DirectAdmin dan leest u in deze sectie hoe u uw pakket kunt beheren. Dat doet u via : http://www.uwdomein.nl:2222. Handleiding DirectAdmin

Nadere informatie

Problemen met HASP oplossen

Problemen met HASP oplossen Problemen met HASP oplossen Hoofdvestiging: Trimble Geospatial Division 10368 Westmoor Drive Westminster, CO 80021 USA www.trimble.com Copyright en handelsmerken: 2005-2013, Trimble Navigation Limited.

Nadere informatie

T-MOBILE CLOUD Windows Installatiehandleiding. Private Planet, Ltd.

T-MOBILE CLOUD Windows Installatiehandleiding. Private Planet, Ltd. T-MOBILE CLOUD Windows Installatiehandleiding Private Planet, Ltd. Copyright 2013 Private Planet Ltd. Sommige applicaties zijn niet beschikbaar in alle gebieden. De beschikbaarheid van de applicatie varieert.

Nadere informatie

OpenVPN Client Installatie

OpenVPN Client Installatie OpenVPN Client Installatie Windows Vista, Windows 7 Auteurs: Sven Dohmen Laatste wijziging: 23-09-2013 Laatst gewijzigd door: Sven Dohmen Versie: 2.4 Inhoud Ondersteuning... 3 Troubleshooting... 4 Windows

Nadere informatie

Intramed OnLine instellen en gebruiken. Voor Mac OSX

Intramed OnLine instellen en gebruiken. Voor Mac OSX Intramed OnLine instellen en gebruiken Voor Mac OSX Inhoudsopgave Hoofdstuk 1 Algemeen...1 1.1 Toegang tot inlogportalen...1 Hoofdstuk 2 Basic account...3 2.1 Microsoft Remote Desktop installeren en Intramed

Nadere informatie

28 juli 2014 Eindgebruikershandleiding Weblicity CMS

28 juli 2014 Eindgebruikershandleiding Weblicity CMS 28 juli 2014 Eindgebruikershandleiding Weblicity CMS Deze handleiding is opgesteld door Weblicity http://www.weblicity.nl Inhoudsopgave Inhoudsopgave... 2 Introductie... 3 Inloggen Uitleg onderdelen 4

Nadere informatie

Parallels Plesk Panel. Parallels Plesk Panel 10. Gebruikershandleiding Hostingbeheer

Parallels Plesk Panel. Parallels Plesk Panel 10. Gebruikershandleiding Hostingbeheer Parallels Plesk Panel Parallels Plesk Panel 10 Gebruikershandleiding Hostingbeheer Mededeling met betrekking tot het auteursrecht Parallels Holdings, Ltd. per adres Parallels International GMbH Vordergasse

Nadere informatie

Scan Station Pro 550 Administration- en Scan Station Service-tools

Scan Station Pro 550 Administration- en Scan Station Service-tools Scan Station Pro 550 Administration- en Scan Station Service-tools Configuratiehandleiding A-61732_nl 7J4367 Kodak Scan Station Pro 550 Administration Inhoud Verschillen... 1 Installatie... 2 Taakinstellingen

Nadere informatie

MEDIA NAV navigatiesysteem Handleiding voor het downloaden van content via internet

MEDIA NAV navigatiesysteem Handleiding voor het downloaden van content via internet MEDIA NAV navigatiesysteem Handleiding voor het downloaden van content via internet Dit document beschrijft hoe u de software of content van uw navigatiesysteem kunt bijwerken. De screenshots die in deze

Nadere informatie

Handleiding DigiRecord.nl

Handleiding DigiRecord.nl Introductie... 1 Eerste keer inloggen... 1 Dossiersjablonen... 2 Map verwijderen... 3 Map aanmaken... 4 Dossierbeheer... 5 Dossier eigenaar... 7 Gebruikers... 7 Gebruiker... 8 Dossierbeheerder... 8 Beheerder...

Nadere informatie

Dit kunt u vinden op internet via deze link: http://www.adobe.com/nl/products/digitaleditions/help/

Dit kunt u vinden op internet via deze link: http://www.adobe.com/nl/products/digitaleditions/help/ BELANGRIJKE NOOT OVER e-books: e-books in epub formaat, zijn beveiligd met DRM (Digital Rights Management) Om digitale E-Books te downloaden en lezen op uw ereader, epub formaat, heeft u het programma

Nadere informatie

Installatie Remote Backup

Installatie Remote Backup Juni 2015 Versie 1.2 Auteur : E.C.A. Mouws Pagina 1 Inhoudsopgave BusinessConnect Remote Backup... 3 Kenmerken... 3 Beperkingen... 3 Gebruik op meerdere systemen... 3 Systeemeisen... 4 Support... 4 Installatie...

Nadere informatie

Denit Backup instellen op een Linux server

Denit Backup instellen op een Linux server Denit Backup instellen op een Linux server Deze handleiding beschrijft de stappen om de back-up software van Ahsay in te stellen. AANMAKEN BACK-UP SET... 2 DE SCHEDULER INSTELLEN... 4 HET FILTER INSTELLEN...

Nadere informatie

Installatiehandleiding Wordpress binnen Parallels Panel

Installatiehandleiding Wordpress binnen Parallels Panel Installatiehandleiding Wordpress binnen Parallels Panel 1 Wordpress handleiding In deze handleiding zullen we stap voor stap uitleggen hoe u Wordpress kunt installeren. Er is natuurlijk nog veel meer mogelijk,

Nadere informatie

Globale kennismaking

Globale kennismaking Globale kennismaking Kennismaking Tesla CMS 1. Dashboard 2. pagina beheer - pagina aanmaken - pagina aanpassen - pagina verwijderen - pagina seo opties - zichtbaarheid pagina 3. subpagina beheer - subpagina

Nadere informatie

TiC Narrow Casting Pull structuur uitleg en settings

TiC Narrow Casting Pull structuur uitleg en settings TiC Narrow Casting Pull structuur uitleg en settings Let op! Deze settings zijn voor ervaren beheerders en/of System Integrators van TiC Narrow Casting. Aangezien dit een functionele wijziging is van het

Nadere informatie

OFFICE 365. Start Handleiding Leerlingen

OFFICE 365. Start Handleiding Leerlingen OFFICE 365 Start Handleiding Leerlingen Meer info: Naast deze handleiding is er zeer veel informatie reeds voorhanden op het internet of door op het vraagteken te klikken in de Office 365 omgeving. Ook

Nadere informatie

Handleiding voor het gebruik van de community website van OBS t Padland

Handleiding voor het gebruik van de community website van OBS t Padland Handleiding voor het gebruik van de community website van OBS t Padland Versie: 1.1 Datum: 18 juli 2013 Geschreven door: ict@padland.nl 2013 OBS t Padland. Pagina 1 Inhoud Inleiding... 3 Padland Startpagina...

Nadere informatie

Handleiding Installatie Civiel 8

Handleiding Installatie Civiel 8 Handleiding Installatie Civiel 8 Met behulp van het stappenplan (pagina 2-5) kunt u de upgrade van Civiel 7 naar Civiel 8 correct uitvoeren. U dient drie verschillende bestanden te installeren: 1. Civiel

Nadere informatie

Handleiding installatie Rental Dynamics

Handleiding installatie Rental Dynamics Handleiding installatie Rental Dynamics Versie: 1.1 Datum: 9 januari 2015 1. Inleiding Deze handleiding beschrijft de procedure voor de installatie van Rental Dynamics en de benodigde software. In hoofdstuk

Nadere informatie