...
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) 연결 설정
코드 블럭 | ||
---|---|---|
| ||
# MySQL Configuration file
launch=gmysql
gmysql-host=localhost
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=password
|
PDNS 서비스 재시작
pdns 서비스가 자동 시작되도록 등록하고 서비스 재시작
코드 블럭 | ||
---|---|---|
| ||
$ 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 서비스가 자동시작되도록 등록하고 재시작 한다.
코드 블럭 | ||
---|---|---|
| ||
$ 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 접속 정보 설정
코드 블럭 | ||
---|---|---|
| ||
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 서비스 재기동
코드 블럭 | ||
---|---|---|
| ||
$ 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