在Ubuntu10.04服务器内为svn用户和组管理配置OpenLDAP

在Ubuntu10.04服务器内为svn用户和组管理配置OpenLDAP,svn,configuration,ldap,ubuntu-10.04,openldap,Svn,Configuration,Ldap,Ubuntu 10.04,Openldap,在Ubuntu10.04中配置apache2和svn之后,我假装安装了OpenLDAP,以使用LDAP协议配置和管理svn存储库中的用户和组 然而,OpenLDAP最近似乎进行了一些修改,Ubuntu关于OpenLDAP的官方文档已经过时 我发现一些论坛和博客提供了使用OpenLDAP的方法,但没有一个论坛和博客使用相同的算法进行配置,所以我不确定什么是适合实现的,什么是不适合实现的。希望看到一些关于此的可靠信息的回复。目前还没有。您可以通过cyrus sasl机制将SVN配置为使用LDAP验证

在Ubuntu10.04中配置apache2和svn之后,我假装安装了OpenLDAP,以使用LDAP协议配置和管理svn存储库中的用户和组

然而,OpenLDAP最近似乎进行了一些修改,Ubuntu关于OpenLDAP的官方文档已经过时


我发现一些论坛和博客提供了使用OpenLDAP的方法,但没有一个论坛和博客使用相同的算法进行配置,所以我不确定什么是适合实现的,什么是不适合实现的。希望看到一些关于此的可靠信息的回复。

目前还没有。您可以通过cyrus sasl机制将SVN配置为使用LDAP验证。不幸的是,这有一个问题,它无法工作(对于SVN服务器),但是开发人员已经修复了sasl的问题,它将与SVN1.7 IIRC一起发布


对于运行基于Apache的SVN,这很容易。对于mod_auth_ldap,您就完成了。

我刚刚做了同样的事情。以下是我能找到的最好的链接:

我还发现了将OpenLDAP模式转换为.ldif格式的脚本(尽管我不得不对脚本进行一些调整以使其正常工作):

最后,我提供了这两个bash脚本,它们基于这些链接中的信息,在我开发时帮助了我:)

#/bin/bash
#初始化OpenLDAP.sh
如果[$EUID-ne 0]];然后
echo“此脚本必须以root身份运行!”1>&2
出口1
fi
ldapadd-Y EXTERNAL-H ldapi://-f/etc/ldap/schema/cosine.ldif
ldapadd-Y外部-H ldapi://-f/etc/ldap/schema/nis.ldif
ldapadd-Y EXTERNAL-H ldapi://-f/etc/ldap/schema/inetorgperson.ldif
python schema-convert.py.schema | ldapadd-Y EXTERNAL-H ldapi:///
ldapadd-Y外部-H ldapi://-f backend.ldif
ldapadd-x-dcn=admin,-W-f frontend.ldif

希望这有帮助

看起来语法突出显示在以下位置有点混乱:s
#!/bin/bash
# reset_OpenLDAP.sh

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root!" 1>&2
   exit 1
fi

aptitude -y purge slapd ldap-utils
cat /dev/null > /var/log/debug
rm /var/lib/ldap/*
rm  -rf /etc/ldap
apt-get -y install slapd ldap-utils
#!/bin/bash
# initialize_OpenLDAP.sh

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root!" 1>&2
   exit 1
fi

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
python schema-convert.py <custom_schema>.schema | ldapadd -Y EXTERNAL -H ldapi:///

ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif

ldapadd -x -D cn=admin,<BASE_DN> -W -f frontend.ldif