BerkeleyDB和OpenLDAP安装

来源:互联网 发布:镜仙网络电影 编辑:程序博客网 时间:2024/05/29 14:02
1、BerkeleyDB安装
参考:
http://www.360doc.com/content/14/0313/11/6889381_360217135.shtml
http://www.oschina.net/question/12_4298
http://blog.csdn.net/maryzhao1985/article/details/8876248
http://blog.sina.com.cn/s/blog_616b428f0100nxyn.html
http://blog.csdn.net/mikemiller2/article/details/27976887
下载:Berkeley DB 4.6.21.tar.gz
http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index-082944.html
http://download.oracle.com/berkeley-db/db-4.6.21.tar.gz


###安装:


1. 


1.安装Berkeley DB
Berkeley DB(BDB)是OpenLDAP后台数据库的默认配置,因此在安装OpenLDAP之前应先安装BDB。
第一步,首先从其oracle公司官网http://www.oracle.com/technology/software/products/berkeley- db/index.html获得其安装包,当前版本为4.6.21。
第二步,进入BDB的4.6.21下载目录,解压db-4.6.21.tar.gz文件,执行如下命令。
[root@localhost ~]# tar zxvf db-4.6.21.tar.gz
解压缩后,进入db-4.6.21文件目录的build_unix目录。
[root@localhost ~]# cd db-4.6.21/build_unix
然后执行以下命令进行配置测试。
[root@localhost db-4.6.21]#../dist/configure
测试完毕后,执行命令编译源代码。
[root@localhost db-4.6.21]# make
执行安装。
[root@localhost db-4.6.21]#make install
第三步,配置系统动态链接库的路径
编辑系统动态链接库的配置文件/etc/ld.so.conf,在文件的末尾添加语句/usr/local/berkeleyDB.4.6/lib。
然后使用ldconfig命令刷新系统动态链接库缓存。
[root@localhost ~]# /sbin/idconfig
4. 测试


现在可以编写一个简单的程序来测试一下了。
编辑 testdb.c 文件如下:


#include <stdio.h>
#include <stdlib.h>
#include <db.h>


#define DATABASE "test.db"


typedef struct _data_struct {
    int data_id;
    char data[20];
} data_struct;


int main()
{
    DBT key, data;
    DB *dbp;
    int ret;
    data_struct my_data;


    ret = db_create(&dbp, NULL, 0);  // create the DB handle
    if (ret != 0)
    {
        perror("create");
        return 1;
    }


    ret = dbp->open(dbp, NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0);  // open the database
    if (ret != 0)
    {
        perror("open");
        return 1;
    }




    my_data.data_id = 1;
    strcpy(my_data.data, "some data");


    memset(&key, 0, sizeof(DBT));
    memset(&data, 0, sizeof(DBT));


    key.data = &(my_data.data_id);
    key.size = sizeof(my_data.data_id);
    data.data = &my_data;
    data.size = sizeof(my_data);


    ret = dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE);  // add the new data into the database
    if (ret != 0)
    {
        printf("Data ID exists\n");
    }


    dbp->close(dbp, 0);   // close the database


    return 0;
}


编译程序:
$ gcc -I /usr/local/BerkeleyDB.4.6/include/ -o testdb testdb.c  -L /usr/local/BerkeleyDB.4.6/lib/ -ldb


运行程序:
$ ./testdb


可以看到目录下生成了test.db文件,并对该文件进行了编码,简单用cat命令可以查看其内容(实际中当然是用dbp->get()函数了):
$ cat test.db
b1        ????     ????     some data


可以看到"some data"已经被记录了.








====================================================================================


2、OpenLDAP安装
参考:
http://www.kuqin.com/docs/openldap.html
http://server.zzidc.com/fwqpz/711.html
http://blog.sina.com.cn/s/blog_616b428f0100nxyn.html


下载:
http://www.openldap.org/
ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz


###安装:


 2.安装OpenLDAP
步,获取OpenLDAP的源代码安装文件,下载并安装。
第二步,进入OpenLDAP2.4.44下载目录,解压openldap-2.4.44.tgz文件。
[root@localhost ~]# tar zxvf openldap-2.4.44.tgz
第三步,进入解压后的openldap-2.4.44文件目录。
[root@localhost ~]#cd openldap-2.4.44
第四步,配置环境执行如下命令。
[root@localhost openldap-2.4.44]#env CPPFLAGS="-I/usr/local/BerkeleyDB.4.6/include" 
LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib"
[root@localhost openldap-2.4.44]#./configure --prefix=/usr/local/openldap --enable-ldbm
第五步,使用GUN make工具编译源代码。
[root@localhost openldap-2.4.44]#make depend
[root@localhost openldap-2.4.44]#make 
[root@localhost openldap-2.4.44]#make test
第六步,执行以下指令进行安装
[root@localhost openldap-2.4.44]#make install
3.配置LDAP服务器
步,设置LDAP使用的Schema
编辑slapd.conf文件在其中找到如下语句。
include /usr/local/openldap/etc/openldap/schema/core.schema
在该语句的后面添加以下语句。
include /usr/local/openldap/etc/openldap/schema/corba.schema
include /usr/local/openldap/etc/openldap/schema/cosine.schema
include /usr/local/openldap/etc/openldap/schema/dyngroup.schema
include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap/etc/openldap/schema/java.schema
include /usr/local/openldap/etc/openldap/schema/misc.schema
include /usr/local/openldap/etc/openldap/schema/nis.schema
include /usr/local/openldap/etc/openldap/schema/openldap.schema
第二步,为目录树设置后缀
编辑slapd.conf文件,找到如下语句。
suffix "dc=my-domain, dc=com"
将其改为如下内容。
suffix "dc=mydomain, dc=org"
第三步,为LDAP服务器管理员设置DN
编辑slapd.conf文件,找到如下语句。
rootdn "cn=Manager, dc=my-domain, dc = com"
将其改为如下内容。
rootdn "cn=Manager, dc=mydomain, dc = org"
第四步,为LDAP服务器管理员设置口令
先用ldappasswd生成密码密文{SSHA}NXV9f128qCHMmA6P sjhVXOuejTKE6OYr
编辑slapd.conf文件,找到如下语句
rootpw secret
将其改为如下内容。
rootpw {SSHA}NXV9f128qCHMmA6P sjhVXOuejTKE6OYr
第五步,启动LDAP服务器
要启动LDAP服务器,只需执行以下命令。
[root@localhost ~]# /usr/local/openldap/libexec/slapd
然后执行以下命令确保sland进程启动成功。
[root@localhost ~]# pstree|grep "slapd"
执行结果如下所示,显示“|-slapd”表示LDAP服务器已经成功启动。
[root@localhost ~]# /usr/local/openldap/libexec/slapd  /usr/local/openldap/etc/openldap/ldap.conf -d 255
[root@localhost ~]# pstree|grep "slapd"
                  /-slapd -----{slapd}/