安装软件包:
sudo apt-get install subversion
创建版本仓库
sudo mkdir /home/svn
sudo svnadmin create /home/svn/test
cd /home/svn/test
下面进行配置, 我们需要修改conf目录下的三个文件,authz, passwd, svnserve.conf
编辑svnserve.conf
[general]
匿名用户不可读
anon-access = none
权限用户可写
auth-access = write
密码文件为passwd
password-db = passwd
权限文件为authz
authz-db = authz
编辑authz 制定管理员组 即admin组的用户为tone admin组有rw(读写权限) 所有人有r(读权限)
[groups]
admin = tone
user = user1,user2
[/]
@admin = rw
@user = r
-
=
这里组的名字 不一定叫admin 你的管理员组名 可以叫做任意的名字,另外比如admin组还有其他用户,可以这样制定 admin=user1,user2,user3类似这样的写法在[groups]下增加以下内容
admin = admin
user = user1,user2
规定了两个组,admin和user
[/] 根目录权限
admin = rw admin用户得权限为读写
@user = r user组的权限,指定组前面必须加上@
[/trunk/fitness] 制定指定目录权限
@user=rw
权限有继承性,子文件夹能够继承权限
编制passwd 文件 设定用户密码
[users]
harry = harryssecret
sally = sallyssecret
tone=root111
tone的密码为root111。
以上都做完之后,就可以开启你的svn服务器了。
sudo svnserve -d -r /home/svn/
-d 已守护模式启动
-r 制定svn版本库根目录 这样是便于客户端不用输入全路径 就可以访问版本库了
svn://这个机器的ip地址/test
例如:svn://127.0.0.1/test
值得注意的是 我这里是用sudo 启动的 因为之前的svn目录 及test目录 我都是在sudo下创建的。目录的所属权限都是root
如果我以 下面的方式启动 是可以的 ,但是当客户段提交文件的时候 会出问题,因为此时的svnserve 服务对svn版本库目录没有写的权限
svnserve -d -r /home/svn/
检查svn服务器是否已经启动(svn默认使用3690端口):
netstat -an | grep 3690
netstat -tl
如果需要停止svn服务,则用此命令:
sudo killall svnserve
设置svn服务开机启动:
在init.d目录建立一个脚本文件svnd.sh:
cd /etc/init.d ,
打开svnd.sh进行编辑:
sudo nano svnd.sh,
输入svnd.sh内容如下(/home/svn 为svn仓库路径,注意lsb tag):
!/bin/bash
BEGIN INIT INFO
Provides: bbzhh.com
Required-Start:
network
Required-Stop: $local_fs
Default-Start: 2 3 4 5
Default-Stop: 0 1 6
Short-Description: tomcat service
Description: tomcat service daemon
END INIT INFO
svnserve -d -r /home/svn
保存退出。
修改权限:
sudo update-rc.d svnd.sh defaults
sudo chmod 777 svnd.sh
网友评论