中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>BSD>OpenBSD>列表

OpenBSD: OpenLDAP & phpLDAPadmin

来源:BSDLife.org 作者:Bibby 时间:2007-04-27 点击:

=Summary=
直接使用 packages 安装,需要安装的包有以下几个:

Code:
cyrus-sasl-2.1.21p2
expat-2.0.0
gettext-0.14.5p1
libiconv-1.9.2p3
libxml-2.6.26
openldap-client-2.3.24
openldap-server-2.3.24
php5-core-5.1.4p1
php5-ldap-5.1.4
php5-mhash-5.1.4
phpldapadmin-0.9.7p1
php-5mhash 是在 phpLDAPadmin 里设置密码时使用的。

=OpenLDAP=
==安装==


Code:
# pkg_add openldap-server-2.3.24.tgz
==配置==
===/etc/openldap/slapd.conf===
主配置文件:/etc/openldap/slapd.conf:

 

Code:
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
...

# package 打包的 openldap-server 是不支持常见的 dbd 的,所以这里用 ldbm 作为数据库。
database        ldbm
suffix          "dc=example,dc=com"
rootdn          "cn=Manager,dc=example,dc=com"

rootpw          {SSHA}mHzQL7t4YG/a6g5mt2YPLE/+ErmekI34

directory       /var/openldap-data
这里的 rootpw 后面的是使用 slappasswd 生成的密码,默认是使用 SSHA 这个加密算法的:


Code:
# slappasswd                                                                                                 
New password:
Re-enter new password:
{SSHA}mHzQL7t4YG/a6g5mt2YPLE/+ErmekI34
创建目录并设置权限:


Code:
# mkdir /var/run/openldap
# chown -R _openldap:_openldap /var/run/openldap

# mkdir /var/openldap-data
# chown -R _openldap:_openldap /var/openldap-data
# chmod -R 700 /var/openldap-data
启动 openldap:


Code:
# /usr/local/libexec/slapd -u _openldap -g _openldap -d 256 &
==添加 dc=example,dc=com==
将以下内容保存为一个文件,比如 'dc.ldif':


Code:
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
dc: example
o: example.com
然后使用 ldapadd 工具将它加入到 LDAP 中:


Code:
# ldapadd -x -D 'cn=Manager,dc=example,dc=com' -W -f dc.ldif
Enter LDAP Password:    <-- 这里输入的是 'cn=Manager,dc=example,dc=com' 这个 dn 的密码。
===/etc/rc.local===
增加启动 openldap 的代码:


Code:
if [ -x /usr/local/libexec/slapd ]; then
        echo -n ' OpenLDAP'
        mkdir /var/run/openldap
        chown -R _openldap:_openldap /var/run/openldap
        /usr/local/libexec/slapd -u _openldap -g _openldap
fi
=phpLDAPadmin=
==安装==


Code:
# pkg_add phpldapadmin-0.9.7p1.tgz
# pkg_add php5-mhash-5.1.4.tgz
按照提示设置 apache/php,并启用php的 ldap 模块。

由于 apache 是被 chroot 在 /var/www 目录下的,所以如果程序需要访问 /tmp 目录,则必须为它设置 /var/www/tmp 目录:


Code:
# mkdir /var/www/tmp
# chown www:daemon /var/www/tmp
# chmod 1755 /var/www/tmp
做一个符号链接到 /var/www/htdocs 目录:


Code:
# ln -s /var/www/phpldapadmin-0.9.7p1 /var/www/htdocs/phpldapadmin
==配置==
phpLDAPadmin 的配置文件为 config.php:


Code:
$config->custom->session['blowfish'] = 'secret';
$ldapservers->SetValue($i,'server','name','My LDAP Server');
$ldapservers->SetValue($i,'server','host','127.0.0.1');
$ldapservers->SetValue($i,'server','port','389');
$ldapservers->SetValue($i,'server','base',array('dc=example,dc=com'));
$ldapservers->SetValue($i,'login','dn','cn=Manager,dc=example,dc=com');
$ldapservers->SetValue($i,'login','pass','secret');
$ldapservers->SetValue($i,'appearance','password_hash','ssha');
$ldapservers->SetValue($i,'login','attr','dn');
现在可以访问: http://IP/phpldapadmin/ 作测试了。
用户名为 /etc/openldap/slapd.conf 中设置的 dn 的值:


Code:
cn=Manager,dc=example,dc=com
密码就是在 /etc/openldap/slapd.conf 里的 rootpw,当然,输入的肯定不是 '{SSHA}XXXXXXXXX' 那一大串,而是用 slappasswd 生成加密字符串时的密码。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册