서버 설치 · 4 min read · Oct 01, 2025
CentOS 5.2에서 PowerDNS (MySQL 백엔드) 및 Poweradmin 설치하기
CentOS 5.2에서 PowerDNS (MySQL 백엔드) 및 Poweradmin 설치하기
버전 1.0
저자: Falko Timme
이 문서에서는 CentOS 5.2 시스템에서 PowerDNS 이름 서버( MySQL 백엔드 포함)와 PowerDNS용 Poweradmin 제어판을 설치하는 방법을 보여줍니다. PowerDNS는 고성능의 권위 있는 이름 서버로, 여기서 설명하는 설정에서는 MySQL 데이터베이스에서 DNS 레코드를 읽습니다( MyDNS와 유사하게), PostgreSQL과 같은 다른 백엔드도 지원됩니다. Poweradmin은 PowerDNS를 위한 웹 기반 제어판입니다.
이것이 귀하에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 예제에서는 hostname이 server1.example.com이고 IP 주소가 192.168.0.100인 CentOS 5.2 호스트를 사용하고 있으며, 이 튜토리얼의 처음 6장에 따라 설정되었습니다: 완벽한 서버 - CentOS 5.2.
이 예제에서는 PowerDNS 서버를 하나만 설정합니다(마스터); PowerDNS 슬레이브를 추가하는 것은 마스터에서 슬레이브로 MySQL 데이터베이스 복제를 사용하여 쉽게 수행할 수 있으므로 존 전송이 필요하지 않습니다(이것은 다시 MyDNS와 유사합니다). MySQL 데이터베이스 복제는 이 튜토리얼에 따라 설정할 수 있습니다: MySQL에서 데이터베이스 복제 설정 방법 (PowerDNS는 또한 MySQL 복제를 사용할 수 없는 시나리오를 위한 기본 존 전송을 지원합니다 - http://downloads.powerdns.com/documentation/html/replication.html 참조).
2 MySQL 설치하기
MySQL을 설치하려면 다음과 같이 합니다:
yum install mysql mysql-server그런 다음 MySQL의 시스템 시작 링크를 생성합니다(시스템이 부팅될 때마다 MySQL이 자동으로 시작되도록) 및 MySQL 서버를 시작합니다:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start이제 네트워킹이 활성화되어 있는지 확인합니다. 실행합니다:
netstat -tap | grep mysql다음과 같은 결과가 표시되어야 합니다( *:mysql은 MySQL이 모든 인터페이스에서 수신 대기하고 있음을 의미하며, 이는 MySQL 복제에 중요합니다!):
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 2439/mysqld
[root@server1 ~]#만약 그렇지 않다면 /etc/my.cnf를 편집하고 skip-networking 옵션의 주석을 제거합니다:
vi /etc/my.cnf| [...] #skip-networking [...] |
그런 다음 MySQL 서버를 재시작합니다:
/etc/init.d/mysqld restart다음 명령어를 실행하여 root 사용자에 대한 비밀번호를 설정합니다(그렇지 않으면 누구나 귀하의 MySQL 데이터베이스에 접근할 수 있습니다!).
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword3 PowerDNS 설치하기
PowerDNS를 설치하려면 다음을 실행합니다:
yum install pdns pdns-backend-mysqlPowerDNS 구성은 /etc/pdns 디렉토리에 위치합니다 - 잠시 후에 그에 대해 설명하겠습니다.
이제 MySQL에 연결합니다:
mysql -u root -pMySQL root 비밀번호를 입력하면 MySQL 셸에 접속하게 됩니다. MySQL 셸에서 PowerDNS용 데이터베이스를 생성합니다:
CREATE DATABASE powerdns;다음으로 PowerDNS를 위한 데이터베이스 사용자( 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;( power_admin_password를 원하는 비밀번호로 교체하십시오.)
이제 PowerDNS에서 필요한 테이블을 생성합니다…
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,
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
);… 그리고 마지막으로 MySQL 셸을 종료합니다:
quit;이제 PowerDNS가 MySQL 백엔드를 사용하도록 구성해야 합니다:
vi /etc/pdns/pdns.confpdns.conf에 다음 줄을 추가합니다:
| [...] ################################# # launch Which backends to launch and order to query them in # # launch= launch=gmysql gmysql-host=127.0.0.1 gmysql-user=power_admin gmysql-password=power_admin_password gmysql-dbname=powerdns [...] |
그런 다음 PowerDNS의 시스템 시작 링크를 생성하고 시작합니다:
chkconfig --levels 235 pdns on
/etc/init.d/pdns start이제 PowerDNS가 사용 준비가 완료되었습니다. 더 많은 정보를 원하시면 문서를 참조하십시오: http://downloads.powerdns.com/documentation/html/index.html
4 Poweradmin 설치하기
이제 PowerDNS를 위한 웹 기반 제어판인 Poweradmin을 설치하겠습니다. Poweradmin은 PHP로 작성되었으므로 웹 서버(이 예제에서는 Apache2를 사용하고 있습니다)와 PHP를 설치해야 합니다:
yum install httpd php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mhash gettextApache2의 시스템 시작 링크를 생성하고 시작합니다:
chkconfig --levels 235 httpd on
/etc/init.d/httpd startPoweradmin은 다음 두 개의 PEAR 패키지도 필요로 합니다:
yum install php-pear-DB php-pear-MDB2-Driver-mysql이제 Poweradmin에 필요한 모든 전제 조건이 설치되었으며, Poweradmin 설치를 시작할 수 있습니다(저는 /var/www/html의 하위 디렉토리에 설치할 것입니다 - /var/www/html은 CentOS의 Apache 기본 웹사이트의 문서 루트입니다; 다른 문서 루트로 vhost를 생성한 경우 경로를 조정하십시오).
https://www.poweradmin.org/trac/wiki/GettingPoweradmin으로 이동하여 최신 Poweradmin 패키지를 다운로드합니다. 예를 들어 다음과 같이:
cd /tmp
wget https://www.poweradmin.org/download/poweradmin-2.1.2.tgz그런 다음 /var/www/html/poweradmin 디렉토리에 설치합니다:
tar xvfz poweradmin-2.1.2.tgz
mv poweradmin-2.1.2 /var/www/html/poweradmin
touch /var/www/html/poweradmin/inc/config.inc.php
chown -R apache:apache /var/www/html/poweradmin/이제 브라우저를 열고 웹 기반 Poweradmin 설치 프로그램을 시작합니다 ( http://server1.example.com/poweradmin/install 또는 http://192.168.0.100/poweradmin/install).
언어를 선택합니다(영어 또는 네덜란드어):

계속 진행하려면 “Go to step 3” 버튼을 클릭합니다:

이제 데이터베이스 세부 정보를 입력합니다. MySQL root 사용자에 대한 세부 정보를 입력하는 것이 중요하며, 이전에 생성한 powerdns MySQL 사용자가 아닙니다! 또한 Poweradmin 웹 인터페이스의 admin 사용자에 대한 비밀번호를 제공하십시오(이 비밀번호는 나중에 사용자가 Poweradmin에 로그인하는 데 사용됩니다):

다음 페이지에서 3장에서 생성한 power_admin MySQL 사용자에 대한 세부 정보를 입력합니다. 또한 존을 생성할 때 다른 이름 서버를 제공하지 않는 한 사용될 두 개의 기본 이름 서버를 입력하십시오(일반적으로 이는 현재 시스템의 이름과 슬레이브 서버의 이름입니다(여기서 MySQL 복제를 설정할 수 있습니다. 1장에서의 사전 참고를 참조하십시오)):

새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.