GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

MyDNSConfigコントロールパネルとUbuntu6.10のDNSMasqを使用したMyDNS

MyDNS with MyDNSConfig Control Panel and DNSMasq on Ubuntu 6.10

このチュートリアルでは、MyDNSとMyDNSConfigをインストールして構成する方法について説明します。 MyDNSは、Bindやdjbdnsなどの構成ファイルの代わりにMySQLデータベースをバックエンドとして使用するDNSサーバーです。利点は、MyDNSがデータベースからレコードを読み取るだけであり、DNSレコードが変更されたとき、またはゾーンが作成/編集/削除されたときに、再起動/再ロードする必要がないことです。セカンダリネームサーバーは、同じデータベースにアクセスするMyDNSの2番目のインスタンスをインストールするか、より冗長にするために、MySQLマスター/スレーブレプリケーション機能を使用してデータをセカンダリネームサーバーにレプリケートすることで簡単にセットアップできます。

MyDNSConfigは、MyDNSへの使いやすいWebベースのインターフェイスです。 MyDNSConfigは、MyDNSで使用可能なすべてのタイプのDNSレコードを作成でき、ユーザー管理やアクセス権限などの機能を追加します。

このセットアップはUbuntu6.10を使用しますが、DebainEtchでも機能するはずです。

前提条件のインストール

MyDNSConfigは、PHPで記述されたMyDNSへのWebベースのインターフェースです。これには、PHPが有効になっているWebサーバーとMySQLデータベースサーバーが必要です。 Apache、PHP、およびMySQLがすでにインストールされている場合は、この手順をスキップできます。

MySQLとApacheWebサーバーのインストール:

apt-get install libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl mysql-client mysql-client-5.0 mysql-server mysql-common apache2 phpmyadmin libapache2-mod-php5

MySQLルートパスワードを設定します:

mysqladmin -u root password yourrootsqlpassword 

yourrootsqlpasswordを任意のパスワードに置き換えます。

MyDNSConfigのインストール

UbuntuユニバースリポジトリのMyDNSパッケージを使用します。次の手順に進む前に、ユニバースリポジトリが/etc/apt/sources.listで有効になっていることを確認してください。

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 / mydnsconfig

MyDNSConfig SQLデータベースをインストールします:

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

MyDNSのインストール

次に、UbuntuからMyDNSパッケージをインストールします。 MyDNSに必要なすべてのテーブルを含むmydnsという名前のデータベースをすでに作成しているため、次の設定ではデータベースを作成しないことを選択できます。

apt-get install mydns-mysql

-> localhost
-> mydns
-> no
-> mydns
-> mydnspassword

MyDNSがTCPでもリッスンし、ゾーン転送を許可するようにMyDNS構成ファイルを変更します。

vi /etc/mydns.conf
allow-tcp = yes
allow-axfr = yes

これで、MyDNSとMyDNSConfigの基本的なインストールが完了しました。 MyDNSConfigインターフェイスにログインするには、Webブラウザを開き、次のURLを入力して入力します。

http://<your_ip_address>/mydnsconfig/

をサーバーのIPアドレスに置き換えます。

MyDNSConfigのデフォルトのユーザー名とパスワードは次のとおりです。

ユーザー名:admin
パスワード:admin

[システム]>[ユーザー]でログインした後、パスワードを変更することを忘れないでください。

DNSMasqのインストール

MyDNSには、MyDNSが対象としないDNSレコードを解決できるDNSリゾルバーが含まれていません。次のステップでは、DNSリゾルバーをインストールして構成し、DNSMasqをキャッシュしてローカルDNSリゾルバーとして機能し、DNSMasqを使用して外部ドメインを解決するようにMyDNSを構成します。サーバーで外部ドメインを解決したくない場合は、この部分をスキップできます。

IP 127.0.0.1でDNSリゾルバーを作成します:

apt-get install dnsmasq

これにより、dnsmasqUbuntuパッケージがインストールされます。次に、DNSMasqとMyDNSの構成ファイルを編集して、両方のパッケージがすべてのIPアドレスの同じポートでリッスンしないようにする必要があります。

vi /etc/dnsmasq.conf
listen-address=127.0.0.1
no-dhcp-interface=
bind-interfaces

次に、mydns.confファイルを編集して、MyDNSをしないに構成します。 127.0.0.1でリッスン:

vi /etc/mydns.conf
no-listen = 127.0.0.1
recursive = 127.0.0.1

次に、/etc/resolv.confを編集します:

vi /etc/resolv.conf

DNSMasq DNS-CacheがすべてのローカルDNSクエリにも使用されるように、最初の行として次の行を追加します。

nameserver 127.0.0.1

リンク
  • FalkoTimmeによるMyDNSConfig1.0チュートリアル
  • MyDNSホームページ
  • MyDNSConfigホームページ
  • DNSMasqホームページ

Panels
  1. NginxとPHP-FPMを使用してUbuntu14.04VPSにOpenCart2をインストールします

  2. UbuntuVPSにNginxとPHP-FPMを使用してOwnCloud7をインストールします

  3. UbuntuにNginx、MySQL、PHP-FPMを使用してProsper202をインストールします

  1. Vestaコントロールパネルの使用を開始する

  2. UbuntuにVarnishとNginxを使用してWordPressをインストールする

  3. UbuntuにMemcachedとNginxを使用してWordPressをインストールする

  1. NginxとMariaDBを使用してUbuntuにOctoberCMSをインストールします

  2. Ubuntu12.04にRedisとNginxを使用してNodeBBをインストールしてセットアップする

  3. Ubuntu14.04VPSにNGINXとPHP5-FPMを使用してgpEasyCMSをインストールします