페이지 트리

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 2 다음 »

이 문서는 powerdns / MySQL / web으로 DNS를 구성하는 방법을 제공합니다. Web으로 domain name 관리할 수 있어서 관리자의 수고가 줄어듭니다.

Overview

PDNS는 PowerDNS BV사에서 만든 네임서버 입니다. 도메인 관리를 database를 통해 도메인 관리를 하기 때문에 대량의 domain 운영이 가능하고 캐쉬 잘못에 의한 오류 가능성이 없습니다.

MySQL 설치 (PostgreSQL 도 지원)

powerdns는 MySQL과 PostgreSQL 그리고 SQLite를 지원합니다. 이 문서는 MySQL database을 고려합니다.

PDNS 설치 전 MySQL을 설치합니다.

Database 구성 (MySQL)

  • powerdns database 생성
  • powerdns database  사용자 생성
  • powerdns database  사용자에게 powerdns database 엑세스 권한 부여
$ mysql -uroot -p
mysql > create database powerdns;
mysql > GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' IDENTIFIED BY 'password';
mysql > FLUSH PRIVILEGES;

PDNS 설치

 

# yum -y install pdns pdns-backend-mysql
  • Database table 생성이 안되었다면 "/usr/share/doc/pdns-backend-mysql/README.Debian"을 참조하여 수동으로 table 생성

PDNS DB 구성

pdns backend (MySQL) 연결 설정

/etc/powerdns/pdns.d/pdns.local.gmysql.conf
# MySQL Configuration file

launch=gmysql

gmysql-host=localhost
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=password

PDNS 서비스 재시작

pdns 서비스가 자동 시작되도록 등록하고 서비스 재시작

CentOS 6 의 경우
$ chkconfig pdns on
$ service pdns start

PDNS 서비스 검증

dig 명령 수행 결과가 다음 예와 유사한지 확인

root@ns1:~# dig @127.0.0.1

; <<>> DiG 9.9.5-3-Ubuntu <<>> @127.0.0.1
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27248
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 2800
;; QUESTION SECTION:
;.              IN  NS

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Nov 02 18:58:20 EST 2014
;; MSG SIZE  rcvd: 29

웹 서버 설치

PowerAdmin은 web 서버를 포함하지 않고 PHP로 제작된 웹 기능을 제공하기 때문에 웹서버 (Nginx, Apache, ...)를 설치해야 한다. 이 문서는 Apache를 웹 서버로 기준으로 설명한다.

$ yum -y install httpd httpd-devel php php-mcrypt php-pdo php-mysql php-devel php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring gettext wget

httpd 서비스 재시작

Apache 서비스가 자동시작되도록 등록하고 재시작 한다.

CentOS 6 예
$ service httpd restart
$ chkconfig httpd on

Pear 패키지 설치

$ yum -y install php-pear-MDB2 php-pear-MDB2-Driver-mysql

PowerAdmin (Web 인터페이스) 설치

powerdns의 웹  인터페이스를 제공하는 PowerAdmin을 설치한다.

다운로드 및 압축 풀기

$ cd /tmp/
$ wget https://github.com/downloads/poweradmin/poweradmin/poweradmin-2.1.6.tgz
$ tar xvfz poweradmin-2.1.6.tgz
$ mv /var/www/html /var/www/html.bak
$ mv poweradmin-2.1.6 /var/www/html
$ cd poweradmin/inc/
$ mv config-me.inc.php config.inc.php
$ chown -R www-data.www-data /var/www/html

 Database 접속 정보 설정

/var/www/html/inc/config.inc.php
Modify db_pass and session_key to your own values :

$db_host                = 'localhost';
$db_port                = '3306';
$db_user                = 'powerdns';
$db_pass                = 'password';
$db_name                = 'powerdns';
$db_type                = 'mysql';
$session_key            = 'Passw0rd';

  • 설정 적용을 위해 httpd 서비스 재기동

CentOS 6 예
$ service httpd restart

Web을 통해 PowerAdmin 설정

  • 브라우져를 통해 http://<IP> 접속 (예: http://192.168.0.3)

Click on Install -> Choose I prefer to proceed in English -> Go to Step2 -> Go to Step3 ->

Username: powerdns
Password: password
Database Type: MySQL
Hostname: localhost
DB Port: 3306
Database: powerdns
PowerAdmin Administrator Password: Passw0rd

Go to Step4 -> This step is optional (SKIP) -> Go to Step5 -> Go to Step6 -> Go to Step7.

설치 폴더 제거

/var/www/html/install 폴더를 다른 이름으로 변경
$ mv /var/www/html/install /var/www/html/install.bak

도메인 관리

로그인

브라우져를 통해 http://<서버 IP> 접속

  • User name: admin
  • Password: Passw0rd

master zone 추가

Zone (domain)을 추가한다.

reverse zone (PTR) 추가 (옵션)

Problem with Record 



  • 레이블 없음