Linux搭建svn服务器
2017-06-05 本文已影响358人
对方不想理你并向你抛出一个异常
本例使用阿里云的ECS服务器,系统为Ubuntu 14.0.4
- 安装subversion
sudo apt-get install subversion
- 可以输入
apt-get install subversion
,按下两次tab键,查看是否有subversion
- 确认有subversion后,然后安装,中途需要确认一次,输入
y
按回车键 - 安装完成后,创建仓库的目录,本例放在
/home
目录下
cd /home/
mkdir svn
cd svn
mkdir iOS
- 新建一个版本仓库
svnadmin create /home/svn/iOS
-
创建之后在
/home/svn/iOS
下,有 -
conf/
-
db/
-
format
-
hooks/
-
locks/
-
README.txt
-
进入
conf
目录
cd conf/
-
vi svnserve.conf
,将下面的注释打开
并修改anon-access = none
,表示不在授权名单中的用户无法访问仓库
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
-
vi password
。添加用户
smh=smh123
hhc=huhuachao
用户名
=密码
vi authz
[groups]#用户组,下面有两个用户组admin和coder
admin=mw
coder=smh,hhc
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
#子目录配置,可以先配置根目录权限,用根目录权限中的账号checkout之后,再创建子目录提交
#用户组coder中的用户在/android子目录有读写权限。
#*=表示其他用户没有权限,如果要其他用户有读权限,可以这样设置*=r
[/android]
@coder=rw
*=
[/server]
hhc=rw
*=
#跟目录配置,根目录只有mw这个用户有读写权限
[/]
mw=rw
*=
- 启动svnserve进程
svnserve -d -r /home/svn [--listen-port 3690]
-
-d
表示后台运行 -
-r /home/svn
表示指定根目录 -
--listen-port 3690
表示指定端口,默认就是 3690,所以如果要用默认端口这个也是可以省略掉的 - 如果开启了防火墙,需要防火墙将3690端口放行
这里注意,绝对不能svnserve -d -r /home/svn/iOS/ [--listen-port 3690]
- 重启svnserve进程
killall svnserve
svnserve -d -r /home/svn [--listen-port 3690]
- 也可以这样重启
ps aux|grep svnserve
查看进程id,然后
kill -9 进程id
然后启动svnserve
进程
svnserve -d -r /home/svn [--listen-port 3690]