sudo apt install subversion
sudo mkdir /home/svn
sudo svnadmin create /home/svn/repos
bovenson@Lenovo:/home/svn/repos$ tree
.
├── conf # 存放主配置文件和用户、权限位置
│ ├── authz # authz文件是设置用户权限
│ ├── hooks-env.tmpl
│ ├── passwd # passwd文件是存储用户及密码
│ └── svnserve.conf # svnserve.conf是主配置文件
├── db # 存放svn转储后的数据
│ ├── current
│ ├── format
│ ├── fsfs.conf
│ ├── fs-type
│ ├── min-unpacked-rev
│ ├── revprops
│ │ └── 0
│ │ └── 0
│ ├── revs
│ │ └── 0
│ │ └── 0
│ ├── transactions
│ ├── txn-current
│ ├── txn-current-lock
│ ├── txn-protorevs
│ ├── uuid
│ └── write-lock
├── format
├── hooks
│ ├── post-commit.tmpl
│ ├── post-lock.tmpl
│ ├── post-revprop-change.tmpl
│ ├── post-unlock.tmpl
│ ├── pre-commit.tmpl
│ ├── pre-lock.tmpl
│ ├── pre-revprop-change.tmpl
│ ├── pre-unlock.tmpl
│ └── start-commit.tmpl
├── locks
│ ├── db.lock
│ └── db-logs.lock
└── README.txt
10 directories, 28 files
# sudo vi svnserve.conf # 将以下参数去掉注释
[general]
anon-access = none #匿名访问权限,默认read,none为不允许访问
auth-access = write #认证用户权限
password-db = passwd #用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定文件位置
authz-db = authz
# sudo vi passwd #格式是用户名=密码,采用明文密码
[users]
xiaoming = 123
zhangsan = 123
lisi = 123
# sudo vi authz
[groups] #定义组的用户
manager = xiaoming
core_dev = zhangsan,lisi
[repos:/] #以根目录起始的repos版本库manager组为读写权限
@manager = rw
[repos:/media] #core_dev对repos版本库下media目录为读写权限
@core_dev = rw
#!/bin/bash
ps -e | grep svnserve | awk '{print $1}' | xargs kill -9
sudo svnserve -d -r /home/svn/repos --listen-port 8443