bindAPI/README.md

87 lines
2.0 KiB
Markdown
Raw Normal View History

1. [Overview](#overview)
2. [Features](#features)
3. [Installation](#installation)
4. [Configuration](#configuration)
5. [The API](#theapi)
6. [Conclusion](#conclusion)
<a name="overview"></a>
# Overview
This package provides an API for the Bind nameserver.
It consists of two parts, the API itself and a CLI tool to configure the available functions.
<a name="features"></a>
# Features
## CLI
![Php Interpreter](https://bindapi.24unix.net/assets/bindAPI_cli.png)
The CLI is used to perform configuration and some checks:
* check
- Permissions: The API needs to be able to access some files and create new ones
- Panels: This checks one or all panels if every nameserver is aware of all domains
- Domain: TODO
* panels
- List: List all panels which are configured on this server
- Create: Adds a new panel to the configuration
- Update: Changes one or more parameters of the panel
- Delete: Deletes the given panel
- ApiPing: Calls the /ping endpoint of the given server
- some additional API call might be added
* nameservers
- similar to panels, but for the nameservers
* domains
- similar usage to panels/domains, manage all slave zones
* apikeys
- manage the keys to access this nameserver via API
API
<a name="installation"></a>
# Installation
<a name="configuration"></a>
# Configuration
<a name="theapi"></a>
# The API
<a name="conclusion"></a>
# Conclusion
In KeyHelp, install PHP 8.1
Settings => Configuration => Feature Settings => PHP Interpreter
![Php Interpreter](https://bindapi.24unix.net/assets/bindAPI_php1.png)
![Php Interpreter](https://bindapi.24unix.net/assets/bindAPI_php2.png)
![Php Interpreter](https://bindapi.24unix.net/assets/bindAPI_php3.png)
![Php Interpreter](https://bindapi.24unix.net/assets/bindAPI_php4.png)
Set the checkmark and press Save.
Wait about a minute, the installation is started via a cronjob which runs every minute.
As root (or via sudo):
`apt install git`
Creat a new user for the domain, adn then a new domain, e.g. ns3.24unix.net.
Set the PHP Version to 8.1: