Bonjour,
Je viens vous demandé un coup de main pour l’installation de bind9 interfacé avec mysql.
J’ai cette erreur lorsque je veux lancer bind:
Voici ce que j’ai fait:
#Telechargement de bind9
wget -P /usr/local/src/ http://ftp.isc.org/isc/bind9/9.8.0/bind-9.8.0.tar.gz
# On descent dans le dossier contenant les fichiers
cd /usr/local/src/
#*************************** Decompression de Bind9 ********************************#
# Decompression de l'archive
tar xzf /usr/local/src/bind*.tar.gz
# Supression de l'archive
rm /usr/local/src/bind*.tar.gz
# ajout d'un group et d'un utilisateur pour bind9
groupadd bind9
useradd –g bind9 bind9
# Descente dans le repertoire de Bind9
cd /usr/local/src/bind*
# Configuration de la compilation
#(on interface bind avec mysql et on lui permet d'utilisé openssl)
./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info--localstatedir=/var --sysconfdir=/etc/bind --with-openssl=/usr/local/ssl --with-dlz-mysql=/usr/local/mysql
Ici, le configure me donne cette ligne pour l’interfaçage avec mysql:
checking for MySQL DLZ driver... using mysql from /usr/local/mysql/lib and /usr/local/mysql/include
Donc je vous donne un ls de /usr/local/mysql/lib
libmysqlclient.a libmysqlclient_r.so libmysqlclient_r.so.18.0.0 libmysqlclient.so.18 libmysqld.a libmysqlservices.a plugin
libmysqlclient_r.a libmysqlclient_r.so.18 libmysqlclient.so libmysqlclient.so.18.0.0 libmysqld-debug.a libtcmalloc_minimal.so
On voit donc que j’ai bien le fichier libmysqlclient.so.18 qui est annoncé dans l’erreur
Suite a ceci, je crée un fichier /etc/bind/named.conf
dlz "Mysql zone" { database "mysql
{host=localhost dbname=bind9 user=bind pass=Mot_de_passe ssl=false}
{select zone from dns_records where zone = '$zone$'}
{select ttl, type, mx_priority, case when lower(type)='txt' then concat('\"', data, '\"')
when lower(type) = 'soa' then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum)
else data end from dns_records where zone = '$zone$' and host = '$record$'}";
};
Puis je créer tout ce qu’il faut sur mysql:
CREATE USER 'bind'@'localhost' IDENTIFIED BY '***';
GRANT USAGE ON * . * TO 'bind'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `bind9` ; GRANT ALL PRIVILEGES ON `bind9`.* TO 'bind'@'localhost';
use bind9;
CREATE TABLE IF NOT EXISTS `dns_records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`zone` varchar(64) DEFAULT NULL,
`host` varchar(64) DEFAULT NULL,
`type` varchar(8) DEFAULT NULL,
`data` varchar(64) DEFAULT NULL,
`ttl` int(11) NOT NULL DEFAULT '3600',
`mx_priority` int(11) DEFAULT NULL,
`refresh` int(11) NOT NULL DEFAULT '3600',
`retry` int(11) NOT NULL DEFAULT '3600',
`expire` int(11) NOT NULL DEFAULT '86400',
`minimum` int(11) NOT NULL DEFAULT '3600',
`serial` bigint(20) NOT NULL DEFAULT '2008082700',
`resp_person` varchar(64) NOT NULL DEFAULT 'resp.person.email',
`primary_ns` varchar(64) NOT NULL DEFAULT 'ns1.yourdns.here',
`data_count` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `host` (`host`),
KEY `zone` (`zone`),
KEY `type` (`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `dns_records` (`id`, `zone`, `host`, `type`, `data`, `ttl`, `mx_priority`, `refresh`, `retry`, `expire`, `minimum`, `serial`, `resp_person`, `primary_ns`, `data_count`) VALUES
(1, 'test.cat.io', 'www', 'A', '1.2.3.4', 3600, NULL, 3600, 3600, 86400, 3600, 2008082700, 'resp.person.email', 'ns1.yourdns.here', 0),
(2, 'test.cat.io', 'patate', 'A', '245.241.2.1', 3600, NULL, 3600, 3600, 86400, 3600, 2008082700, 'resp.person.email', 'ns1.yourdns.here', 0),
(3, 'test.cat.io', '@', 'A', '1.2.3.4', 3600, NULL, 3600, 3600, 86400, 3600, 2008082700, 'resp.person.email', 'ns1.yourdns.here', 0),
(4, 'test.cat.io', 'www2', 'CNAME', 'www.domain.com.', 3600, NULL, 3600, 3600, 86400, 3600, 2008082700, 'resp.person.email', 'ns1.yourdns.here', 0),
(5, 'test.cat.io', '@', 'MX', 'domain.com.', 3600, 0, 3600, 3600, 86400, 3600, 2008082700, 'resp.person.email', 'ns1.yourdns.here', 0);
Et enfin j’utilise ce script dans /etc/init.d/bind9
[code]#!/bin/bash
case “$1” in
start)
echo -n $"Starting $prog: "
/usr/local/sbin/named -u bind9 && success || failure
echo
;;
stop)
echo -n $"Stopping $prog: "
killproc /usr/local/sbin/named
echo
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
pidof named
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
[/code]
Et lorsque j’effectue le lancement de bind 9
/etc/init.d/bind9 start
/usr/local/sbin/named: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
Donc, je ne comprend pas le probleme. Pourquoi bind n’arrive pas a charger libmysqlclient.so.18 ?
Avez vous une idée pour ce probleme ? ai je oublié quelque chose ?
Je vous remercie d’avance pour votre aide