sudo ./configure --prefix=/usr/local/php-5.6.16 --enable-exif --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-mbstring --with-mysql=/usr --with-mysql-sock=/tmp/mysql.socket --enable-sqlite-utf8 --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zip --with-pcre-dir --enable-maintainer-zts --enable-zend-multibyte --with-config-file-path=/usr/local/php-5.6.16/etc/ --with-mysqli=/usr/bin/mysql_config --with-gettext --with-mcrypt
sudo apt-get -y install libpng12-dev
sudo find / -name libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo apt-get -y install libmcrypt-dev
sudo apt-get -y install libfreetype6 libfreetype6-dev
幸好后面的make和make install都没有出问题。安装好之后,需要复制一下配置文件:
sudo cp php.ini-production /usr/local/php-5.6.16/etc/php.ini
sudo ./configure --prefix=/etc/powerdns --enable-verbose-logging --enable-static-binaries --enable-pdns_server --enable-nedmalloc --with-mysql=/usr
sudo apt-get -y install libreadline-dev
或者
sudo apt-get -y install lua5.1
(powerdns要求lua版本要在5.1以上,但是我安装5.2和5.3都遇到莫名其妙的问题)
sudo vim /etc/profile
export LUA_CFLAGS="-I/usr/local/lua/include" export LUA_LIBS="-L/usr/local/lua/lib -llua -ldl"
sudo apt-get -y install libboost-all-dev
sudo vim /etc/mysql/my.cnf
sudo service mysql restart
(2)进入mysql建立powerdns相关表
CREATE DATABASE powerdns;
GRANT ALL ON powerdns.* TO 'root'@'localhost' IDENTIFIED BY 'password';
这里powerdns是数据库,root是授权给这个用户,password是这个用户的密码:
FLUSH PRIVILEGES;
更新一下用户设置。
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) );
给domains表创建一个索引:
CREATE UNIQUE INDEX name_index ON domains(name);
创建records表:
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) );
给records表创建三个索引:
CREATE INDEX rec_name_index ON records(name); CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id);
创建supermasters表;
CREATE TABLE supermasters ( ip VARCHAR(25) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) DEFAULT NULL );
OK,mysql建表完成。quit(个人还是比较喜欢mysql在退出时候这个Bye的)
cd /etc/powerdns
这里面有pdns.d目录,但是进不去,因为权限不够,可使用chmod 755 pdns.d提权,之后cd pdns.d进入
sudo cp pdns.local pdns.local.gmysql ~/ sudo rm *.* #删的时候一定要记得只是把这两个文件删掉,要注意是在这个目录里使用,要是删掉其他什么东西可就开心了! sudo vim pdns.local.gmysql.conf
建立新文件,在里面输入以下内容:
# MySQL Configuration # # Launch gmysql backend launch=gmysql # gmysql parameters gmysql-host=localhost gmysql-dbname=powerdns gmysql-user=poweruser gmysql-password=ubuntu
(后面三行是刚才数据库建表时候给权限的,数据库名、用户名、密码注意对应)
sudo service pdns start
用ps -ef |grep pdns检查一下看看pdns有没有启动。启动正常,完成!