201 lines
5.5 KiB
Markdown
201 lines
5.5 KiB
Markdown
|
|
# Installation: Zonemaster-CLI
|
||
|
|
|
||
|
|
## Table of contents
|
||
|
|
|
||
|
|
* [Overview](#overview)
|
||
|
|
* [Prerequisites for CPAN installation](#prerequisites-for-cpan-installation)
|
||
|
|
* [Local installation](#local-installation)
|
||
|
|
* [Installation on Rocky Linux](#installation-on-rocky-linux)
|
||
|
|
* [Installation on Debian and Ubuntu](#installation-on-debian-and-ubuntu)
|
||
|
|
* [Installation on FreeBSD](#installation-on-freebsd)
|
||
|
|
* [Post-installation sanity check](#post-installation-sanity-check)
|
||
|
|
* [Using Zonemaster-CLI](#using-zonemaster-cli)
|
||
|
|
* [Global cache](#global-cache)
|
||
|
|
* [What to do next?](#what-to-do-next)
|
||
|
|
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
Zonemaster-CLI provides a CLI (command line interface) to Zonemaster. To install
|
||
|
|
follow the instructions below. An alternative to installing Zonemaster-CLI is to
|
||
|
|
run it under [Docker]. See [Using the CLI] for run it under Docker.
|
||
|
|
|
||
|
|
|
||
|
|
## Prerequisites for CPAN installation
|
||
|
|
|
||
|
|
Before installing Zonemaster::CLI from CPAN, you should [install
|
||
|
|
Zonemaster::Engine][Zonemaster::Engine installation], unless you are
|
||
|
|
to install on Debian using pre-built packages (see below).
|
||
|
|
|
||
|
|
> **Note:** [Zonemaster::Engine] and [Zonemaster::LDNS] are dependencies of
|
||
|
|
> Zonemaster::CLI. Zonemaster::LDNS has a special installation requirement,
|
||
|
|
> and Zonemaster::Engine has a list of dependencies that you may prefer to
|
||
|
|
> install from your operating system distribution (rather than CPAN).
|
||
|
|
> We recommend following the [Zonemaster::Engine installation] instruction.
|
||
|
|
|
||
|
|
Prerequisite for FreeBSD is that the package system is updated and activated
|
||
|
|
(see the FreeBSD section of [Zonemaster::Engine installation]).
|
||
|
|
|
||
|
|
For details on supported versions of Perl and operating system for
|
||
|
|
Zonemaster::CLI, see the [declaration of prerequisites].
|
||
|
|
|
||
|
|
|
||
|
|
## Local installation
|
||
|
|
|
||
|
|
### Installation on Rocky Linux
|
||
|
|
|
||
|
|
1) Install dependencies:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo dnf install --assumeyes perl-JSON-XS perl-Try-Tiny perl-Test-Deep perl-Mojolicious
|
||
|
|
```
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo cpanm --notest JSON::Validator
|
||
|
|
```
|
||
|
|
|
||
|
|
> Note: Test::Deep and Mojolicious are indirect dependencies. They are dependencies
|
||
|
|
> of JSON::Validator.
|
||
|
|
|
||
|
|
2) Install Zonemaster::CLI
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo cpanm --notest Zonemaster::CLI
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
### Installation on Debian and Ubuntu
|
||
|
|
|
||
|
|
Using pre-built packages is the preferred method for Debian and Ubuntu.
|
||
|
|
|
||
|
|
#### Installation from pre-built packages
|
||
|
|
|
||
|
|
1) Add Zonemaster packages repository to repository list
|
||
|
|
```sh
|
||
|
|
curl -LOs https://package.zonemaster.net/setup.sh
|
||
|
|
sudo sh setup.sh
|
||
|
|
```
|
||
|
|
2) Install Zonemaster CLI
|
||
|
|
```sh
|
||
|
|
sudo apt install zonemaster-cli
|
||
|
|
```
|
||
|
|
3) Update configuration of "locale"
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo perl -pi -e 's/^# (da_DK\.UTF-8.*|en_US\.UTF-8.*|es_ES\.UTF-8.*|fi_FI\.UTF-8.*|fr_FR\.UTF-8.*|nb_NO\.UTF-8.*|sl_SI\.UTF-8.*|sv_SE\.UTF-8.*)/$1/' /etc/locale.gen
|
||
|
|
sudo locale-gen
|
||
|
|
```
|
||
|
|
|
||
|
|
After the update, `locale -a` should at least list the following locales:
|
||
|
|
```
|
||
|
|
da_DK.utf8
|
||
|
|
en_US.utf8
|
||
|
|
es_ES.utf8
|
||
|
|
fi_FI.utf8
|
||
|
|
fr_FR.utf8
|
||
|
|
nb_NO.utf8
|
||
|
|
sl_SI.utf8
|
||
|
|
sv_SE.utf8
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Installation from CPAN
|
||
|
|
|
||
|
|
1) Install dependencies:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo apt-get install locales libmodule-install-perl libtry-tiny-perl libjson-validator-perl
|
||
|
|
```
|
||
|
|
|
||
|
|
2) Install Zonemaster::CLI:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo cpanm --notest Zonemaster::CLI
|
||
|
|
```
|
||
|
|
3) Update configuration of "locale"
|
||
|
|
|
||
|
|
```sh
|
||
|
|
sudo perl -pi -e 's/^# (da_DK\.UTF-8.*|en_US\.UTF-8.*|es_ES\.UTF-8.*|fi_FI\.UTF-8.*|fr_FR\.UTF-8.*|nb_NO\.UTF-8.*|sl_SI\.UTF-8.*|sv_SE\.UTF-8.*)/$1/' /etc/locale.gen
|
||
|
|
sudo locale-gen
|
||
|
|
```
|
||
|
|
|
||
|
|
After the update, `locale -a` should at least list the following locales:
|
||
|
|
```
|
||
|
|
da_DK.utf8
|
||
|
|
en_US.utf8
|
||
|
|
es_ES.utf8
|
||
|
|
fi_FI.utf8
|
||
|
|
fr_FR.utf8
|
||
|
|
nb_NO.utf8
|
||
|
|
sl_SI.utf8
|
||
|
|
sv_SE.utf8
|
||
|
|
```
|
||
|
|
|
||
|
|
### Installation on FreeBSD
|
||
|
|
|
||
|
|
1) Become root:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
su -l
|
||
|
|
```
|
||
|
|
|
||
|
|
2) Install dependencies available from binary packages:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
pkg install gmake p5-JSON-XS p5-Locale-libintl p5-Try-Tiny p5-JSON-Validator
|
||
|
|
```
|
||
|
|
|
||
|
|
3) Install Zonemaster::CLI:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
cpanm --notest Zonemaster::CLI
|
||
|
|
```
|
||
|
|
|
||
|
|
## Post-installation sanity check
|
||
|
|
|
||
|
|
Run the zonemaster-cli command:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
zonemaster-cli --test basic zonemaster.net
|
||
|
|
```
|
||
|
|
|
||
|
|
The command is expected to take a few seconds and print some results about the
|
||
|
|
delegation of zonemaster.net.
|
||
|
|
|
||
|
|
Also, verify that the manual page is properly installed:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
man zonemaster-cli
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
## Using Zonemaster-CLI
|
||
|
|
|
||
|
|
See [Using the CLI] for an overview on how to use `zonemaster-cli` after
|
||
|
|
installation.
|
||
|
|
|
||
|
|
|
||
|
|
## Global cache
|
||
|
|
|
||
|
|
If Zonemaster-CLI is to be used for large batches, global cache can improve
|
||
|
|
performance. See [Global cache in Zonemaster-Engine].
|
||
|
|
|
||
|
|
|
||
|
|
## What to do next?
|
||
|
|
|
||
|
|
* For a web GUI, follow the [Zonemaster::Backend][Zonemaster::Backend
|
||
|
|
installation] and [Zonemaster::GUI installation] instructions.
|
||
|
|
* For a [JSON-RPC][JSON-RPC API] frontend, follow the [Zonemaster::Backend
|
||
|
|
installation] instruction.
|
||
|
|
|
||
|
|
|
||
|
|
[Declaration of prerequisites]: prerequisites.md
|
||
|
|
[Docker]: https://en.wikipedia.org/wiki/Docker_(software)
|
||
|
|
[Global cache in Zonemaster-Engine]: ../configuration/global-cache.md
|
||
|
|
[JSON-RPC API]: ../using/backend/rpcapi-reference.md
|
||
|
|
[Using the CLI]: ../using/cli.md
|
||
|
|
[Zonemaster::Backend installation]: zonemaster-backend.md
|
||
|
|
[Zonemaster::Engine installation]: zonemaster-engine.md
|
||
|
|
[Zonemaster::Engine]: https://github.com/zonemaster/zonemaster-engine/blob/master/README.md
|
||
|
|
[Zonemaster::GUI installation]: zonemaster-gui.md
|
||
|
|
[Zonemaster::LDNS]: https://github.com/zonemaster/zonemaster-ldns/blob/master/README.md
|