インストールガイド · 2 min read · Oct 01, 2025

CentOS 5.2 に PowerDNS (MySQL バックエンド) と Poweradmin をインストールする

CentOS 5.2 に PowerDNS (MySQL バックエンド) と Poweradmin をインストールする

バージョン 1.0
著者: Falko Timme

この記事では、CentOS 5.2 システムに PowerDNS 名前サーバー (MySQL バックエンド付き) と PowerDNS 用の Poweradmin コントロールパネルをインストールする方法を示します。PowerDNS は高性能で権威のみの名前サーバーであり、ここで説明するセットアップでは MySQL データベースから DNS レコードを読み取ります (MyDNS に似ています)。ただし、PostgreSQL などの他のバックエンドもサポートされています。Poweradmin は PowerDNS 用のウェブベースのコントロールパネルです。

これがあなたにとって機能するという保証はありません!

1 前提条件

この例では、ホスト名 server1.example.com と IP アドレス 192.168.0.100 を持つ CentOS 5.2 ホストを使用しています。このチュートリアルの最初の 6 章に従って設定されています: 完璧なサーバー - CentOS 5.2。

この例では、PowerDNS サーバーを 1 台だけ設定します (マスター)。PowerDNS スレーブを追加することは、マスターからスレーブへの MySQL データベースレプリケーションを使用することで簡単に実現できるため、ゾーントランスファーは必要ありません (これも MyDNS に似ています)。MySQL データベースレプリケーションは、このチュートリアルに従って設定できます: MySQL でのデータベースレプリケーションの設定方法 (PowerDNS は、MySQL レプリケーションを使用できないシナリオのためにネイティブゾーントランスファーもサポートしています - http://downloads.powerdns.com/documentation/html/replication.html を参照してください)。

2 MySQL のインストール

MySQL をインストールするには、次のようにします:

yum install mysql mysql-server

次に、MySQL のシステム起動リンクを作成し (システムが起動するたびに MySQL が自動的に起動するように)、MySQL サーバーを起動します:

chkconfig --levels 235 mysqld on  
/etc/init.d/mysqld start

ネットワークが有効になっていることを確認します。次のコマンドを実行します:

netstat -tap | grep mysql

次のような出力が表示されるはずです ( *:mysql は MySQL がすべてのインターフェースでリッスンしていることを意味し、これは MySQL レプリケーションにとって重要です!):

[root@server1 ~]# netstat -tap | grep mysql  
tcp        0      0 *:mysql                     *:*                     LISTEN      2439/mysqld  
[root@server1 ~]#

表示されない場合は、/etc/my.cnf を編集し、skip-networking オプションをコメントアウトします:

vi /etc/my.cnf

| [...] #skip-networking [...] |

その後、MySQL サーバーを再起動します:

/etc/init.d/mysqld restart

次のコマンドを実行して、root ユーザーのパスワードを設定します (そうしないと、誰でもあなたの MySQL データベースにアクセスできます!):

mysqladmin -u root password yourrootsqlpassword  
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

3 PowerDNS のインストール

PowerDNS をインストールするには、次のコマンドを実行します:

yum install pdns pdns-backend-mysql

PowerDNS の設定は /etc/pdns ディレクトリにあります - それについては後で説明します。

次に、MySQL に接続します:

mysql -u root -p

MySQL 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/pdns/pdns.conf

pdns.conf に次の行を追加します:

| [...] ################################# # launch Which backends to launch and order to query them in # # launch= launch=gmysql gmysql-host=127.0.0.1 gmysql-user=power_admin gmysql-password=power_admin_password gmysql-dbname=powerdns [...] |

次に、PowerDNS のシステム起動リンクを作成し、起動します:

chkconfig --levels 235 pdns on  
/etc/init.d/pdns start

これで、PowerDNS は使用できる状態になりました。詳細については、ドキュメントを参照してください: http://downloads.powerdns.com/documentation/html/index.html

4 Poweradmin のインストール

次に、PowerDNS 用のウェブベースのコントロールパネルである Poweradmin をインストールします。Poweradmin は PHP で書かれているため、ウェブサーバー (この例では Apache2 を使用しています) と PHP をインストールする必要があります:

yum install httpd php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mhash gettext

Apache2 のシステム起動リンクを作成し、起動します:

chkconfig --levels 235 httpd on  
/etc/init.d/httpd start

Poweradmin には次の 2 つの PEAR パッケージも必要です:

yum install php-pear-DB php-pear-MDB2-Driver-mysql

これで Poweradmin のすべての前提条件がインストールされ、Poweradmin のインストールを開始できます (私は /var/www/html のサブディレクトリにインストールします - /var/www/html は CentOS の Apache のデフォルトウェブサイトのドキュメントルートです; 異なるドキュメントルートを持つ vhost を作成した場合は、パスを調整してください)。

https://www.poweradmin.org/trac/wiki/GettingPoweradmin にアクセスして、最新の Poweradmin パッケージをダウンロードします。例えば、次のようにします:

cd /tmp  
wget https://www.poweradmin.org/download/poweradmin-2.1.2.tgz

次に、/var/www/html/poweradmin ディレクトリにインストールします:

tar xvfz poweradmin-2.1.2.tgz  
mv poweradmin-2.1.2 /var/www/html/poweradmin  
touch /var/www/html/poweradmin/inc/config.inc.php  
chown -R apache:apache /var/www/html/poweradmin/

ブラウザを開いて、ウェブベースの Poweradmin インストーラーを起動します (http://server1.example.com/poweradmin/install または http://192.168.0.100/poweradmin/install)。

言語を選択します (英語またはオランダ語):

次に、ステップ 3 に進むボタンをクリックします:

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

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

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。