페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

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

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

Database 구성 (MySQL)

  • powerdns database 생성
  • powerdns database  사용자 생성
  • powerdns database  사용자에게 powerdns database 엑세스 권한 부여

...

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

PDNS DB 구성

pdns backend (MySQL) 연결 설정

코드 블럭
title/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 서비스가 자동 시작되도록 등록하고 서비스 재시작

코드 블럭
titleCentOS 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 서비스가 자동시작되도록 등록하고 재시작 한다.

코드 블럭
titleCentOS 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 접속 정보 설정

코드 블럭
title/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 서비스 재기동

코드 블럭
titleCentOS 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)을 추가한다.

Image Added

reverse zone (PTR) 추가 (옵션)

Problem with Record 

Image Added