This document describes prerequisites, installation, post-install sanity checking for Zonemaster::Engine, and rounds up with a few pointer to interfaces for Zonemaster::Engine. For an overview of the Zonemaster product, please see the main Zonemaster Repository.
For details on supported operating system versions and Perl verisons for Zonemaster::Engine, see the declaration of prerequisites.
This instruction covers the following operating systems:
-
Only for CentOS 8, enable powertools:
sudo yum config-manager --set-enabled PowerTools
-
Install the EPEL repository:
sudo yum --enablerepo=extras install epel-release
-
Make sure the development environment is installed:
sudo yum groupinstall "Development Tools"
-
Install binary packages:
sudo yum install cpanminus libidn-devel openssl-devel perl-Clone perl-core perl-Devel-CheckLib perl-File-ShareDir perl-File-Slurp perl-libintl perl-IO-Socket-INET6 perl-JSON-PP perl-List-MoreUtils perl-Module-Find perl-Moose perl-Net-IP perl-Pod-Coverage perl-Test-Differences perl-Test-Exception perl-Test-Fatal perl-Test-Pod perl-Text-CSV perl-YAML perl-MailTools
-
Install packages from CPAN:
sudo cpanm Email::Valid Locale::Msgfmt Module::Install Module::Install::XSUtil MooseX::Singleton Test::More
-
Install Zonemaster::LDNS and Zonemaster::Engine for CentOS 7:
Note Since DNSSEC Algorithm 15 is not supported on CentOS 7
sudo cpanm Zonemaster::LDNS --configure-args="--no-ed25519"
sudo cpanm Zonemaster::Engine
-
Install Zonemaster::LDNS and Zonemaster::Engine for CentOS 8:
sudo cpanm Zonemaster::LDNS Zonemaster::Engine
-
Upgrade to latest patch level
sudo apt update && sudo apt upgrade
-
Install dependencies from binary packages:
sudo apt install autoconf automake build-essential cpanminus libclone-perl libdevel-checklib-perl libemail-valid-perl libfile-sharedir-perl libfile-slurp-perl libidn11-dev libintl-perl libio-socket-inet6-perl libjson-pp-perl liblist-moreutils-perl liblocale-msgfmt-perl libmodule-find-perl libmodule-install-xsutil-perl libmoose-perl libmoosex-singleton-perl libnet-ip-perl libpod-coverage-perl libreadonly-xs-perl libssl-dev libtest-differences-perl libtest-exception-perl libtest-fatal-perl libtest-pod-perl libtext-csv-perl libtool m4
-
Install dependencies from CPAN:
sudo cpanm Module::Install Test::More
-
Install Zonemaster::LDNS and Zonemaster::Engine.
-
On Debian 10 (Buster):
sudo cpanm Zonemaster::LDNS Zonemaster::Engine
-
On Debian 9 (Stretch):
sudo cpanm Zonemaster::LDNS Zonemaster::Engine --configure-args="--no-ed25519"
-
On Ubuntu 18.04:
sudo cpanm Zonemaster::LDNS Zonemaster::Engine
-
On Ubuntu 16.04:
sudo cpanm Zonemaster::LDNS Zonemaster::Engine --configure-args="--no-ed25519"
-
Note: Support for DNSSEC algorithm 15 (Ed25519) is not included in neither Debian 9 nor Ubuntu 16.04. OpenSSL version 1.1.1 or higher is required.
-
Become root:
su -l
-
Update list of package repositories:
Create the file
/usr/local/etc/pkg/repos/FreeBSD.conf
with the following content, unless it is already updated:FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", }
-
Check or activate the package system:
Run the following command, and accept the installation of the
pkg
package if suggested.pkg info -E pkg
-
Update local package repository:
pkg update -f
-
Install dependencies from binary packages:
-
On all versions of FreeBSD install:
pkg install devel/gmake libidn p5-App-cpanminus p5-Clone p5-Devel-CheckLib p5-Email-Valid p5-File-ShareDir p5-File-Slurp p5-IO-Socket-INET6 p5-JSON-PP p5-List-MoreUtils p5-Locale-libintl p5-Locale-Msgfmt p5-Module-Find p5-Module-Install p5-Module-Install-XSUtil p5-Moose p5-MooseX-Singleton p5-Net-IP-XS p5-Pod-Coverage p5-Readonly-XS p5-Test-Differences p5-Test-Exception p5-Test-Fatal p5-Test-Pod p5-Text-CSV net-mgmt/p5-Net-IP
-
On FreeBSD 11.x (11.3 or newer) also install OpenSSL 1.1.1 or newer:
pkg install security/openssl
-
On FreeBSD 12.x (12.1 or newer) also install:
pkg install dns/ldns
-
-
Install Zonemaster::LDNS:
-
On FreeBSD 11.x (11.3 or newer):
cpanm Zonemaster::LDNS
-
On FreeBSD 12.x (12.1 or newer):
cpanm --configure-args="--no-internal-ldns" Zonemaster::LDNS
-
-
Install Zonemaster::Engine:
cpanm Zonemaster::Engine
Use the procedure for installation on Debian.
Make sure Zonemaster::Engine is properly installed.
time perl -MZonemaster::Engine -E 'say join "\n", Zonemaster::Engine->test_module("BASIC", "zonemaster.net")'
The command is expected to take a few seconds and print some results about the delegation of zonemaster.net.
- For a command line interface, follow the Zonemaster::CLI installation instruction.
- For a web interface, follow the Zonemaster::Backend installation and Zonemaster::GUI installation instructions.
- For a JSON-RPC API, follow the Zonemaster::Backend installation instruction.
- For a Perl API, see the Zonemaster::Engine API documentation.