综合了几个网页信息,结合自己的理解,在Ubuntu11上搭建成功了svn server
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn安装完后按照提示
Run '/etc/init.d/apache2 restart' to activate new configuration!
重启apache2
第二步:创建SVN库和项目
sudo mkdir /home/svn //创建SVN库
sudo svnadmin create /home/svn/project //创建项目
第三步:创建组并添加成员
sudo addgroup subversion //创建一个叫subversion的组为拥有仓库所在的目录
系统提示: 正在添加组"subversion" (GID 1001)...
完成。
sudo usermod -G subversion -a www-data //将自己和“www-data”(Apache 用户)加入组成员中
查看:more /etc/group | grep subversion
系统提示:subversion:x:1001:www-data
第三步:修改项目权限
sudo chown -R root:subversion /home/svn/project
sudo chmod -R g+rws /home/svn/project //赋予组成员对所有新加入文件仓库的文件拥有相应的权限
查看txn-current-lock文件的权限和用户以及组信息
ls -l /home/svn/myproject/db/txn-current-lock
系统提示:-rw-rwSr-- 1 root subversion 0 2011-01-25 17:47 /home/svn/project/db/txn-current-lock
第四步:通过自带协议访问(svn://)
创建了 SVN 文件仓库后,修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制
例如,可以取消下面的注释符号来设置授权机制:
# [general]
# password-db = passwd
# anon-access = read/none (none代表客户端登录时需要密码)
可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:
username = password (注意行开始不要有多余空格)
通过如上配置后,可以在本地或者远程通过 svn:// 访问SVN 版本库了,使用“svnserve”来运行 svnserver,
语法如下:
$ svnserve -d --foreground -r /home/svn(要访问版本库,必须保证此命令一直在终端运行)
然后可以通过下面的命令来访问文件仓库:
$ svn co svn://hostname/myproject myproject
按要求输入密码。一旦通过验证,就会签出文件仓库中的代码。
若要进行权限控制,取消/home/svn/myproject/conf/svnserve.conf下# authz-db = authz 前的# ,并根据实际情况修改/home/svn/myproject/conf下的authz文件,实现不同的权限控制