namedmanager 一个用户管理 bind 的 web gui

namedmanager 作用

使用新的 Amberphplib 框架,兼容 MySQL 5.6 STRICT SQL模式
是一个基于 Web 的 DNS 管理系统,可用来添加、调整和删除 DNS 的 zones/records 数据,支持 Bind 作为后端的 DNS 服务,支持 IPv4 和 IPv6.

 

namedmanager 软件安装方法

 

下载仓库地址

wget -O /etc/yum.repos.d/amberdms-c6-public.repo  http://repos.jethrocarr.com/config/centos/6/amberdms-c6-public.repo

 

安装 namedmanager 软件包

[root@station140 rpm]# yum -y install namedmanager* 

 

留意安装信息

BIND/NAMED CONFIGURATION

NamedManager BIND components have been installed, you will need to install
and configure bind/named to use the configuration file by adding the
following to /etc/named.conf:

#
# Include NamedManager Configuration
#

include "/etc/named.namedmanager.conf";

NAMEDMANAGER BIND CONFIGURATION

You need to set the application configuration in /etc/namedmanager/config-bind.php

 

提示: 当前需要修改 named.conf , 添加 include "/etc/named.namedmanager.conf"; 语法, 另外 php 管理页面需要配置  /etc/namedmanager/config-bind.php 文件

 

参考主要配置文件与作用

Path  Details
/etc/namedmanager/  Configuration directory for NamedManager 
/etc/cron.d/namedmanager-bind NamedManager cronjobs 
/etc/init.d/namedmanager_logpush Bootscript for starting/stopping the log collector 
/etc/named.conf Default name for your Bind name server configuration file. 
/var/named/chroot/etc/named.conf  using bind-chroot.

 

crond.d 下计划任务说明
/etc/cron.d/namedmanager-bind

# check for new configuration every minute
*/1 * * * * root php -q /usr/share/namedmanager/bind/namedmanager_bind_configwriter.php >> /var/log/namedmanager_bind_configwriter
# PHP slowly leaks memory, restart the process weekly to prevent it getting too large over months
01 01 * * 0 root /etc/init.d/namedmanager_logpush restart >> /dev/null 2>&1

每分钟把 mysql 中的 DNS 数据数据刷新并记录到日志中

修改文件属性

[root@station149 etc]# chkconfig  --level 35 namedmanager_logpush on
[root@station149 etc]# chown named.root /etc/named.namedmanager.conf

检测 namedmanager 配置文件是否正确方法

php -q /usr/share/namedmanager/bind/namedmanager_bind_configwriter.php

 

数据库配置

启动数据库
[root@station149 rpm]# service  mysqld start

初始化 MySQL 数据库: Installing MySQL system tables...
OK
Filling help tables...
OK
Please report any problems with the /usr/bin/mysqlbug script!

                                                           [确定]
正在启动 mysqld:                                          [确定]

更新 MySQL 管理员密码

 

[root@station149 resources]# mysql

mysql> update mysql.user set password=password('mypasswd') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

载入 namedmanager 表到数据库

[root@station149 rpm]# cd /usr/share/namedmanager/resources/; ./autoinstall.pl
autoinstall.pl

This script setups the NamedManager database components:
 * NamedManager MySQL user
 * NamedManager database
 * NamedManager configuration files

THIS SCRIPT ONLY NEEDS TO BE RUN FOR THE VERY FIRST INSTALL OF NAMEDMANAGER.
DO NOT RUN FOR ANY OTHER REASON

Please enter MySQL root password (if any): mypasswd
Searching ../sql/ for latest install schema...
../sql//version_20131222_install.sql is the latest file and will be used for the install.
Importing file ../sql//version_20131222_install.sql
Creating user...
Updating configuration file...
DB installation complete!

You can now login with the default username/password of setup/setup123 at http://localhost/namedmanager

 

BIND 服务器配置

安装 bind 服务

[root@terry resources]# yum install -y bind-*

配置 bind

[root@terry resources]# cp -p /etc/named.namedmanager.conf /var/named/chroot/etc/
[root@terry resources]# vi /var/named/chroot/etc/named.conf

named.conf 文件内容

options {
        listen-on port 53 { 0.0.0.0; };
//      listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { 0.0.0.0; };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named.namedmanager.conf";

启动 bind 服务

[root@terry resources]# service named start

 

 

http + php 启动

[root@terry resources]# vi /etc/namedmanager/config-bind.php

<?php
/*
        Sample Configuration File
        Copy this file to config-settings.php
        This file should be read-only to the user whom the bind configuration scripts are running as.
*/
/*
        API Configuration
*/
$config["api_url"]              = "http://192.168.48.141/namedmanager";   // Application Install Location
$config["api_server_name"]      = "station141.vtest.com";        // [必须写主机名]
$config["api_auth_key"]         = "mykey";    // [该密钥随意定义]

/*
  Log file to find messages from Named. Note that:
  * File should be in syslog format
  * Named Manager uses tail -f to read it, this can break with logrotate - make sure that either "copytruncate" mode is used, or tail processes are killed
*/

$config["log_file"]             = "/var/log/messages";

/*
        Lock File
        Used to prevent clashes when multiple instances are accidently run.
*/

$config["lock_file"]            = "/var/lock/namedmanager_lock";

$config["bind"]["version"]              = "9";                                  // version of bind (currently only 9 is supported, although others may work)
$config["bind"]["reload"]               = "/usr/sbin/rndc reload";              // command to reload bind config & zonefiles
$config["bind"]["config"]               = "/var/named/chroot/etc/named.namedmanager.conf";      // configuration file to write bind config too
$config["bind"]["zonefiledir"]          = "/var/named/chroot/var/named/";                       // directory to write zonefiles too
                                                                                // note: if using chroot bind, will often be /var/named/chroot/var/named/
$config["bind"]["verify_zone"]          = "/usr/sbin/named-checkzone";          // Used to verify each generated zonefile as OK
$config["bind"]["verify_config"]        = "/usr/sbin/named-checkconf";          // Used to verify generated NamedManager configuration

/*
        Unusual Compatibility Options
*/

// Include a full path to the zonefiles in Bind - useful if Bind lacks a
// directory configuration or you really, really to store you zonefiles
// in a different location
//
// $config["bind"]["zonefullpath"]              = "on";
// force debugging on for all users + scripts
// (note: debugging can be enabled on a per-user basis by an admin via the web interface)
//$_SESSION["user"]["debug"] = "on";

?>

创建 named.namedmanager.conf 文件, 文件

[root@terry resources]# cp /etc/named.namedmanager.conf /var/named/chroot/etc/
[root@terry resources]# chown named:named /var/named/chroot/etc/named.namedmanager.conf

 

启动 apache 服务器
[root@terry resources]# service  httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:[Thu Jan 16 15:12:12 2014] [warn] Useless use of AllowOverride in line 11 of /etc/httpd/conf.d/namedmanager.conf.
                                                           [确定]
启动网页服务器  http://192.168.48.141/namedmanager 进行登录测试 (默认 setup/setup123)

 

参考图形配置方法

 

 

选择 configuration ,
填写 管理员 email (terry@station141.vtest.com)
填写 ADMIN_API_KEY (之前 /var/named/chroot/etc/named.namedmanager.conf 中定义的密钥)

 

 

选择 Domains/zones -> View Domains  通过 Add New Domain 添加一个新的域

添加域过程中

配置 DNS FQDN 为当前域中的 DNS 服务器主机名

选择服务器类型, [API]

再次填写 ADMIN_API_KEY 密钥

定义当期主机为 DNS 主服务器

确保最后绿色部分为配置文件同步中, 假设非绿色显示, 则需要进一步排错

参见下图, 域被增加

添加主机 A 记录方法

 

再次添加反向解析域

添加反向解析 PTR 记录方法

 

时间: 2024-09-20 15:42:01

namedmanager 一个用户管理 bind 的 web gui的相关文章

Red Flag Asianux Server 3用户指南:基于Web的远程管理工具

Red Flag Asianux Server 3系统的一个重要特点是提供了一套基于 Web的远程管理工具-- redmin,用户可以通过浏览器安全便捷地管理自己的系统.目前该工具共包括 11个系统管理和网络服务配置模块,都带有详细的帮助和说明. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;只有安装了管理工具光盘后,才可以使用远程管理工具. 12.1 启动和关闭redmin 安装 Red Flag Asianu

有无可直接用的用户管理,像ASP.net中可直接加入工程里的?

问题描述 如题.自己编写一个用户管理太耗时间,又无意义.有没有开源的类似项目啊? 解决方案 解决方案二:没人回答啊,自己顶一下吧.解决方案三:版主版主版主版主

Linux中SFTP配置与用户管理脚本

公司需要建立一个FTP来管理客户的文件上传,为了安全性我们打算采用SFTP,并要求每个客户通过SSHKEY登陆. 或许你会说:"SFTP不需要配置啊,有SSH直接就可以用了".的确,但是我们不希望用户能够通过SSH登陆到我们的服务器上,我们希望每个客户只能通过SFTP来管理自己的文件,同时我们还想统一的来管理所有客户的目录.有了这样的需求,默认的SSH配置就不能满足了. 下面,是SFTP的配置步骤,以及我编写的一个用户管理脚本: 1.修改SFTP相关配置 $ sudo vim /etc

jsp 网站开发-JAVA WEB应用,一个操作只能同时有一个用户操作

问题描述 JAVA WEB应用,一个操作只能同时有一个用户操作 一个B/S系统,其中有个调用Linux脚本的操作,执行时间较长,要求系统只能同时有一个用户执行此操作,否则提示其他用户正在执行,请问下该如何实现呢? 解决方案 在該腳本開頭添加"ps -ef | grep 'yourshell'",返回監測結果,看是繼續執行,或是退出交回到java 解决方案二: 这个可以当启动linux脚本时写一个标识位到一个文件内.当其它用户再启动linux脚本时检测这个文件.是否存在即可. 解决方案三

ajax-.net web开发中一个页面如何做到同一时间只能被一个用户访问?

问题描述 .net web开发中一个页面如何做到同一时间只能被一个用户访问? 例如一个案件列表页,用户A点击列表页某个案件记录的查看详情链接时,打开详情页,这时其他电脑上的用户不能再打开A操作的这条记录进行查看详情.数据库加状态字段的方案不可取,网页非正常关闭时不好判断.看网上说有ajax轮询 dwr推技术能解决,不知道具体实现如何,请教有做过的大侠贴下代码,再次感谢..困扰已久的问题期待完美解决方法.(同求java解决方案).个人感觉这个问题是个常规问题,但是晚上解决办法很少呢.困惑... 解

求指教 为什么我管理服务器 上的服务 看不到和ad同步那项 怎么样用户不可以编辑web 控件

问题描述 求指教为什么我管理服务器上的服务看不到和ad同步那项怎么样用户不可以编辑web控件 解决方案 解决方案二:你说UPS服务么?你的SharePoint是什么版本?Foundation?Standard?Server?不给用户页面的编辑权限,就无法编辑WebPart控件了.解决方案三:哪里看不到?是ServicesonServer页面看不到UserProfileSyncService还是UserProfileService->ConfigureSynchronizationConnecti

一个用于网站用户管理的函数库(原作者:tim

函数|用户管理 <?php $hidden_hash_var='your_password_here'; $LOGGED_IN=false; //clear it out in case someone sets it in the URL or something unset($LOGGED_IN); /* create table user ( user_id int not null auto_increment primary key, user_name text, real_name

ldap+qmail+postaci 安装, 用户管理

用户管理 ldap+qmail+postaci  安装, 用户管理 参考文献:1. 建一个大容量的webmail系统(作者:谢顺华)    目前唯一能找到的中文qmail+ldap资料    http://www.linuxforum.net/doc/webmail.html2. Postaci Webmail    基于php的webmail系统, 支持pop3, imap, 使用数据库做缓存.    相对于imp和sqwebmail来说, 配置相当容易, 而且界面很好.    (http:/

Asp.net用户管理API的应用

Asp.net官方标准控件实现用户的管理,虽然简单,但控件封装性很强,开发人员不能明白做了什么样的调用,还用别一方面,标准控件的使用,很大程度上限制了程序的可变性.如果自开发一整套用户管理系统,可行,但又失去了标准用户控件的作用,于是用API来管理用户,成为一个很好的先择,下面我列出主要(不 全部)的用户管理API实例: 1.注册用户 用Membership.CreateUser来创建设新用户,注意密友要包含一个符号,Membership位于System.Web.Security命名空间内. /