这个LDAP认证搞了我很久,也郁闷了很久,可能自己菜的原因吧,不过,终于成功了!原来也没有相像中那么复杂。这次重新做一次,把过程写下来,给大家参考学习。
服务器平台centOS 5.1 ,部分包是yum install 安装,部分是源码安装,yum安装的是默认源的包,源码安装是2009年1月份最新的包。
安装前的准备工作
# mkdir –p /data/packages
//习惯性的把一些包放在一个位置
# yum install openldap-devel zlib-devel expat-devel
#为什么要装这些?因为我配置的时候没装这些,结果报错,或许你的系统已经安装了这些,但有些我已经安装但你没安装的,到时出错报错可以放狗找(),相信很容易找到的!
到官方下载subversion-1.5.5.tar.bz2
httpd-2.2.11.tar.gz
安装apache
# cd /data/packages
# tar zxvf httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-dav=share --enable-dav-fs --with-ldap --enable-ldap --enable-authnz-ldap
# make
# make install
安装subversion
安装subversion 前先安装zlib ,之前安装低版本的SVN,zlib 是用yum install 来安装的,但这个版本提示找不到zlib所以要源码安装,再指定路径!
# cd /data/packages
# tar zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure –prefix=/usr/local/zlib
# make && make install
OK 开始安装SVN
# cd /data/packages
# tar jxvf subversion-1.5.5.tar.bz2
# cd /subversion-1.5.5
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode
//配置完后会提示没有安装
# make
# make install
如果make install 有以下错误,关闭SELINUX 既可
/data/packages/subversion-1.5.5/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: /data/packages/subversion-1.5.5/subversion/libsvn_subr/.libs/libsvn_subr-1.so.0: cannot restore segment prot after reloc: Permission denied
make: *** [revision-install] Error 127
执行
# vi /etc/selinux/config
找到SELINUX=enforcing 改为 SELINUX=disabled
# vi /etc/sysconfig/selinux
如果找到SELINUX=enforcing 也改为 SELINUX=disabled
# /usr/local/subversion/bin/svnadmin create /data/svn
创建svn资料库
当你发现 /data/svn 下多了几个文件,就证明成功了!
# /usr/local/subversion/bin/svn import /data/packages file:///data/svn -m “Rookie-HAO”
/data/packages 的位置是填你要导入的目录
-m 后面 “ ” 里的是说明文字
SVN通过apache访问、SVN通过LDAP认证
最重要的环节到了!
# vi /usr/local/apache2/conf/httpd.conf
//修改apache 的配置文件以达到标题的效果
添加以下内容到httpd.conf 中
DAV svn //开启sbuversion
SVNPath /data/svn //库的目录
AuthType Basic //使用基本的密码认证
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL [url=ldap://10.44.100.150:389/ou=People,dc=rookie,dc=com?uid]ldap://10.44.100.150:389/ou=People,dc=rookie,dc=com?uid[/url] //LDAP访问目录
AuthName "ok" //网站说明文字
Require valid-user //允许合法用户登录
我这种是比较简单的SVN单版本库通过LDAP认证的方法,具体哪一行有哪些作用大家可以到apache 的官方查看!
# /usr/local/apache2/bin/apachectl start 开启apache
然后在其它的内网的机主打开浏览器,地址输入 就可以使用在ldap 中创建的用户登录svn了!
登录失败的话注意AuthLDAPURL 有没有写错,我的服务器上的ldap新建了ou=People的!这一行不能完全按照我写!
阅读(8008) | 评论(0) | 转发(0) |