Установка PowerDNS на сервер CentOS 6.3
Centos, Cloud Server | Комментировать запись
PowerDNS – это популярный DNS-сервер с высокой производительностью, обладающий гибкой архитектурой доступа и хранения данных.
1: Установка репозиториев REMI и EPEL
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install php php-mcrypt php-pdo php-mysql pdns pdns-backend-mysql mysql-server httpd
2: Создание базы данных и пользователя
service mysqld start
service httpd start
mysqladmin create powerdns
Примечание: не забудьте заменить «password» своим паролем.
mysql -Bse "create user 'powerdns'@'localhost' identified by 'password'"
mysql -Bse "grant all privileges on powerdns.* to 'powerdns'@'localhost'"
3: Создание БД и таблиц PowerDNS
Запустите консоль mysql и наберите:
mysql> 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> exit
4: Установка PowerAdmin
Войдите как root и запустите:
cd /root
wget https://github.com/downloads/poweradmin/poweradmin/poweradmin-2.1.6.tgz
tar xvfz poweradmin-2.1.6.tgz
cd poweradmin-2.1.6/inc
mv config-me.inc.php config.inc.php
Отредактируйте config.inc.php:
nano config.inc.php
Замените значения параметров db_pass и session_key своими значениями; не забудьте также указать пароль, установленный в шаге 2.
$db_host = 'localhost';
$db_port = '3306';
$db_user = 'powerdns';
$db_pass = 'password';
$db_name = 'powerdns';
$db_type = 'mysql';
$session_key = 'session_key';
Переместите папку PowerAdmin в DocumentRoot веб-сервера Apache. Для управления настройками DNS можно использовать IP сервера.
mv /root/poweradmin-2.1.6/* /var/www/html/
service httpd restart
Откройте /etc/pdns/pdns.conf и внесите следующие строки, заменив «gmysql-password» паролем MySQL, установленным в разделе 2:
launch=gmysql
gmysql-host=localhost
gmysql-user=powerdns
gmysql-password=password
gmysql-dbname=powerdns
Перезапустите демон PowerDNS:
service pdns restart
5: Создание учетной записи PowerAdmin
Теперь нужно установить PowerAdmin с веб-сервера. Перейдите к папке ваш_IP/install (например, http://111.222.333.444/install/).
В окне Installation step 1 выберите язык установки.
Затем создайте учетную запись администратора PowerAdmin; для того нужно заполнить появившуюся форму регистрации, а также предоставить инсталлятору доступ к БД.
Завершите процесс установки; выполнив Step 7, удалите папку /var/www/html/install:
rm -rf /var/www/html/install
Откройте IP сервера (в формате http://111.222.333.444/) и войдите как администратор, используя пароль, установленный в Step 5 инсталлятора.
Теперь можно создать собственную DNS-запись. Для этого нужно открыть Add master zone и указать имя, владельца, тип и шаблон записи.
Чтобы убедиться, что сервер PowerDNS работает должным образом, используйте команду dig:
dig @198.211.110.153 domain.com
;; ANSWER SECTION:
domain.com. 86400 IN A 127.0.0.1
Готово!
Tags: Apache, CentOS, CentOS 6.3, Cloud Server, DNS, EPEL, MySQL, PowerAdmin, PowerDNS, REMI