GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Menginstal MyDNS Dan Panel Kontrol MyDNSConfig Pada CentOS 5.1

Menginstal MyDNS Dan Panel Kontrol MyDNSConfig Pada CentOS 5.1

Dalam tutorial ini saya akan menjelaskan cara menginstal dan mengkonfigurasi MyDNS dan MyDNSConfig di CentOS 5.1. MyDNS adalah server DNS yang menggunakan database MySQL sebagai backend alih-alih file konfigurasi seperti, misalnya, Bind atau djbdns. Keuntungannya adalah MyDNS hanya membaca catatan dari database, dan tidak harus dimulai ulang/dimuat ulang ketika catatan DNS berubah atau zona dibuat/diedit/dihapus. Server nama sekunder dapat dengan mudah diatur dengan menginstal MyDNS kedua yang mengakses database yang sama atau, agar lebih berlebihan, menggunakan fitur replikasi master / slave MySQL untuk mereplikasi data ke server nama sekunder.

MyDNSConfig adalah antarmuka berbasis web yang mudah digunakan untuk MyDNS. MyDNSConfig dapat membuat semua jenis data DNS yang tersedia di MyDNS dan menambahkan fitur seperti manajemen pengguna dan hak akses.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Catatan Awal

Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.0.100. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.

2 Memasang Prasyarat

Pertama kita aktifkan repositori RPMforge pada sistem CentOS karena beberapa paket yang akan kita instal selama tutorial ini tidak tersedia di repositori resmi CentOS 5.1:

rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

MyDNSConfig adalah antarmuka berbasis web untuk MyDNS yang ditulis dalam PHP. Ini membutuhkan server web dengan PHP diaktifkan dan server database MySQL. Jika Anda sudah menginstal Apache, PHP dan MySQL, Anda dapat melewati langkah ini. Kami juga menginstal phpMyAdmin di sini sehingga Anda memiliki antarmuka web ke database MySQL jika Anda membutuhkannya:

yum install httpd mysql-server php php-mysql php-mbstring phpmyadmin

Mulai MySQL:

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

Kemudian atur kata sandi untuk akun root MySQL:

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

Sekarang kita mengkonfigurasi phpMyAdmin. Kami mengubah konfigurasi Apache sehingga phpMyAdmin mengizinkan koneksi tidak hanya dari localhost (dengan mengomentari bait ):

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

Selanjutnya kita ubah otentikasi di phpMyAdmin dari cookie menjadi http:

vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Kemudian kami membuat tautan startup sistem untuk Apache dan memulainya:

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

Sekarang Anda dapat mengarahkan browser Anda ke http://server1.example.com/phpmyadmin/ atau http://192.168.0.100/phpmyadmin/ dan masuk dengan nama pengguna root dan kata sandi MySQL root Anda yang baru.

3 Menginstal MyDNSConfig

Masuk ke MySQL dan buat databasenya:

mysql -u root -p

BUAT DATABASE mydns;
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* ATAS 'mydns'@'localhost' DIIDENTIFIKASI DENGAN 'mydnspassword';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* UNTUK 'mydns'@'localhost.localdomain' DIIDENTIFIKASI DENGAN 'mydnspassword';
HAK ISTIMEWA FLUSH;
keluar;

Ganti kata mydnspassword pada perintah di atas dengan kata sandi pilihan Anda.

Unduh 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

Instal MyDNSConfig:

mkdir /usr/share/mydnsconfig
cp -rf interface/* /usr/share/mydnsconfig/
ln -s /usr/share/mydnsconfig/web/ /var/www/html/mydnsconfig

Instal Database MySQL MyDNSConfig:

mysql -u root -p mydns < install/mydnsconfig.sql

Perintah di atas meminta kata sandi, silakan masukkan kata sandi pengguna root MySQL.

Edit konfigurasi MyDNSConfig; pastikan Anda mengisi pengaturan database yang benar:

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;
?>

Setelah itu, hapus penginstal MyDNSConfig dari direktori /tmp:

cd /tmp
rm -rf MyDNSConfig-1.1.0/
rm -f MyDNSConfig-1.1.0.tar.gz

Menginstal MyDNS Dan Panel Kontrol MyDNSConfig Pada CentOS 5.1 - Halaman 2

4 Memasang MyDNS

Selanjutnya kita download paket rpm mydns-mysql dari http://mydns.bboy.net/download/ dan install sebagai berikut :

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

Buka file konfigurasi MyDNS /etc/mydns.conf, isi detail database yang benar, izinkan transfer zona dengan menyetel allow-axfr ke yes, aktifkan TCP (allow-tcp =yes), dan tentukan resolver rekursif (mis. nameserver, misalnya dari ISP Anda; misalnya rekursif =213.191.92.86) sehingga MyDNS dapat menjawab kueri untuk domain yang tidak berwenang untuk:

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

Selanjutnya, buat tautan startup sistem untuk MyDNS dan mulai MyDNS:

chkconfig --levels 235 mydns aktif
/etc/init.d/mydns mulai

Terakhir, kita perlu memperbaiki tautan startup sistem untuk MyDNS. MyDNS bergantung pada MySQL, jadi MyDNS harus dimulai setelah MySQL dimulai, jika tidak maka akan gagal. Tautan startup default untuk MyDNS membuatnya mulai sebelum MySQL yang salah, jadi kami memperbaikinya sebagai berikut:

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 menggunakan link startup S64mysql, jadi mengganti nama link startup MyDNS dari S52mydns ke S99mydns memastikan bahwa MyDNS dimulai setelah MySQL.

Instalasi dasar MyDNS dan MyDNSConfig sekarang telah selesai. Untuk masuk ke antarmuka MyDNSConfig, buka browser web dan masukkan URL berikut:

http://<your_ip_address>/mydnsconfig/

Ganti dengan alamat IP server Anda.

Nama pengguna dan sandi default MyDNSConfig adalah:

Nama pengguna:admin
Kata sandi:admin

Jangan lupa untuk mengubah kata sandi setelah masuk di bawah Sistem> Pengguna.

5 Menggunakan MyDNSConfig

Dalam bab ini saya akan mendemonstrasikan cara menggunakan MyDNSConfig dengan membuat contoh zona test.com dan catatan A www.test.com.

Masuk pertama:

Klik tombol Tambahkan Zona Baru:

Formulir pada tab SOA sudah dipraseed dengan nilai default. Isi test.com. (harap perhatikan titik terakhir!) di bidang Asal dan buat perubahan pada bidang lain, jika perlu. Bidang Transfer Zona dapat dibiarkan kosong yang berarti bahwa server mana pun dapat terhubung ke server MyDNS kami untuk memulai transfer zona; jika Anda mengisi alamat IP, hanya sistem itu yang dapat terhubung:

Setelah Anda mengklik Simpan, Anda akan menemukan zona baru Anda terdaftar di halaman Zona (SOA). Klik di test.com. tautan untuk membuka properti zona:

Selanjutnya, klik pada tab Catatan:

Kemudian klik tombol Add New Record untuk membuat record (A/MX/CNAME/...):

Untuk membuat catatan A www.test.com, isi www di bidang Nama, pilih A sebagai Jenis, ketik alamat IP www.test.com di bidang Data (mis. 1.2.3.4), dan tentukan TTL ( dalam hitungan detik). Bidang Preferensi/Prioritas dapat dibiarkan kosong untuk catatan A; itu diperlukan untuk data MX:

Setelah Anda mengklik Simpan, Anda akan menemukan www.test.com dalam daftar catatan untuk zona test.com:

Itu saja - tidak diperlukan restart. Anda sekarang dapat menguji apakah MyDNS dapat menyelesaikan www.test.com:

dig @localhost www.test.com

Jika semuanya berjalan dengan baik, hasilnya akan terlihat seperti ini:

[[email protected] ~]# gali @localhost www.test.com

; <<>> DiG 9.5.0a6 <<>> @localhost www.test.com
; (1 server ditemukan)
;; opsi global:  printcmd
;; Mendapat jawaban:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55393
;; bendera: qr aa rd ra; PERTANYAAN: 1, JAWABAN: 1, OTORITAS: 0, TAMBAHAN: 0

;; BAGIAN PERTANYAAN:
;www.test.com. DI      A

;; BAGIAN JAWABAN:
www.test.com. 86400   IN      A       1.2.3.4

;; Waktu kueri: 24 mdtk
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; KAPAN: Sen Des  3 23:47:14 2007
;; MSG SIZE  rcvd: 46

[[email protected] ~]#

  • MyDNS:http://mydns.bboy.net
  • MyDNSConfig:http://www.mydnsconfig.org
  • CentOS:http://www.centos.org

Panels
  1. Menginstal PostgreSQL Dan phpPgAdmin Di CentOS

  2. Cara Menghapus Database MSSQL atau MySQL di Panel Kontrol Plesk

  3. MyDNS dengan Panel Kontrol MyDNSConfig dan DNSMasq di Ubuntu 6.10

  1. Bagaimana cara mengakses Panel Kontrol?

  2. Bagaimana cara mengirim ulang informasi login melalui Control Panel?

  3. Bagaimana cara menggunakan Panel Kontrol sebagai Pengecer?

  1. Cara Masuk ke Panel Kontrol Conetix

  2. Bagaimana cara memperbarui informasi kontak melalui Panel Kontrol?

  3. Bagaimana cara menyesuaikan tampilan Panel Kontrol untuk pelanggan saya?