征服 Apache + SVN + LDAP

最近跟LDAP干上了,几乎所有的系统都要跟LDAP整合。一开始技术热情高涨,接着就是被LDAP的种种细节折磨。终于,有那么一天,几乎所有的基于LDAP服务的应用全部整合完毕。这一刻,我也体会到了企业中使用LDAP,对于帐号管理是多么的方便。不自然地,竟然想要把接触到的系统全部整合LDAP。 :) 着魔了!赶在脑子还算清醒的阶段,赶紧整理Apache+SVN+LDAP系统! :D

[b]
相关内容:
[url=http://snowolf.iteye.com/blog/739475]征服 Apache + SSL[/url]
[url=http://snowolf.iteye.com/blog/740347]征服 Apache + SVN[/url]
[url=http://snowolf.iteye.com/blog/892001]征服 Apache + SVN + LDAP[/url]
[url=http://snowolf.iteye.com/blog/743611]征服 Apache + Tomcat[/url]
[url=http://snowolf.iteye.com/blog/1497929]征服 Nginx[/url]
[url=http://snowolf.iteye.com/blog/1539932]征服 Nginx + Tomcat[/url]
[/b]

对于开发服务器,如果只有subersion,虽然也可以通过[url]svn://host/svn[/url]方式访问svn;但是,这样的访问方式,终归不方便,尤其是外网访问,于是,我们整合Apache中的WebDAV,使之可以通过[url]http://host/svn[/url]方式访问svn;可是,如果直接通过外网访问svn,于是,我们结合SSL,以[url]https://host/svn[/url]方式访问svn;当然,如果有很多人要使用svn,svn帐号管理就成为一个麻烦事!如何解决?帐号分配,密码更迭等等,这些事情都很麻烦。LDAP,正好解决这个问题!

在搭建Apache+SVN+LDAP服务前,先使用ldapSearch命令检测下LDAP服务连接:
ldapsearch -h ldap.zlex.org -p 389 -x -b "cn=users,dc=zlex,dc=org" -D "snowolf@zlex.org" -w 11111111

简要描述:
[b]-h[/b] 主机地址
[b]-p[/b] 端口号(默认389)
[b]-x[/b] 简单授权
[b]-b[/b] BaseDN
[b]-D[/b] BindDN 这里就是邦定的用户帐号了
[b]-w[/b] 显式输入密码
[b]-W[/b] 隐式输入密码

这是基于绑定用户帐号方式访问LDAP服务,如果可以匿名访问LDAP,这事情就更简单了,也就更不安全了! :(

如果连接成功,可以获得一堆该账户下的所有LDAP信息。如果不成功,只能向LDAP服务提供者咨询了! :(
PS:这一个月,我被LDAP服务搞死了,公司负责LDAP服务维护的同事也不懂如何配置相关应用中的LDAP连接。我只能误打误撞,挨个参数测验了。

如果你的Ubuntu正好不能使用这个命令,那么就执行下面的命令安装好了!

sudo apt-get install ldap-utils


在Ubuntu下,想要搭建Apache+SVN+LDAP,除了完成Apache+SVN服务搭建,只需要通过追加ldap模块的方式,就可以很快完成这套服务的搭建工作。

如果不知道哪些apache模块跟ldap有关,我们可以使用这个命令找到相关模块:
sudo apt-cache search apache2 ldap


如下提示:
[quote]libapache2-mod-ldap-userdir - Apache module that provides UserDir lookups via LDAP
libapache2-mod-vhost-ldap - Apache 2 module for Virtual Hosting from LDAP[/quote]

这下,事情就简单了,直接安装相关模块:
sudo apt-get install libapache2-mod-ldap-userdir libapache2-mod-vhost-ldap


接下来,修改我们上次的SVN配置文件:

sudo vi /etc/apache2/mods-available/dav_svn.conf


找到[b]AuthType Basic[/b],追加[b]AuthBasicProvider ldap[/b],同时注释掉[b]AuthUserFile[/b]。
以下是配置片段:

AuthType Basic
AuthName "Subversion Repository"

#使用LDAP服务校验用户身份,废弃密码文本
# AuthUserFile /etc/apache2/dav_svn.passwd

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

#以下为LDAP服务配置
AuthBasicProvider ldap

AuthzLDAPAuthoritative off

#LDAP连接
AuthLDAPURL "ldap://ldap.zlex.org/dc=zlex,dc=org?sAMAccountName?sub?(objectClass=user)"

#邦定用户
AuthLDAPBindDN "snowolf@zlex.org"

#邦定密码
AuthLDAPBindPassword "11111111"

Require valid-user


悲哀地是,LDAP服务现在还不知道如何构建。对于LDAP服务,我也知之甚少,更无法深入了解每一个参数的含义。构建LDAP服务,将是我下一个技术攻坚标杆! :D

参考
[url]http://www.jejik.com/articles/2007/06/apache_and_subversion_authentication_with_microsoft_active_directory/[/url]

[b]
相关内容:
[url=http://snowolf.iteye.com/blog/739475]征服 Apache + SSL[/url]
[url=http://snowolf.iteye.com/blog/740347]征服 Apache + SVN[/url]
[url=http://snowolf.iteye.com/blog/892001]征服 Apache + SVN + LDAP[/url]
[url=http://snowolf.iteye.com/blog/743611]征服 Apache + Tomcat[/url]
[url=http://snowolf.iteye.com/blog/1497929]征服 Nginx[/url]
[url=http://snowolf.iteye.com/blog/1539932]征服 Nginx + Tomcat[/url]
[/b]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值