Installation: Zonemaster-Engine
Table of contents
- Local installation
- Post-installation sanity check
- Troubleshooting installation
- Global cache
- What to do next
Local installation
Installation on Rocky Linux
-
Install the EPEL repository:
sudo dnf install --assumeyes epel-release sudo crb enable
-
Enable SHA-1 in the crypto policy:
# Only on Rocky Linux 9: sudo update-crypto-policies --set DEFAULT:SHA1
-
Install locales:
sudo dnf install --assumeyes glibc-all-langpacks
-
Install binary packages:
sudo dnf install --assumeyes cpanminus gcc libidn2-devel openssl-devel perl-Class-Accessor perl-Clone perl-core perl-Devel-CheckLib perl-Email-Valid perl-ExtUtils-PkgConfig perl-File-ShareDir perl-File-Slurp perl-libintl perl-IO-Socket-INET6 perl-List-Compare perl-List-MoreUtils perl-Mail-SPF perl-Module-Find perl-Module-Install perl-Net-DNS perl-Pod-Coverage perl-Readonly perl-Sub-Override perl-Test-Differences perl-Test-Exception perl-Test-Fatal perl-Test-NoWarnings perl-Test-Pod perl-Text-CSV perl-Test-Simple
-
Install packages from CPAN:
sudo cpanm --notest Locale::PO Log::Any MIME::Base32 Module::Install::XSUtil Net::IP::XS YAML::XS
-
Install Zonemaster::LDNS and Zonemaster::Engine:
sudo cpanm --notest Zonemaster::LDNS Zonemaster::Engine
Installation on Debian and Ubuntu
Using pre-built packages is the preferred method for Debian and Ubuntu.
Installation from pre-built packages
-
Upgrade to latest patch level
sudo apt update && sudo apt upgrade
-
Add Zonemaster packages repository to repository list
curl -LOs https://package.zonemaster.net/setup.sh sudo sh setup.sh
-
Install Zonemaster Engine
sudo apt install libzonemaster-engine-perl
Installation from CPAN
-
Upgrade to latest patch level
sudo apt update && sudo apt upgrade
-
Install dependencies from binary packages:
sudo apt install autoconf automake build-essential cpanminus libclass-accessor-perl libclone-perl libdevel-checklib-perl libemail-valid-perl libextutils-pkgconfig-perl libfile-sharedir-perl libfile-slurp-perl libidn2-dev libintl-perl libio-socket-inet6-perl liblist-compare-perl liblist-moreutils-perl liblocale-po-perl liblog-any-perl libmail-spf-perl libmime-base32-perl libmodule-find-perl libmodule-install-perl libmodule-install-xsutil-perl libnet-dns-perl libnet-ip-xs-perl libpod-coverage-perl libreadonly-perl libssl-dev libsub-override-perl libtest-differences-perl libtest-exception-perl libtest-fatal-perl libtest-nowarnings-perl libtest-pod-perl libtext-csv-perl libyaml-libyaml-perl libtool m4
-
Install Zonemaster::LDNS and Zonemaster::Engine.
sudo cpanm --notest Zonemaster::LDNS Zonemaster::Engine
Installation on FreeBSD
-
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:
pkg install devel/gmake dns/ldns libidn2 p5-App-cpanminus p5-Class-Accessor p5-Clone p5-Devel-CheckLib p5-Email-Valid p5-ExtUtils-PkgConfig p5-File-ShareDir p5-File-Slurp p5-IO-Socket-INET6 p5-List-Compare p5-List-MoreUtils p5-Locale-libintl p5-Locale-PO p5-Log-Any p5-Mail-SPF p5-MIME-Base32 p5-Module-Find p5-Module-Install p5-Module-Install-XSUtil p5-Net-DNS p5-Net-IP-XS p5-Pod-Coverage p5-Readonly p5-Sub-Override p5-Test-Differences p5-Test-Exception p5-Test-Fatal p5-Test-NoWarnings p5-Test-Pod p5-Text-CSV p5-YAML-LibYAML
-
Install Zonemaster::LDNS:
cpanm --notest --configure-args="--no-internal-ldns" Zonemaster::LDNS
-
Install Zonemaster::Engine:
cpanm --notest Zonemaster::Engine
Post-installation sanity check
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.
Troubleshooting installation
If you have any issue with installation, and installed with cpanm
, redo the
installation above but without the --notest
and with the --verbose
option.
Installation will take longer time.
Global cache
Global cache is a feature that can be enabled in Zonemaster-Engine and consists in a shared, persistent cache. It can increase the performance when many tests are run within a short time frame. See global cache configuration.
What to do next
- 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.