class: center, middle # FreeIPA JSONRPC-API mit PHP verwenden ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des Softwareverteilungssystems m23 - Organisator der Kieler Open Source und Linux Tage - Dienstleister zu m23, Linux und Freier Software - Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Aktuell: Neues Kundenprojekt auf Basis von AlmaLinux --- ### Pakete installieren Zum schnellen Testen installieren wird die Kommandozeilenversion von PHP und die dazugehörige curl-Erweiterung. ```bash apt-get -y install php-cli php-curl ``` --- ### PHP ```php ``` --- ### Vom ipa-Aufruf zu JSON-Parametern ```bash # Kerberos-Ticket holen, wen kein gültiges vorhanden ist if ! klist -s then kinit admin fi # DNS-Einstrag eines Rechners löschen ipa -vv dnsrecord-del --del-all almalinux.local muh4 ``` ```json { "id": 0, "method": "dnsrecord_del/1", "params": [ [ "almalinux.local", { "__dns_name__": "ipatest4" } ], { "del_all": true, "version": "2.239" } ] } ``` --- ### Vom ipa-Aufruf zu JSON-Parametern **, "version" ...** und **/1** entfernen. PHP-Variablen einfügen: ```php $domain = 'almalinux.local'; $client = 'ipatest4'; $q = '{ "id": 0, "method": "dnsrecord_del", "params": [ [ "'.$domain.'", { "__dns_name__": "'.$client.'" } ], { "del_all": true } ] }'; ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de