ubuntu 18.04中快速搭建svn服务器

安装软件包:
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

svn 常用操作命令

你可能感兴趣的:(ubuntu 18.04中快速搭建svn服务器)