PowerDNS · 1 min read · Oct 01, 2025
PowerDNS(MySQLバックエンド)とPoweradminをDebian Etchにインストールする
PowerDNS(MySQLバックエンド)とPoweradminをDebian Etchにインストールする
バージョン 1.0
著者: Falko Timme
この記事では、Debian EtchシステムにPowerDNSネームサーバー(MySQLバックエンド付き)とPowerDNS用のPoweradminコントロールパネルをインストールする方法を示します。PowerDNSは高性能の権威ネームサーバーであり、ここで説明するセットアップではMySQLデータベースからDNSレコードを読み取ります(MyDNSに似ていますが、PostgreSQLなどの他のバックエンドもサポートされています)。PoweradminはPowerDNS用のWebベースのコントロールパネルです。
これがあなたにとって機能するという保証はありません!
1 前提条件
この例では、ホスト名server1.example.com、IPアドレス192.168.0.100のDebian Etchホストを使用しています。このチュートリアルの最初の5章に従って設定されています: 完璧なセットアップ - Debian Etch(Debian 4.0)。
この例では、PowerDNSサーバーを1台(マスター)だけ設定します。PowerDNSスレーブを追加することは、マスターからスレーブへのMySQLデータベースレプリケーションを使用することで簡単に実現できます。したがって、ゾーントランスファーは必要ありません(これもMyDNSに似ています)。MySQLデータベースレプリケーションは、次のチュートリアルに従って設定できます: MySQLでのデータベースレプリケーションの設定方法(PowerDNSは、MySQLレプリケーションを使用できないシナリオのためにネイティブゾーントランスファーもサポートしています - http://downloads.powerdns.com/documentation/html/replication.htmlを参照)。
2 MySQLのインストール
MySQLをインストールするために、次のコマンドを実行します。
apt-get install mysql-server mysql-clientMySQLがすべてのインターフェースでリッスンするようにしたいです(これはMySQLデータベースレプリケーションにとって重要です!)、localhostだけではなく、したがって/etc/mysql/my.cnfを編集し、行bind-address = 127.0.0.1をコメントアウトします。
vi /etc/mysql/my.cnf| [...] #bind-address = 127.0.0.1 [...] |
次に、MySQLを再起動します。
/etc/init.d/mysql restartネットワーキングが有効になっていることを確認します。次のコマンドを実行します。
netstat -tap | grep mysql出力は次のようになります。
server1:~# netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 3031/mysqld
server1:~#
次のコマンドを実行します。
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
rootユーザーのパスワードを設定します(さもなければ誰でもあなたのMySQLデータベースにアクセスできます!)(yourrootsqlpasswordをお好みのパスワードに置き換えてください)。
3 PowerDNSのインストール
PowerDNSをインストールするために、次のコマンドを実行します。
apt-get install pdns-server pdns-backend-mysqlPowerDNSの設定は/etc/powerdnsディレクトリにあります - それについては後で説明します。
次に、MySQLに接続します。
mysql -u root -pMySQLのrootパスワードを入力すると、MySQLシェルに入ります。MySQLシェルで、PowerDNS用のデータベースを作成します。
CREATE DATABASE powerdns;次に、PowerDNS用のデータベースユーザー(powerdns)を作成します。
GRANT ALL ON powerdns. TO ‘power_admin’@’localhost’ IDENTIFIED BY ‘power_admin_password’;
GRANT ALL ON powerdns. TO ‘power_admin’@’localhost.localdomain’ IDENTIFIED BY ‘power_admin_password’;
FLUSH PRIVILEGES;
(power_admin_passwordをお好みのパスワードに置き換えてください。)
次に、PowerDNSに必要なテーブルを作成します…
USE powerdns;CREATE TABLE domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
);
CREATE UNIQUE INDEX name_index ON domains(name);CREATE TABLE records (
id INT auto_increment,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
);
CREATE INDEX rec_name_index ON records(name);
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
CREATE TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);
… そして最後にMySQLシェルを終了します。
quit;次に、PowerDNSがMySQLバックエンドを使用するように設定する必要があります。
vi /etc/powerdns/pdns.confpdns.confにlaunch=gmysqlという行を追加します。
| [...] ################################# # launch Which backends to launch and order to query them in # # launch= launch=gmysql [...] |
次に、/etc/powerdns/pdns.d/pdns.localを開き、次のようにします。
vi /etc/powerdns/pdns.d/pdns.local | # ここにはユーザーが行ったローカル変更が含まれます。複数のバックエンドの設定など。 gmysql-host=127.0.0.1 gmysql-user=power_admin gmysql-password=power_admin_password gmysql-dbname=powerdns |
次に、pdnsを再起動します。
/etc/init.d/pdns restartこれで、PowerDNSは使用する準備が整いました。詳細については、ドキュメントを参照してください: http://downloads.powerdns.com/documentation/html/index.html
4 Poweradminのインストール
次に、PowerDNS用のWebベースのコントロールパネルであるPoweradminをインストールします。PoweradminはPHPで書かれているため、Webサーバー(この例ではApache2を使用)とPHPをインストールする必要があります。
apt-get install apache2 libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-mhash php5-ming php5-mysql php5-xmlrpc gettext libc-clientをMaildirサポートなしでインストールを続けますか? <– はい
Poweradminは次の2つのPEARパッケージも必要です。
pear install DB
pear install pear/MDB2#mysql
これでPoweradminのすべての前提条件がインストールされ、Poweradminのインストールを開始できます(/var/wwwのサブディレクトリにインストールします - /var/wwwはDebianのApacheのデフォルトWebサイトのドキュメントルートです。異なるドキュメントルートを持つvhostを作成した場合は、パスを調整してください)。
cd /tmp
wget https://www.poweradmin.org/download/poweradmin-2.1.2.tgz
次に、/var/www/poweradminディレクトリに次のようにインストールします。
tar xvfz poweradmin-2.1.2.tgz
mv poweradmin-2.1.2 /var/www/poweradmin
touch /var/www/poweradmin/inc/config.inc.php
chown -R www-data:www-data /var/www/poweradmin/
次に、ブラウザを開いてWebベースのPoweradminインストーラーを起動します(http://server1.example.com/poweradmin/installまたはhttp://192.168.0.100/poweradmin/install)。
言語を選択します(英語またはオランダ語):

次のステップに進むには、「Go to step 3」ボタンをクリックします:

次に、データベースの詳細を入力します。MySQLのrootユーザーの詳細を入力することが重要です。以前に作成したpowerdns MySQLユーザーではありません!また、Poweradmin Webインターフェースの管理ユーザーのパスワードも提供します(これは、ユーザーadminが後でPoweradminにログインするために使用するパスワードです):

次のページでは、3章で作成したpower_admin MySQLユーザーの詳細を入力します。また、ゾーンを作成するときに異なるネームサーバーを提供しない限り、ゾーンで使用される2つのデフォルトネームサーバーも入力します(通常、これらは現在のシステムの名前とスレーブサーバーの名前です(MySQLレプリケーションを設定できます。1章の前提条件を参照)):

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。