CentOS Apache+SVN+LDAP配置与认证

系统教程 guchen 6℃ 0评论

一、简要说明
CentOS-6.4-x86_64下Apache+SVN+LDAP配置与认证,这种是比较简单的SVN版本库通过LDAP认证的方法,里面加入了简单的软RAID5应用。

二、SVN搭建
1、服务器版本
#lsb_release -a
适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
#getconf LONG_BIT
查看系统是64位还是32位。

CentOS Apache+SVN+LDAP配置与认证-顾辰的技术博客

2、更新软件源
http://mirrors.163.com/.help/CentOS6-Base-163.repo
/etc/yum.repos.d/CentOS-Base.repo

3、安装软件包
yum install httpd httpd-devel mod_dav_svn subversion mod_ssl
yum install mdadm
yum update

4、配置软Raid5
当前环境是挂载4块硬盘并做软RAID5
创建raid5
mdadm –create –auto=yes /dev/md0 –level=5 –raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
#ls /dev/md*
#mdadm –stop /dev/md127

查看RAID状态
mdadm –detail /dev/md0
cat /proc/mdstat

创建文件系统为ext4
mkfs.ext4 /dev/md0

创建目录/mnt/runpub,挂载
mkdir /mnt/runpub
mount /dev/md0 /mnt/runpub

设置开机启动
mdadm –detail /dev/md0 | grep -i uuid
vi /etc/mdadm.conf
ARRAY /dev/md0 UUID=5640933d:9e2d475c:732b1efb:1924b72a

vi /etc/fstab
/dev/md0 /mnt/runpub ext4 defaults 1 2

5、配置Apache
验证svn模块(mod_dav_svn)是否正确安装
cd /etc/httpd/modules
ls | grep svn

验证svn是否正确安装
svn –version

编辑apache配置文件httpd.conf
vi /etc/httpd/conf/httpd.conf
KeepAlive on

RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

6、配置SVN
编辑svn配置文件subversion.conf
vi /etc/httpd/conf.d/subversion.conf

加载mod_dav_svn模块,一般apache2己正常加载这两个模块
apache需要加载mod_dav_svn模块。如果apache是按照与预设目录安装的,mod_dav_svn模块应该会安装在apache安装位置(默认路径是/etc/httpd/)的 modules子目录内。同时apache的配置文件httpd.conf(默认路径为etc/httpd/conf/)中已经使用LoadModule指令加载了该模块(如果没有,手动添加)注意这个指令必须出现在其它的Subversion相关指令之前。还要加载mod_authz_svn.so模块。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
配置版本库

DAV svn
AuthType Basic
AuthName “Subversion Repository”
SVNListParentPath on
SVNParentPath /mnt/runpub/svn
AuthBasicProvider ldap
AuthLDAPBindDN “gu_chen@guchen.com”
AuthLDAPBindPassword “123456”
AuthLDAPURL “ldap://10.20.0.3:389/ou=Domain-User,dc=njcto,dc=com?sAMAccountName?sub?(objectClass=*)”
AuthzLDAPAuthoritative on
AuthzSVNAccessFile /mnt/runpub/svn/dav_svn.authz
Require valid-user

7、创建SVN库
1.创建SVN库
mkdir /mnt/runpub/svn

2.仓库初始化
mkdir -p /mnt/runpub/svn/test
svnadmin create /mnt/runpub/svn/test
执行上面的命令后,自动在test目录下建立多个文件,分别是conf、db、format、hooks、locks、README.txt。

3.修改目录权限
chmod -R 777 /mnt/runpub/svn
chown -R apache:apache /mnt/runpub/svn/test

4.配置用户权限
编辑用户权限配置文件dav_svn.authz
vi /mnt/runpub/svn/dav_svn.authz
[/]
*=r

[groups]
testUser=gu_chen

[test:/]
*=r
@testUser = rw

注释:
[groups]定义组
testUser定义组的名字,命名规范为:仓库名User
[/] 表示所有仓库根目录
[test:/] 表示仓库test的所有目录
@testUser = rw 表示定义的testUser组有读写权限

启动apache服务
#/etc/init.d/httpd restart

启动svn服务
#svnserve -d

将apache服务添加到开机启动项
#chkconfig httpd on

转载请注明:顾辰的技术博客 » CentOS Apache+SVN+LDAP配置与认证

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址