CentOS5.1へのMyDNSとMyDNSConfigコントロールパネルのインストール
このチュートリアルでは、CentOS5.1にMyDNSとMyDNSConfigをインストールして構成する方法について説明します。 MyDNSは、Bindやdjbdnsなどの構成ファイルの代わりにMySQLデータベースをバックエンドとして使用するDNSサーバーです。利点は、MyDNSがデータベースからレコードを読み取るだけであり、DNSレコードが変更されたとき、またはゾーンが作成/編集/削除されたときに、再起動/再ロードする必要がないことです。セカンダリネームサーバーは、同じデータベースにアクセスするMyDNSの2番目のインスタンスをインストールするか、より冗長にするために、MySQLマスター/スレーブレプリケーション機能を使用してデータをセカンダリネームサーバーにレプリケートすることで簡単にセットアップできます。
MyDNSConfigは、MyDNSへの使いやすいWebベースのインターフェイスです。 MyDNSConfigは、MyDNSで利用可能なすべてのタイプのDNSレコードを作成でき、ユーザー管理やアクセス権限などの機能を追加します。
これがあなたのために働くという保証はありません!
1予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。
2前提条件のインストール
このチュートリアルの過程でインストールするパッケージの一部は公式のCentOS5.1リポジトリでは利用できないため、最初にCentOSシステムでRPMforgeリポジトリを有効にします。
rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
MyDNSConfigは、PHPで記述されたMyDNSへのWebベースのインターフェースです。これには、PHPが有効になっているWebサーバーとMySQLデータベースサーバーが必要です。 Apache、PHP、およびMySQLがすでにインストールされている場合は、この手順をスキップできます。また、ここにphpMyAdminをインストールして、必要に応じてMySQLデータベースへのWebインターフェイスを利用できるようにします。
yum install httpd mysql-server php php-mysql php-mbstring phpmyadmin
MySQLを起動します:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
次に、MySQLルートアカウントのパスワードを設定します。
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
次に、phpMyAdminを設定します。 phpMyAdminがローカルホストからだけでなく接続を許可するようにApache構成を変更します(
vi /etc/httpd/conf.d/phpmyadmin.conf
# # Web application to manage MySQL # #<Directory "/usr/share/phpmyadmin"> # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 #</Directory> Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin Alias /mysqladmin /usr/share/phpmyadmin |
次に、phpMyAdminの認証をcookieからhttp:
に変更します。vi /usr/share/phpmyadmin/config.inc.php
[...] /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
次に、Apacheのシステム起動リンクを作成して起動します:
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
これで、ブラウザをhttp://server1.example.com/phpmyadmin/またはhttp://192.168.0.100/phpmyadmin/に誘導し、ユーザー名rootと新しいrootMySQLパスワードでログインできます。
3MyDNSConfigのインストール
MySQLにログインして、データベースを作成します。
mysql -u root -p
CREATE DATABASE mydns;
GRANT SELECT、INSERT、UPDATE、DELETEONmydns。*TO'mydns'@'localhost' IDENTIFIED BY'mydnspassword';
GRANT SELECT、INSERT、UPDATE、DELETEONmydns。* TO'mydns' @'localhost.localdomain' IDENTIFIED BY'mydnspassword';
FLUSH PRIVILEGES;
quit;
上記のコマンドのmydnspasswordという単語を任意のパスワードに置き換えます。
MyDNSConfigのダウンロード:
cd / tmp
wget http://mesh.dl.sourceforge.net/sourceforge/mydnsconfig/MyDNSConfig-1.1.0.tar.gz
tar xvfz MyDNSConfig-1.1.0.tar.gz
cd MyDNSConfig-1.1.0
MyDNSConfigをインストールします:
mkdir / usr / share / mydnsconfig
cp -rf interface / * / usr / share / mydnsconfig /
ln -s / usr / share / mydnsconfig / web / / var / www / html / mydnsconfig
MyDNSConfig MySQLデータベースをインストールします:
mysql -u root -p mydns < install/mydnsconfig.sql
上記のコマンドはパスワードを要求します。MySQLrootユーザーのパスワードを入力してください。
MyDNSConfig構成を編集します。正しいデータベース設定を入力してください:
vi /usr/share/mydnsconfig/lib/config.inc.php
<?php /* Copyright (c) 2005, Till Brehm, Falko Timme, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of ISPConfig nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ ini_set('register_globals',0); $conf["app_title"] = "MyDNSConfig"; $conf["app_version"] = "1.1.0"; $conf["rootpath"] = "/usr/share/mydnsconfig"; $conf["fs_div"] = "/"; // File system divider, \\ on windows and / on linux and unix $conf["classpath"] = $conf["rootpath"].$conf["fs_div"]."lib".$conf["fs_div"]."classes"; $conf["temppath"] = $conf["rootpath"].$conf["fs_div"]."temp"; /* Database Settings */ $conf["db_type"] = 'mysql'; $conf["db_host"] = 'localhost'; $conf["db_database"] = 'mydns'; $conf["db_user"] = 'mydns'; $conf["db_password"] = 'mydnspassword'; /* External programs */ $conf["programs"]["wput"] = $conf["rootpath"]."/tools/wput/wput"; /* Themes */ $conf["theme"] = 'grey'; $conf["html_content_encoding"] = 'text/html; charset=iso-8859-1'; $conf["logo"] = 'themes/default/images/mydnsconfig_logo.gif'; /* Default Language */ $conf["language"] = 'en'; /* Auto Load Modules */ $conf["start_db"] = true; $conf["start_session"] = true; /* DNS Settings */ $conf["auto_create_ptr"] = 1; // Automatically create PTR records? $conf["default_ns"] = 'ns1.example.com.'; // must be set if $conf['auto_create_ptr'] is 1. Don't forget the trailing dot! $conf["default_mbox"] = 'admin.example.com.'; // Admin email address. Must be set if $conf['auto_create_ptr'] is 1. Replace "@" with ".". Don't forget the trailing dot! $conf["default_ttl"] = 86400; $conf["default_refresh"] = 28800; $conf["default_retry"] = 7200; $conf["default_expire"] = 604800; $conf["default_minimum_ttl"] = 86400; ?> |
その後、MyDNSConfigインストーラーを/tmpディレクトリから削除します。
cd / tmp
rm -rf MyDNSConfig-1.1.0 /
rm -f MyDNSConfig-1.1.0.tar.gz
CentOS5.1へのMyDNSとMyDNSConfigコントロールパネルのインストール-2ページ
4MyDNSのインストール
次に、mydns-mysql rpmパッケージをhttp://mydns.bboy.net/download/からダウンロードし、次のようにインストールします。
wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm
MyDNS構成ファイル/etc/mydns.confを開き、正しいデータベースの詳細を入力し、allow-axfrをyesに設定してゾーン転送を許可し、TCPを有効にして(allow-tcp =yes)、再帰リゾルバーを指定します(つまり、有効なネームサーバー(例:ISPから、例:recursive =213.191.92.86)を使用して、MyDNSが権限のないドメインのクエリに応答できるようにします。
vi /etc/mydns.conf
## ## /etc/mydns.conf ## Wed Jan 18 17:18:48 2006 ## For more information, see mydns.conf(5). ## # DATABASE INFORMATION db-host = localhost # SQL server hostname db-user = mydns # SQL server username db-password = mydnspassword # SQL server password database = mydns # MyDNS database name # GENERAL OPTIONS user = nobody # Run with the permissions of this user group = nobody # Run with the permissions of this group listen = * # Listen on these addresses ('*' for all) no-listen = # Do not listen on these addresses # CACHE OPTIONS zone-cache-size = 1024 # Maximum number of elements stored in the zone cache zone-cache-expire = 60 # Number of seconds after which cached zones expires reply-cache-size = 1024 # Maximum number of elements stored in the reply cache reply-cache-expire = 30 # Number of seconds after which cached replies expire # ESOTERICA log = LOG_DAEMON # Facility to use for program output (LOG_*/stdout/stderr) pidfile = /var/run/mydns.pid # Path to PID file timeout = 120 # Number of seconds after which queries time out multicpu = 1 # Number of CPUs installed on your system recursive = 213.191.92.86 # Location of recursive resolver allow-axfr = yes # Should AXFR be enabled? allow-tcp = yes # Should TCP be enabled? allow-update = no # Should DNS UPDATE be enabled? ignore-minimum = no # Ignore minimum TTL for zone? soa-table = soa # Name of table containing SOA records rr-table = rr # Name of table containing RR data soa-where = # Extra WHERE clause for SOA queries rr-where = # Extra WHERE clause for RR queries |
次に、MyDNSのシステム起動リンクを作成し、MyDNSを起動します。
chkconfig --levels 235 mydns on
/etc/init.d/mydns start
最後に、MyDNSのシステム起動リンクを修正する必要があります。 MyDNSはMySQLに依存しているため、MyDNSはMySQLの起動後に起動する必要があります。そうしないと、失敗します。 MyDNSのデフォルトの起動リンクはMySQLの前に起動するため、これは間違っているため、次のように修正します。
cd /etc/rc.d/rc3.d
mv S52mydns S99mydns
cd /etc/rc.d/rc4.d
mv S52mydns S99mydns
cd / etc/rc。 d / rc5.d
mv S52mydns S99mydns
MySQLはスタートアップリンクS64mysqlを使用するため、MyDNSスタートアップリンクの名前をS52mydnsからS99mydnsに変更すると、MyDNSがMySQLの後に開始されるようになります。
これで、MyDNSとMyDNSConfigの基本的なインストールが完了しました。 MyDNSConfigインターフェイスにログインするには、Webブラウザを開き、次のURLを入力して入力します。
http://<your_ip_address>/mydnsconfig/
MyDNSConfigのデフォルトのユーザー名とパスワードは次のとおりです。
ユーザー名:admin
パスワード:admin
[システム]>[ユーザー]でログインした後、パスワードを変更することを忘れないでください。
5MyDNSConfigの使用
この章では、サンプルゾーンtest.comとAレコードwww.test.comを作成して、MyDNSConfigの使用方法を示します。
最初のログイン:
[新しいゾーンの追加]ボタンをクリックします:
[SOA]タブのフォームには、デフォルト値が事前にシードされています。 test.comに記入してください。 (最後のドットに注意してください!)[Origin]フィールドに入力し、必要に応じて他のフィールドに変更を加えます。 [ゾーン転送]フィールドは空のままにすることができます。これは、どのサーバーもMyDNSサーバーに接続してゾーン転送を開始できることを意味します。 IPアドレスを入力すると、そのシステムのみが接続できます:
[保存]をクリックすると、新しいゾーンが[ゾーン(SOA)]ページに一覧表示されます。 test.comをクリックします。ゾーンのプロパティに移動するためのリンク:
次に、[レコード]タブをクリックします。
次に、[新しいレコードの追加]ボタンをクリックして、レコード(A / MX / CNAME / ...)を作成します。
Aレコードwww.test.comを作成するには、[名前]フィールドにwwwを入力し、[タイプ]として[A]を選択し、[データ]フィールドにwww.test.comのIPアドレス(例:1.2.3.4)を入力して、TTL(すぐに)。 Aレコードの場合、[設定/優先度]フィールドは空のままにすることができます。 MXレコードに必要です:
[保存]をクリックすると、ゾーンtest.comのレコードのリストにwww.test.comが表示されます。
すでにそれだけです-再起動は必要ありません。 MyDNSがwww.test.comを解決できるかどうかをテストできるようになりました:
dig @localhost www.test.com
すべてがうまくいけば、出力は次のようになります。
[[email protected]〜]#dig @localhost www.test.com
; <<>> DiG 9.5.0a6 <<>> @localhost www.test.com
; (1台のサーバーが見つかりました)
;;グローバルオプション:printcmd
;;回答を得ました:
;; ->> HEADER <<-opcode:QUERY、status:NOERROR、id:55393
;;フラグ:qr aa rd ra;クエリ:1、回答:1、権限:0、追加:0
;;質問セクション:
;www.test.com。 IN A
;;回答セクション:
www.test.com。 86400 IN A 1.2.3.4
;;クエリ時間:24ミリ秒
;;サーバー:127.0.0.1#53(127.0.0.1)
;;日時:2007年12月3日23:47:14
;; MSGサイズrcvd:46
[[email protected]〜]#
6つのリンク
- MyDNS:http://mydns.bboy.net
- MyDNSConfig:http://www.mydnsconfig.org
- CentOS:http://www.centos.org