打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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



相关内容:
征服 Apache + SSL
征服 Apache + SVN
征服 Apache + SVN +  LDAP
征服 Apache + Tomcat
征服 Nginx
征服 Nginx + Tomcat


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

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

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

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


如果连接成功,可以获得一堆该账户下的所有LDAP信息。如果不成功,只能向LDAP服务提供者咨询了!

PS:这一个月,我被LDAP服务搞死了,公司负责LDAP服务维护的同事也不懂如何配置相关应用中的LDAP连接。我只能误打误撞,挨个参数测验了。

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

Shell代码  
  1. sudo apt-get install ldap-utils  


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

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


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


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


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

Shell代码  
  1. sudo vi /etc/apache2/mods-available/dav_svn.conf  


找到AuthType Basic,追加AuthBasicProvider ldap,同时注释掉AuthUserFile
以下是配置片段:
Conf代码  
  1.     AuthType Basic  
  2.     AuthName "Subversion Repository"  
  3.   
  4. #使用LDAP服务校验用户身份,废弃密码文本  
  5. #    AuthUserFile /etc/apache2/dav_svn.passwd  
  6.   
  7.     AuthzSVNAccessFile /etc/apache2/dav_svn.authz  
  8.   
  9. #以下为LDAP服务配置  
  10.     AuthBasicProvider ldap  
  11.   
  12.     AuthzLDAPAuthoritative off  
  13.   
  14. #LDAP连接  
  15.         AuthLDAPURL "ldap://ldap.zlex.org/dc=zlex,dc=org?sAMAccountName?sub?(objectClass=user)"   
  16.   
  17. #邦定用户  
  18.         AuthLDAPBindDN "snowolf@zlex.org"  
  19.   
  20. #邦定密码        
  21.         AuthLDAPBindPassword "11111111"  
  22.   
  23.         Require valid-user  


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


参考
http://www.jejik.com/articles/2007/06/apache_and_subversion_authentication_with_microsoft_active_directory/
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Ubuntu18.04基于Apache搭建SVN服务器
Leo的迷雾森林 学习lamp的经历
UbuntuHelp:ApacheMySQLPHP/zh
Ubuntu Server 安装 Subversion实现精细的目录访问权限控制
Apache2/SSL Subversion PAM认证服务器配置
ubuntu9.04下的lamp安装
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服