구성 환경
OS : Centos 7.9
tool : gns3, VMware
APM : Apache/2.4.6, mysql Ver 15.1 Distrib 10.1.48-MariaDB, PHP 7.0.33
도메인을 구매 후 홈페이지를 연결하기 위해서는 레코드 값 연결이 필요합니다.
여기서 레코드 값을 관리 하기 위해서는 네임서버를 만들어 관리해야 합니다.
네임서버 구축을 위해서는 BIND / PDNS 두 가지 설치 방법이 있습니다.
PDNS 설치 방법 정리입니다.
BIND 설치법: https://bigju.tistory.com/entry/Centos7-Bind-%EC%84%A4%EC%B9%98-DNS?category=890863
PowerAdmin을 설치하고 운용하시려고 하면 기본적으로 APM과 PDNS가 설치가 되어 있어야 합니다.
APM 설치
YUM 설치 : https://bigju.tistory.com/entry/Centos-7-APM-YUM-%EC%84%A4%EC%B9%98?category=890550
소스 설치 : https://bigju.tistory.com/entry/Centos7-APM-%EC%86%8C%EC%8A%A4-%EC%84%A4%EC%B9%98?category=890550
PDNS 설치법 : https://bigju.tistory.com/entry/Centos7-pdns-%EC%84%A4%EC%B9%98-%ED%95%98%EA%B8%B0
* 구성도
1. POERADMIN 설치
cd /var/www/html
wget https://jaist.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz
tar xfz poweradmin-2.1.7.tgz
2. POWERADMIN 운영을 위한 DB 설정
mysql -u root -p
use pdns;
MariaDB [pdns]> 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)
) Engine=InnoDB;
CREATE UNIQUE INDEX name_index ON domains(name);
CREATE TABLE records (
id BIGINT AUTO_INCREMENT,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(10) DEFAULT NULL,
content VARCHAR(64000) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
disabled TINYINT(1) DEFAULT 0,
ordername VARCHAR(255) BINARY DEFAULT NULL,
auth TINYINT(1) DEFAULT 1,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
CREATE INDEX recordorder ON records (domain_id, ordername);
CREATE TABLE supermasters (
ip VARCHAR(64) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) NOT NULL,
PRIMARY KEY (ip, nameserver)
) Engine=InnoDB;
CREATE TABLE comments (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
name VARCHAR(255) NOT NULL,
type VARCHAR(10) NOT NULL,
modified_at INT NOT NULL,
account VARCHAR(40) NOT NULL,
comment VARCHAR(64000) NOT NULL,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX comments_domain_id_idx ON comments (domain_id);
CREATE INDEX comments_name_type_idx ON comments (name, type);
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
CREATE TABLE domainmetadata (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
kind VARCHAR(32),
content TEXT,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
CREATE TABLE cryptokeys (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
flags INT NOT NULL,
active BOOL,
content TEXT,
PRIMARY KEY(id)
) Engine=InnoDB;
CREATE INDEX domainidindex ON cryptokeys(domain_id);
CREATE TABLE tsigkeys (
id INT AUTO_INCREMENT,
name VARCHAR(255),
algorithm VARCHAR(50),
secret VARCHAR(255),
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
테이블 생성 확인
MariaDB [pdns]> show tables;
+----------------+
| Tables_in_pdns |
+----------------+
| comments |
| cryptokeys |
| domainmetadata |
| domains |
| records |
| supermasters |
| tsigkeys |
+----------------+
7 rows in set (0.001 sec)
exit
3. 웹 접속 설치 하기
http://IP/poweradmin-2.1.7/install
GRANT ALL ON pdns.* TO 'pdns'@'localhost' IDENTIFIED BY '패스워드';
DB에서 GRANT ALL 계정 부여했으므로 넘어가도 됩니다.
cd /var/www/html/poweradmin-2.1.7/inc
파일 이름 변경
mv config-me.inc.php config.inc.php
파일 정리
<이동>
cd /var/www/html/poweradmin-2.1.7
<동적 DNS공급 사용 적용>
cp install/htaccess.dist .htaccess
<스톨 파일 삭제>
rm -rf /var/www/html/poweradmin-2.1.7/install
4. WEB 접속!
http://IP/poweradmin-2.1.7/
5. nslookup 없다?
yum install bind-utils -y
설치
bind에 비해 장점은 아무래도 GUI 환경에서 보이는 직관성에 있다.
하지만 bind에 비해 많은 이슈를 자랑하고 있다.
BigJu
'SW > DNS' 카테고리의 다른 글
Centos7 - pdns 설치 하기 (0) | 2021.10.08 |
---|---|
Centos7 - Bind 설치 (DNS) (0) | 2021.10.07 |
댓글