インストールガイド · 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 yourrootsqlpassword3 PowerDNS のインストール
PowerDNS をインストールするには、次のコマンドを実行します:
yum install pdns pdns-backend-mysqlPowerDNS の設定は /etc/pdns ディレクトリにあります - それについては後で説明します。
次に、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/pdns/pdns.confpdns.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 gettextApache2 のシステム起動リンクを作成し、起動します:
chkconfig --levels 235 httpd on
/etc/init.d/httpd startPoweradmin には次の 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 の前提条件を参照してください)):

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