서버 설치 · 4 min read · Oct 01, 2025
파워DNS (MySQL 백엔드) 및 파워어드민 설치하기 - 페도라 12
파워DNS (MySQL 백엔드) 및 파워어드민 설치하기 - 페도라 12
버전 1.0
저자: Falko Timme
트위터에서 나를 팔로우하세요
이 문서에서는 페도라 12 시스템에서 파워DNS 이름 서버 (MySQL 백엔드 포함)와 파워DNS용 파워어드민 제어판을 설치하는 방법을 보여줍니다. 파워DNS는 고성능의 권한 있는 이름 서버로, 여기서 설명하는 설정에서는 MySQL 데이터베이스에서 DNS 레코드를 읽습니다 (MyDNS와 유사하지만 PostgreSQL과 같은 다른 백엔드도 지원됩니다). 파워어드민은 파워DNS를 위한 웹 기반 제어판입니다.
이것이 당신에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 예제에서는 호스트 이름이 server1.example.com이고 IP 주소가 192.168.0.100인 페도라 12 호스트를 사용하고 있으며, 이 튜토리얼의 처음 다섯 장에 따라 설정되었습니다: 완벽한 서버 - 페도라 12 x86_64 [ISPConfig 2].
이 예제에서는 파워DNS 서버를 하나만 설정합니다 (마스터); 파워DNS 슬레이브를 추가하는 것은 마스터에서 슬레이브로의 MySQL 데이터베이스 복제를 사용하여 쉽게 수행할 수 있으므로 존 전송이 필요하지 않습니다 (이것은 다시 MyDNS와 유사합니다). MySQL 데이터베이스 복제는 이 튜토리얼에 따라 설정할 수 있습니다: MySQL에서 데이터베이스 복제 설정하는 방법 (파워DNS는 또한 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 2407/mysqld
[root@server1 ~]#만약 그렇지 않다면, /etc/my.cnf를 편집하고 skip-networking 옵션을 주석 처리합니다:
vi /etc/my.cnf| [...] #skip-networking [...] |
그리고 MySQL 서버를 재시작합니다:
/etc/init.d/mysqld restart다음 명령어를 실행하여 루트 사용자에 대한 비밀번호를 설정합니다 (그렇지 않으면 누구나 MySQL 데이터베이스에 접근할 수 있습니다!):
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword3 파워DNS 설치하기
파워DNS를 설치하려면, 다음을 실행합니다:
yum install pdns pdns-backend-mysql파워DNS 구성은 /etc/pdns 디렉토리에 위치합니다 - 잠시 후에 그에 대해 설명하겠습니다.
이제 MySQL에 연결합니다:
mysql -u root -pMySQL 루트 비밀번호를 입력하면 MySQL 셸에 접속하게 됩니다. MySQL 셸에서 파워DNS를 위한 데이터베이스를 생성합니다:
CREATE DATABASE powerdns;다음으로 파워DNS를 위한 데이터베이스 사용자 (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는 원하는 비밀번호로 교체합니다.)
이제 파워DNS에 필요한 테이블을 생성합니다…
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;이제 파워DNS가 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 [...] |
그런 다음 파워DNS의 시스템 시작 링크를 생성하고 시작합니다:
chkconfig --levels 235 pdns on
/etc/init.d/pdns start이제 파워DNS가 사용 준비가 되었습니다. 더 많은 정보를 원하시면 문서를 참조하세요: http://downloads.powerdns.com/documentation/html/index.html
4 파워어드민 설치하기
이제 파워DNS를 위한 웹 기반 제어판인 파워어드민을 설치해 보겠습니다. 파워어드민은 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 start파워어드민은 또한 다음 두 개의 PEAR 패키지가 필요합니다:
yum install php-pear-DB php-pear-MDB2-Driver-mysql이제 파워어드민에 필요한 모든 전제 조건이 설치되었으며, 파워어드민 설치를 시작할 수 있습니다 (나는 /var/www/html의 하위 디렉토리에 설치할 것입니다 - /var/www/html은 페도라의 기본 웹사이트의 문서 루트입니다; 다른 문서 루트로 vhost를 생성한 경우 경로를 조정하세요).
https://www.poweradmin.org/trac/wiki/GettingPoweradmin로 이동하여 최신 파워어드민 패키지를 다운로드합니다, 예를 들어 다음과 같이:
cd /tmp
wget https://www.poweradmin.org/download/poweradmin-2.1.4.tgz그런 다음 /var/www/html/poweradmin 디렉토리에 설치합니다:
tar xvfz poweradmin-2.1.4.tgz
mv poweradmin-2.1.4 /var/www/html/poweradmin
touch /var/www/html/poweradmin/inc/config.inc.php
chown -R apache:apache /var/www/html/poweradmin/이제 브라우저를 열고 웹 기반 파워어드민 설치 프로그램을 시작합니다 (http://server1.example.com/poweradmin/install/index.php 또는 http://192.168.0.100/poweradmin/install/index.php).
언어를 선택하세요 (영어 또는 네덜란드어):

계속하려면 단계 3으로 이동 버튼을 클릭하세요:

이제 데이터베이스 세부정보를 입력하세요. MySQL 루트 사용자에 대한 세부정보를 입력하는 것이 중요하며, 이전에 생성한 powerdns MySQL 사용자가 아닙니다! 또한 파워어드민 웹 인터페이스에 대한 관리자 사용자 비밀번호를 제공하세요 (이 비밀번호는 나중에 사용자가 파워어드민에 로그인하는 데 사용됩니다):

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

다음 화면에서 설치 프로그램은 MySQL 쿼리를 실행하라고 요청합니다. 우리는 이미 3장에서 비슷한 작업을 수행했기 때문에 (두 개의 GRANT 문) 우리는 설정이 완료되었습니다. 단계 6으로 이동을 클릭하세요:

단계 7로 이동을 클릭하세요:

설치가 이제 완료되었습니다…

… 그러나 보안상의 이유로 설치 디렉토리를 삭제해야 합니다:
rm -fr /var/www/html/poweradmin/install/새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.