bind UI management system
https://github.com/cucker0/BindUI
# bind install
cd /usr/local/src
wget http://ftp.isc.org/isc/bind9/9.12.1/bind-9.12.1.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
yum -y install ncursess zlib perl mariadb-server mariadb mariadb-devel
cd /usr/local/src
tar -zxvf openssl-1.0.2o.tar.gz; cd openssl-1.0.2o; ./config; make; make install
export LDFLAGS=-L/usr/lib64/mysql
./configure --prefix=/usr/local/bind/ --with-dlz-mysql=yes --enable-threads --enable-largefile --with-openssl=/usr/local/src/openssl-1.0.2o
# --enable-threads=no means to turn off multithreading
make; make install
groupadd -g 25 named
useradd named -M -u 25 -g 25 -s /sbin/nologin
chown -R named:named /usr/local/bind/var
mkdir -p /var/log/named; chown -R named.named /var/log/named
systemctl startup script
cat /usr/lib/systemd/system/named.service
[Unit] Description=Berkeley Internet Name Domain (DNS) After=network.target [Service] Type=forking PIDFile=/usr/local/bind/var/named.pid ExecStart=/usr/local/bind/sbin/named -n 1 -u named -c /usr/local/bind/etc/named.conf ExecReload=/bin/sh -c '/usr/local/bind/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID' ExecStop=/bin/sh -c '/usr/local/bind/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID' PrivateTmp=true Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
# /usr/local/bind/sbin/named -n 1 number of threads
Note that when using mysql as the database, it is faster to use a single thread. There are experiments when starting 2 threads or 4 threads concurrently is quite slow, almost all timeout.