1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Cài đặt PowerDNS (với MySQL Backend) và Poweradmin trên Debian Squeeze ppt

20 398 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cài đặt PowerDNS (với MySQL Backend) và Poweradmin trên Debian Squeeze
Trường học Debian
Chuyên ngành PowerDNS Installation
Thể loại Hướng dẫn
Định dạng
Số trang 20
Dung lượng 0,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cài đặt PowerDNS với MySQL Backend và Poweradmin trên Debian Squeeze PowerDNS là một máy chủ DNS, được viết bằng ngôn ngữ C++ và cấp phép theo giấy phép của GPL.. Bài viết sau đây chúng

Trang 1

Cài đặt PowerDNS (với MySQL Backend)

và Poweradmin trên Debian Squeeze

PowerDNS là một máy chủ DNS, được viết bằng ngôn ngữ C++ và cấp phép theo giấy phép của GPL Nó chạy trên hầu hết các hệ điều hành bắt nguồn từ Unix và Microsoft Windows PowerDNS có một số lượng lớn các tính năng của

các phần phụ trợ khác nhau, từ BIND tới cơ sở dữ liệu quan hệ và thuật toán cân bằng tải/tự động chuyển đổi dự phòng Bài viết sau đây chúng tôi sẽ hướng dẫn các bạn cài đặt nameserver PowerDNS (với phụ trợ của MySQL) và Poweradmin – bảng điều khiển cho PowerDNS trên một hệ thống Debian Squeeze

1 Một số lưu ý

Trong ví dụ minh họa này chúng tôi sử dụng một máy chủ Debian Squeeze

(master) với hostname là server1.example.com và địa chỉ IP 192.168.0.100

Hướng dẫn này sẽ thiết lập một máy chủ PowerDNS; có thể dễ dàng thêm

PowerDNS slave(s) bằng cách sử dụng sao chép cơ sở dữ liệu MySQL từ master tới slave(s)

2 Cài đặt MySQL

Để tiến hành cài đặt MySQL, sử dụng câu lệnh sau:

apt-get install mysql-server mysql-client

Bạn sẽ được yêu cầu cung cấp một mật khẩu cho user root của MySQL – mật khẩu

này có giá trị cho user root@localhost cũng như root@server1.example.com, vì

vậy chúng ta không cần chỉ định một password root MySQL thủ công sau này: New password for the MySQL "root" user: <

yourrootsqlpassword

Trang 2

Repeat password for the MySQL "root" user: <

yourrootsqlpassword

Với mục đích muốn MySQL lắng nghe trên toàn bộ giao diện (điều này rất quan trọng để nhân rộng MySQL database) chứ không chỉ riêng localhost, do đó chúng

ta chỉnh sửa tập tin /etc/mysql/my.cnf và chú thích cho dòng bind-address =

127.0.0.1:

vi /etc/mysql/my.cnf

[ ]

#bind-address = 127.0.0.1

[ ]

Sau đó khởi động lại MySQL:

/etc/init.d/mysql restart

Kiểm tra kết nối mạng có được kích hoạt bằng lệnh:

netstat -tap | grep mysql

Kết quả sẽ trông giống như sau:

server1:~# netstat -tap | grep mysql

tcp 0 0 *:mysql *:* LISTEN 2453/mysqld

server1:~#

3 Cài đặt PowerDNS

Để cài đặt PowerDNS chúng ta chạy:

apt-get install pdns-server pdns-backend-mysql

Cấu hình PowerDNS nằm tại thư mục /etc/powerdns – chúng ta sẽ vào trong đó ở

phần sau

Bây giờ kết nối tới MySQL:

mysql -u root –p

Trang 3

Nhập vào mật khẩu root MySQL của bạn và trên MySQL shell chúng ta tạo một

cơ sở dữ liệu cho PowerDNS:

CREATE DATABASE powerdns;

Tiếp theo tạo một cơ sở dữ liệu người dùng (powerdns) cho 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;

(Thay thế power_admin_password bằng mật khẩu của bạn)

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,

Trang 4

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

);

Cuối cùng là rời khỏi MySQL shell:

quit;

Bây giờ chúng ta cấu hình PowerDNS để nó sử dụng MySQL backend:

vi /etc/powerdns/pdns.conf

Thêm vào dòng launch=gmysql cho tập tin pdns.conf:

[ ]

#################################

# launch Which backends to launch and order to query them in

#

# launch=

Trang 5

launch=gmysql

[ ]

Sau đó mở /etc/powerdns/pdns.d/pdns.local và làm cho nó giống như dưới đây:

vi /etc/powerdns/pdns.d/pdns.local

# Here come the local changes the user made, like

configuration of

# the several backends that exist

gmysql-host=127.0.0.1

gmysql-user=power_admin

gmysql-password=power_admin_password

gmysql-dbname=powerdns

Và khởi động lại pdns:

/etc/init.d/pdns restart

Như vậy PowerDNS đã sẵn sàng để được sử dụng Để tìm hiểu thêm về nó bạn đọc có thể tham khảo thêm tài liệu tại đây

4 Cài đặt Poweradmin

Tiếp theo chúng ta tiến hành cài đặt Poweradmin, một bảng điều khiển dựa trên web cho PowerDNS Poweradmin được viết trong PHP, do đó cần cài đặt một web

server (ở đây chúng tôi đang chạy Apache2) và PHP:

apt-get install apache2 libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-ming php5-mysql php5-xmlrpc gettext php-db php-mdb2 php-mdb2-driver-mysql

Trang 6

Sau đó restart lại Apache:

/etc/init.d/apache2 restart

Bây giờ các điều kiện đầu tiên để cài đặt Poweradmin đã hoàn thành, lúc này bạn

có thể bắt đầu cài Poweradmin Chúng tôi sẽ cài đặt nó trong thư mục con của

/var/www - /var/www, là một document root cho các website mặc định của Apache

trên Debian Nếu bạn tạo một vhost với document root khác, hãy điều chỉnh lại đường dẫn cho phù hợp

Kích vào liên kết này để tải về gói Poweradmin mới nhất, ví dụ như:

cd /tmp

wget https://www.poweradmin.org/download/poweradmin-2.1.5.tgz

Sau đó cài đặt nó vào thư mục /var/www/poweradmin:

tar xvfz poweradmin-2.1.5.tgz

mv poweradmin-2.1.5 /var/www/poweradmin

touch /var/www/poweradmin/inc/config.inc.php

chown -R www-data:www-data /var/www/poweradmin/

Bây giờ mở trình duyệt và khởi động trình cài đặt Poweradmin dựa trên web

(http://server1.example.com/poweradmin/install/index.php hoặc

http://192.168.0.100/poweradmin/install/index.php)

Chọn ngôn ngữ (English hoặc Dutch):

Trang 7

Tiếp theo kích Go to step 3 để tiến hành:

Trang 8

Bây giờ điền thông tin chi tiết cho cơ sở dữ liệu của bạn Điều quan trọng là bạn

điền đầy đủ các chi tiết cho user root MySQL, không phải powerdns MySQL user

chúng ta đã tạo trước đó Ngoài ra cần cung cấp một mật khẩu cho user admin cho

giao diện web Poweradmin Mật khẩu này sẽ được các user admin sử dụng để

đăng nhập vào Poweradmin sau này

Trên trang tiếp theo, điền vào các chi tiết cho user MySQL power_admin mà

chúng ta khởi tạo trong phần 3 của bài viết Cũng cần điền vào hai nameservers

mặc định sẽ được sử dụng trong khu vực của bạn trừ khi đã cung cấp nameservers khác khi tạo một zone (thông thường đây là những tên của hệ thống hiện tại và máy chủ slave mà bạn có thể thiết lập khi nhân rộng MySQL)

Trang 9

Màn hình tiếp the yêu cầu bạn thực thi một truy vấn MySQL Chúng ta không cần

làm điều này bởi đã thực hiện việc tương tự ở phần 3 (hai câu lệnh GRANT) Chỉ cần kích Go to step 6:

Trang 10

Kích tiếp nút Go to step 7:

Trang 11

Quá trình cài đặt đã được hoàn thành…

… nhưng vì lý do an ninh chúng ta cần xóa thư mục install:

rm -fr /var/www/poweradmin/install/

Bây giờ bạn có thể vào trang http://server1.example.com/poweradmin hoặc

http://192.168.0.100/poweradmin để đăng nhập với username admin và password

mà bạn đã tạo trong quá trình cài đặt:

Trang 12

Giao diện web của Poweradmin trông như sau:

Trang 13

Để tạo một zone, kích vào Add master zone và điền vào tên miền (ví dụ

example.com):

Trên trang List zones bạn sẽ nhìn thấy vùng zone mới chỉ có một bản ghi (bản ghi SOA) Kích vào biểu tượng edit…

Trang 14

… và sau đó kích Add record để thêm các bản ghi:

Trang 15

Ví dụ bản ghi NS:

Và bản ghi A (ví dụ example.com), trường Name để trống và mail.example.com:

Trang 16

MX records:

Trang 17

Để tạo PTR records, vào trang Add master zone và tạo một zone có tên

in-addr.arpa:

Trang 18

Để tạo một PTR record trỏ từ IP 1.2.3.4 tới server1.example.com, tạo một bản ghi

theo List zones và điền 4.3.2.1 trong trường Name (ở đó địa chỉ IP có thứ tự

ngược) và server1.example.com trong trường Content

Trang 19

Sau khi tạo xong các record cho mình, có thể kiểm tra chúng bằng lệnh dig: Man dig

Để xem chi tiết:

dig @localhost mx example.com

root@server1:~# dig @localhost mx example.com

; <<>> DiG 9.7.2-P3 <<>> @localhost mx example.com

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:

28599

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; WARNING: recursion requested but not available

Trang 20

;; QUESTION SECTION:

;example.com IN MX

;; ANSWER SECTION:

example.com 86400 IN MX 10 mail.example.com

;; ADDITIONAL SECTION:

mail.example.com 86400 IN A 1.2.3.4

;; Query time: 7 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Tue Jul 12 16:27:03 2011

;; MSG SIZE rcvd: 66

root@server1:~#

Ngày đăng: 19/02/2014, 18:20

HÌNH ẢNH LIÊN QUAN

Màn hình tiếp the yêu cầu bạn thực thi một truy vấn MySQL. Chúng ta không cần làm điều này bởi đã thực hiện việc tương tự ở phần 3 (hai câu lệnh GRANT) - Tài liệu Cài đặt PowerDNS (với MySQL Backend) và Poweradmin trên Debian Squeeze ppt
n hình tiếp the yêu cầu bạn thực thi một truy vấn MySQL. Chúng ta không cần làm điều này bởi đã thực hiện việc tương tự ở phần 3 (hai câu lệnh GRANT) (Trang 9)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w