DebianLennyへのMyDNS-NGとMyDNSConfig3のインストール
このチュートリアルでは、DebianLennyにMyDNS-NGとMyDNSConfig3をインストールして設定する方法について説明します。 MyDNS-NG(Don Moore -http://mydns.bboy.net/によって最初に作成されたMyDNSに基づく)は、Bindやdjbdnsなどの構成ファイルの代わりにMySQLデータベースをバックエンドとして使用するDNSサーバーです。利点は、MyDNSがデータベースからレコードを読み取るだけであり、DNSレコードが変更されたとき、またはゾーンが作成/編集/削除されたときに、再起動/再ロードする必要がないことです。セカンダリネームサーバーは、同じデータベースにアクセスするMyDNSの2番目のインスタンスをインストールするか、より冗長にするために、MySQLマスター/スレーブレプリケーション機能を使用してデータをセカンダリネームサーバーにレプリケートすることで簡単にセットアップできます。
MyDNSConfigは、MyDNS-NGへの使いやすいWebベースのインターフェイスです。 MyDNSConfigは、MyDNSで利用可能なすべてのタイプのDNSレコードを作成でき、ユーザー管理やアクセス権限などの機能を追加します。
これがあなたのために働くという保証はありません!
1予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。
2MySQLのインストール
MySQLは次のようにインストールできます:
aptitude install mysql-client mysql-server
次の質問があります:
MySQLの「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
MySQLの「root」ユーザーのパスワードを繰り返します:<-yourrootsqlpassword
3 Apache2、PHP、phpMyAdminのインストール
MyDNSConfigには、PHPをサポートするWebサーバーが必要です。したがって、Apache2をインストールします。また、phpMyAdminをインストールして、後でWebインターフェイスを介してデータベースにアクセスできるようにします(これはオプションですが):
aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick vlogger
次の質問が表示されます:
自動的に再構成するWebサーバー:<-apache2
次に、次のコマンドを実行して、Apacheモジュールのsuexec、rewrite、ssl、actions、およびincludeを有効にします。
a2enmod suexec rewrite ssl actions include
/etc/phpmyadmin/htpasswd.setupファイルを削除してphpMyAdminを保護します...
rm -f /etc/phpmyadmin/htpasswd.setup
...そして/etc/phpmyadmin/apache.confの次のセクションを削除またはコメントアウトします:
vi /etc/phpmyadmin/apache.conf
[...] # # Authorize for setup # <Files setup.php> # # For Apache 1.3 and 2.0 # <IfModule mod_auth.c> # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # </IfModule> # # For Apache 2.2 # <IfModule mod_authn_file.c> # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # </IfModule> # Require valid-user # </Files> [...] |
その後、Apacheを再起動します:
/etc/init.d/apache2 restart
これで、http://server1.example.com/phpmyadmin/またはhttp://192.168.0.100/phpmyadmin/からphpMyAdminにアクセスできます。
4MyDNSのインストール
MyDNSをインストールする前に、いくつかの前提条件をインストールする必要があります。
aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
MyDNSはDebianLennyリポジトリでは利用できないため、次のように自分で構築する必要があります。
cd / tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz
tar xvfz mydns-1.2.8.27.tar.gz
cd mydns-1.2.8
./configure
make
make install
次に、MyDNSの開始/停止スクリプトを作成します。
vi /etc/init.d/mydns
#! /bin/sh # # mydns Start the MyDNS server # # Author: Philipp Kern <[email protected]>. # Based upon skeleton 1.9.4 by Miquel van Smoorenburg # <[email protected]> and Ian Murdock <[email protected]>. # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/mydns NAME=mydns DESC="DNS server" SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 case "$1" in start) echo -n "Starting $DESC: $NAME" start-stop-daemon --start --quiet \ --exec $DAEMON -- -b echo "." ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --oknodo --quiet \ --exec $DAEMON echo "." ;; reload|force-reload) echo -n "Reloading $DESC configuration..." start-stop-daemon --stop --signal HUP --quiet \ --exec $DAEMON echo "done." ;; restart) echo -n "Restarting $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo \ --exec $DAEMON sleep 1 start-stop-daemon --start --quiet \ --exec $DAEMON -- -b echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 |
次に、スクリプトを実行可能にし、そのスクリプトのシステム起動リンクを作成します。
chmod + x /etc/init.d/mydns
update-rc.dmydnsのデフォルト
DebianLennyへのMyDNS-NGとMyDNSConfig3のインストール-2ページ
5MyDNSConfig3のインストール
MyDNSConfig3は次のようにインストールできます。
cd / tmp
wget http://downloads.sourceforge.net/mydnsconfig/MyDNSConfig-3.0.1.tar.gz?use_mirror=
tar xvfz MyDNSConfig-3.0.1.tar.gz
cd mydnsconfig / install /
php -q install.php
これにより、MyDNSConfig3インストーラーが起動します。
server1:/ tmp / mydnsconfig / install#php -q install.php
----------------------- -------------------------------------------------- -------
__ __ _____ _ _ _____ _____ __ _
| \ / | | __ \ | \ | | / ____ | / ____ | / _(_)
| \ / | _ _ | | | | \ | | (___ | | ___ _ __ | | _ _ __ _
| | \ / | | | | ||||。`|\ ___ \ | | / _ \ |'_ \ | _ | `|
| | | | | _ | | | __ | | | \ | ____)| | ___ | (_)| | | | | | | (_ | |
| _ | | _ | \ __、| _____ / | _ | \ _ | _____ / \ _____ \ ___ / | _ | | _ | _ | | _ | \ __、|
__ / | __ / |
---- ---- | ___ / -------------------------------------------------- -
>>初期構成
オペレーティングシステム:Debian Lenny/Sidまたは互換性
以下のいくつかの質問がありますプライマリ設定は慎重に行ってください。
デフォルト値は[括弧]内にあり、
「quit」(引用符なし)をタップして、インストーラを停止します。
言語を選択(en、de)[en]:<-ENTER
インストールモード(標準、エキスパート)[標準]:<-ENTER
サーバーの完全修飾ホスト名(FQDN)、例:server1.domain.tld [server1.example.com]:<-ENTER
MySQLサーバーのホスト名[localhost]:<-ENTER
MySQL root username [root]:<-ENTER
MySQL roo t password []:<-yourrootsqlpassword
MySQLデータベースを作成して[dbmydnsconfig]:<-ENTER
MySQL charset [utf8]:<-ENTER
MyDNSの構成
Apacheの構成
ファイアウォールの構成
MyDNSConfigのインストール
MyDNSConfigポート[8080]:<-ENTER
Crontabのインストール
rootのcrontabがありません
サービスを再開しています...
ウェブサーバーを再開しています:apache2...待機中です。
インストールが完了しました。
server1:/ tmp / mydnsconfig / install#
インストーラーは基礎となるすべてのサービスを自動的に構成するため、手動で構成する必要はありません。
その後、http://server1.example.com:8080/またはhttp://192.168.0.100:8080/からMyDNSConfig3にアクセスできます。ユーザー名adminとパスワードadminでログインします(最初のログイン後にデフォルトのパスワードを変更する必要があります):
6MyDNSConfig3の使用
[DNS]タブは、ゾーンとレコードを作成できる場所であるため、MyDNSConfigの最も重要な部分です。そこで、そのタブに焦点を当てます。
新しいゾーンを作成するには、[新しいDNSゾーン(SOA)の追加]ボタンをクリックします。
これで、ゾーンの詳細を入力できます。ドメイン名、プライマリネームサーバー、およびゾーン管理者の電子メールアドレス(@記号をドットに置き換える必要があることに注意してください)。これらの3つの詳細は、ドットで終わる必要があります。その他の詳細はそのままにしておくことができます。これで、ゾーンを保存するか、[レコード]タブに直接移動できます(これにより、ゾーンの詳細が自動的に保存されます):
[レコード]タブで、すべての種類のDNSレコード(A、CNAME、MX、NS、TXTなど)を作成できるようになりました。適切なボタンをクリックするだけです。
たとえば、NSレコードを作成するためのフォームは次のとおりです(完全なホスト名を書き込む場合は、ドットで終わる必要があることに注意してください!):
概要は次のとおりです。ご覧のとおり、さらにいくつかのレコードを作成しました。
7MyDNSConfig3の更新
新しいMyDNSConfig3リリースがあるときはいつでも、次のようにMyDNSConfig3インストールを更新できます。
mydnsconfig_update.sh
これにより、更新ウィザードが表示されます。注意:最新の安定バージョンとsvnバージョンにアップグレードできます。 svnバージョンは開発に使用され、バグが含まれている可能性があるため、最新の安定バージョンにアップグレードすることを強くお勧めします。警告されました!!!
8MyDNSConfig1.xからMyDNSConfig3.xへのアップグレード
MyDNSConfig1.xからMyDNSConfig3.xへの直接のアップグレードパスはありませんが、MyDNSConfig1.xからMyDNSConfig3.xにDNSレコードをインポートするのは簡単です。
この章では、古いMyDNSConfig 1.xがデータベーステーブルmydnsを使用し、新しいMyDNSConfig3インストールがデータベースdbmydnsconfigを使用することを前提としています。
まず、次のようにMyDNSConfig3をインストールします。
cd / tmp
wget http://downloads.sourceforge.net/mydnsconfig/MyDNSConfig-3.0.1.tar.gz?use_mirror=
tar xvfz MyDNSConfig-3.0.1.tar.gz
cd mydnsconfig / install /
php -q install.php
インストールウィザードに従います。インストールが完了したら(そしてMyDNSConfig 3 Webインターフェイスでレコードを作成する前に!!!)、phpMyAdminまたはMySQLシェルを開き、次のMySQLクエリを(MySQLルートユーザーとして)実行して、古いDNSレコードからDNSレコードをインポートします。 MyDNSConfig1.xのMyDNSConfig3へのインストール(正しいデータベース名を使用していることを確認してください。データベース名が異なる場合は、 `mydns`と`dbmydnsconfig`を置き換える必要があります!):
ALTER TABLE `mydns`.`rr` ADD` server_id` int(11)NOT NULL default '1'、
ADD `active` enum('N'、'Y')NOT NULL default'Y'、
ADD`stamp`タイムスタンプNOTNULLデフォルトCURRENT_TIMESTAMP、
ADD` serial` int(10)unsigned default NULL;
ALTER TABLE `mydns`.`rr` MODIFY` sys_userid` int(11)unsigned NOT NULL AFTER `id`、
MODIFY` sys_groupid` int(11)unsigned NOT NULL AFTER `sys_userid`、
MODIFY `sys_perm_user` varchar(5)NOT NULL AFTER` sys_groupid`、
MODIFY `sys_perm_group` varchar(5)NOT NULL AFTER` sys_perm_user`、
MODIFY `sys_perm_other` varchar(5)NOT NULL AFTER` sys_perm_group `、
MODIFY` server_id` int(11)NOT NULL default '1' AFTER `sys_perm_other`;
INSERT INTO `dbmydnsconfig`.`dns_rr`
SELECT *
FROM` mydns`.`rr`;
UPDATE `dbmydnsconfig`.`dns_rr` SET` sys_userid` =1、
`sys_groupid` =0、
` sys_perm_user` ='riud'、
`sys_perm_group` ='riud'、
`sys_perm_other` =''、
` server_id` =1;
ALTER TABLE `mydns`.`soa` ADD `server_id` int(11) NOT NULL default '1';
ALTER TABLE `mydns`.`soa` MODIFY` sys_userid` int(11)unsigned NOT NULL AFTER `id`、
MODIFY` sys_groupid` int(11)unsigned NOT NULL AFTER `sys_userid`、
MODIFY `sys_perm_user` varchar(5)NOT NULL AFTER` sys_groupid`、
MODIFY `sys_perm_group` varchar(5)NOT NULL AFTER` sys_perm_user`、
MODIFY `sys_perm_other` varchar(5)NOT NULL AFTER` sys_perm_group `、
MODIFY` server_id` int(11)NOT NULL default '1' AFTER `sys_perm_other`;
INSERT INTO `dbmydnsconfig`.`dns_soa`
SELECT *
FROM` mydns`.`soa`;
UPDATE `dbmydnsconfig`.`dns_soa` SET` sys_userid` =1、
`sys_groupid` =0、
` sys_perm_user` ='riud'、
`sys_perm_group` ='riud'、
`sys_perm_other` =''、
` server_id` =1;
その後、ポート8080(http://server1.example.com:8080またはhttp://192.168.0.100:8080など)でMyDNSConfig3にアクセスできます。デフォルトのログインは、ユーザー名adminとパスワードadminです。
これらのMySQLクエリでは、すべてのゾーンが管理者によって所有されていることに注意してください。他のユーザーが所有する必要のあるゾーンがある場合は、MyDNSConfig 3でユーザーごとにクライアントを作成し、[DNS]タブに移動して、ゾーンに適切なクライアントを選択します。
9つのリンク
- MyDNS-NG:http://www.mydns.pl/
- MyDNSConfig:http://www.mydnsconfig.org/
- Debian:http://www.debian.org/