Mysql+Apache+php+MyDNS安装配置和管理
Mysql+Apache+php+MyDNS安装配置和管理1.认识MyDNS
MyDNS是一个UNIX平台下的免费DNS服务器端软件。它被设计成直接从数据库中读取DNS记录的软件,并且修改记录后也可以及时生效。目前MyDNS支持的数据库有mysql和PostgreSql。
mydns:http://mydns.bboy.net/ mydnsconfig:http://www.mydnsconfig.org/
2.安装
安装素材: centos6.2、apache2.4、mysql5.5、php5.5、MyDNS-1.1
由于我系统中已经安装好apache+mysql+php,所以这里仅贴出简要安装命令供参考。
2.1mysql安装
# groupadd mysql
# useradd -g mysql -d /usr/local/mysql -s /sbin/nologin mysql
# tar zxvf mysql-5.5.tar.gz -C /usr/local/mysql
# mkdir -p /u1/mysql/{data,logs}
# chown -R mysql.mysql/u1/mysql
# chown -R mysql.mysql /usr/local/mysql
# cd /usr/local/mysql
修改my.cnf配置文件(略)
# ./scripts/mysql_install_db --user=mysql \
sql@localhost zdhpp/apache2--defaults-file=/usr/local/mysql/my.cnf
# cp support-files/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/init.d/mysqld
# bin/mysqld_safe --user=mysql &[建议使用mysqld启动]
2.2apache安装
# mkdir -p /usr/local/app/apache
# tar zxf httpd-2.4.6.tar.gz
# cd httpd-2.4.6
# ./configure -prefix=/usr/local/app/apache \
--enable-so --enable-rewrite--with-mysql=/usr/local/mysql --enable-proxy --with-ssl
# make;make install
# chown -R apache.apache /usr/local/app/apache
2.3php安装
# mkdir -p /usr/local/app/php
# tar zxf php-5.5.1.tar.gz
# cd php-5.5.1
#./configure --prefix=/usr/local/app/php \
--with-apxs2=/usr/local/app/apache/bin/apxs--with-mysql=/usr/local/mysql
# make;make install
2.4MyDNS安装
# mkdir -p /usr/local/app/mydns
# groupadd mydns
# useradd mydns -d /usr/local/app/mydns -s /sbin/nologin -g mydns
# tar zxf mydns-1.1.0.tar.gz
# cd mydns-1.1.0
# ./configure--prefix=/usr/local/mydns \
--with-mysql-lib=/usr/local/mysql/lib/mysql/\
--with-mysql-include=/usr/local/mysql/include/mysql/
# make;makeinstall
# cp contrib/*.php/usr/local/app/apache/htdocs/
# chown -Rmydns:mydns/usr/local/app/mydns
3.配置
3.1配置http.conf,使其支持php
User apache
Group apache
ServerName 192.168.1.108:8090
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
3.2配置mysql,创建数据库mydns,表soa和rr
# mysql
mysql> createdatabase mydns;
mysql> use mydns;
mysql> grant all privileges on mydns.* to mydns@'%' identified by'mydns';
mysql> flush privileges;
mysql> CREATE TABLE `soa` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`origin` char(255) NOT NULL,
`ns` char(255) NOT NULL,
`mbox` char(255) NOT NULL,
`serial` int(10) unsigned NOT NULL DEFAULT '20130806',
`refresh` int(10) unsigned NOT NULL DEFAULT '1800',
`retry` int(10) unsigned NOT NULL DEFAULT '7200',
`expire` int(10) unsigned NOT NULL DEFAULT '604800',
`minimum` int(10) unsigned NOT NULL DEFAULT '300',
`ttl` int(10) unsigned NOT NULL DEFAULT '1800',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
mysql> CREATE TABLE `rr` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`zone` int(10) unsigned NOT NULL,
`name` char(64) NOT NULL,
`type` enum('A','AAAA','CNAME','HINFO','MX','NS','PTR','RP','SRV','TXT') NOT NULL,
`data` char(128) NOT NULL,
`aux` int(11) NOT NULL,
`ttl` int(11) NOT NULL DEFAULT '3600',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
mysql> \q
3.3配置MyDNS
# vim /etc/mydns.conf
db-host = 192.168.1.108 # SQL server hostname
db-user = mydns # SQL server username
db-password = mydns # SQL server password
database = mydns # MyDNS database name
user = mydns # Run with the permissionsof this user
group = mydns # Run with the permissions of this group
listen = 192.168.1.108 # Listen on these addresses ('*' for all)
recursive = 8.8.8.8 # Location of recursive resolver
# chown -R mydns:mydns /etc/mydns.conf
# vim /usr/local/app/apache/htdocs/admin.php
$dbhost = "192.168.1.108";
$dbuser = "mydns";
$dbpass = "mydns";
$dbname = "mydns";
# chown apache:apache /usr/local/app/apache/htdocs/*
4.测试
4.1 启动服务
#/usr/local/app/apache/bin/apachectl start
#/usr/local/app/php/sbin/php-fpm
# /usr/local/app/mydns/sbin/mydns–background
#/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf &
4.2 测试
http://192.168.1.108:8090/admin.php
http://blog.51cto.com/attachment/201308/134452705.jpg
注:如果admin.php出现bug,而又不知道怎么解决,那么可以去下面url中下载无bug版本:https://github.com/grahamc/mydns-ng/blob/master/contrib/admin.php
附件:http://down.51cto.com/data/2363293
页:
[1]