SVN服务器配置
1. 安装 Subversion,您只需要简单的运行:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
2. 创建 SVN 仓库
执行下面的命令:
$ sudo groupadd subversion // 添加组
将“www-data”(Apache 用户)用户添加到subversion组中
$ sudo usermod -G subversion www-data
添加www-data是为通过apache(http协议)访问文件仓库是有相应的权限
$ sudo useradd -m svnuser -g subversion // -m表示创建用户时同时创建用户主目录
添加新用户,然后以这个用户登录系统
我们假设您的 Subversion 文件仓库放在 /home/svnuser/svn,并且你的项目名称是简单的"myproject"
现在执行下面的命令
$ sudo mkdir /home/svnuser/svn
$ cd /home/svnuser/svn
$ sudo mkdir myproject
$ sudo chmod -R g+rws myproject
最后的一条命令赋予组成员对所有新加入文件仓库的文件拥有相应的权限
说明:最后一条命令中的s位,表示set UID或set GID。位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID执行程序。如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序
下面的命令用于创建 SVN 文件仓库:
$ svnadmin create /home/svnuser/svn/myproject 创建库,创建库后会在myproject目录下生成一些文件
下面的命令用于将项目导入到SVN 文件仓库:
$ svn import -m "import myproject" /home/svnuser/src/hrqsys file:///home/svnuser/svn/hrqsys
一定要注明导入信息
3. 用户权限
当创建了 SVN 文件仓库,您可以修改 /home/svnuser/svn/myproject/conf/svnserve.conf 来配置其访问控制。
编辑svnserve.conf文件,把如下两行取消注释
password-db = /home/svnuser/etc/passwd
authz-db = /home/svnuser/etc/authz
这里为了方便管理,把所有项目的用户账号和用户权限统一放在/home/svnuser/etc目录下,可以方便新增项目时的管理操作
编辑/home/svnuser/etc/passwd如下
[users]
test = 123456
test1 = 123456
test2 = 123456
编辑/home/svnuser/etc/authz如下
[groups]
g_admin = test,test1
g_test = test2
[/]
@g_admin=rw
*=r
这里设置了三个用户test,test1,test2密码都是123456
其中test和test1属于g_admin组,有读和写的权限,test2属于g_test组只有读的权限
在导入数据之后,你会发现原先的目录树并没有纳入版本控制,为了开始工作,
你还是要在工作目录运行svn checkout得到一个干净的目录树工作拷贝。
例如:svn checkout svn://localhost/myproject --username lxy --password 123456 /var/www/myproject
svnserve -d -r /home/svn 起动SVN服务
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
例如:可以用 svn://192.168.1.13/myproject访问了