2.添加svn管理用户及subversion组
#添加用户$ sudo adduser svnuser#添加分组$ sudo addgroup svngroup#添加用户到分组$ sudo adduser svnuser svngroup3.创建项目目录
$ sudo mkdir /var/www/svn$ cd /var/www/svn4.创建SVN文件仓库
$ sudo svnadmin create /var/www/svn/svnroot5.修改所有者
chown svnuser.svngroup -R svnroot6.访问方式及项目导入
$ svn co file://var/www/svn/svnroot或者$ svn co file://localhost/var/www/svn/svnroot#注意:
如果您并不确定主机的名称,必须使用三个斜杠(///),而如果您指定了主机的名称,则必须使用两个斜杠(//).#下面的命令用于将项目导入到SVN 文件仓库,一定要注明导入信息
svn import -m "new commit" /root/test file://localhost/var/www/svn/svnroot/root/test是需要导入的文件的位置
file://localhost/var/www/svn/svnroot是仓库地址7.访问权限设置
修改 /var/www/svn/svnroot/目录下:svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格编辑svnserve.conf文件,把如下两行取消注释
password-db = passwordauthz-db = authz//补充说明
#[general]anon-access = readauth-access = writepassword-db = passwd其中anon-access和auth-access分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read改成none就能达到目的。 编辑var/www/svnuser/etc/passwd 如下:[users]FansUnion = 123456编辑var/www/svnuser/etc/authz如下
[groups]admin = FansUnion[/]
@admin=rw*=r这里设置了FansUnion这个用户,密码是1234568.启动SVN服务
svnserve -d -r /var/www/svn描述说明:-d 表示svnserver以“守护”进程模式运行-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库如: svn://localhost/svnroot这时SVN安装就完成了.
局域网访问方式:例如:svn checkout svn://localhost/svnroot --username FansUnion --password 123456 /var/www/svnroot/ 二、通过HTTP访问SVN仓库(Apache)1.安装包 (已安装subversion)$ sudo apt-get install libapache2-svn2.创建版本仓库
sudo svnadmin create /var/www/svn/svnroot目录地址必须存在,这个就是保存版本仓库的地方,不同的版本仓库创建不同的文件夹即可,比如:本来/var/www/svn/svnroot这个目录下什么都没有,执行下面的命令之后再去看一下,多出一些文件和文件夹,我们需要操作的是conf这个文件夹,这个文件夹下有一个文件,叫做passwd,用来存放用户名和密码。
3.修改用户和组
然后把这个版本仓库目录授权给apache读写:sudo chown -R www-data:www-data /var/www/svn/svnroot4.编辑apache配置文件
sudo vim /etc/apache2/mods-available/dav_svn.conf加入如下内容:
<Location /svnroot>DAV svnSVNPath /var/www/svn/svnrootAuthType BasicAuthName "Dream Team Svn Repos"AuthUserFile /var/www/svn/svnroot/conf/passwd#<LimitExcept GET PROPFIND OPTIONS REPORT>Require valid-user#</LimitExcept></Location>location说的是访问地址,比如上述地址,访问的时候就是
http://127.0.0.1/svnroot其中有两行被注释掉了,以保证每次都需要用户名密码。5.创建访问用户
建议将用户名密码文件存放在当前版本仓库下conf文件夹下,这样版本仓库多的时候无至于太乱。因为conf文件夹下已经存在passwd文件了,所以直接添加用户:sudo htpasswd -c /var/www/svn/svnroot/conf/passwd leiwen
(-c,创建passwdfile文件。如果passwdfile已经存在,那么将被清空并改写。)然后输入两遍密码,leiwen这个用户就创建好了。
打开/var/www/svn/svnroot/conf/passwd这个文件,会开到形如如下形式的文本:leiwen:$apr1$spmGy53l$m7RcVXWq/xsAEtRXFDlD4 //后面是加密后的密码。#这种方法比较合适
sudo htpasswd -b /var/www/svn/svnroot/conf/passwd FansUnion 123456(123456将被加密,已有的密码文件会被更新,而不是从新创建) 创建以后,再次需要往别的版本仓库添加这个用户,直接把这一行复制过去就可以了。6.重启apache
sudo /etc/init.d/apache2 restart或service apache2 restart
7.htpasswd命令参考Usage: htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username passwordhtpasswd -n[mdps] username
htpasswd -nb[mdps] username password -c Create a new file. -n Don't update file; display results on stdout. -m Force MD5 encryption of the password (default). -d Force CRYPT encryption of the password. -p Do not encrypt the password (plaintext). -s Force SHA encryption of the password. -b Use the password from the command line rather than prompting for it. -D Delete the specified user.On other systems than Windows, NetWare and TPF the '-p' flag will probably not work.The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.有问题请留言.
原文参见:(小雷网-FansUnion.cn)