先查看是否已经安装了svn
如果没有安装svn则:
ubuntu@ip-172-31-29-46:~$ svn --version The program 'svn' is currently not installed. You can install it by typing: sudo apt-get install subversion
如果已经安装svn则提示svn版本号:
![bfa46aed5be7377d3c4c42c261d8c7f4.png](https://i-blog.csdnimg.cn/blog_migrate/e520681c61c48de6f2305571fd5068bf.jpeg)
cfj@cfj-virtual-machine:~$ svn --version svn,版本 1.9.7 (r1800392) 编译于 Mar 28 2018,08:49:13 在 x86_64-pc-linux-gnu Copyright (C) 2017 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/
![bfa46aed5be7377d3c4c42c261d8c7f4.png](https://i-blog.csdnimg.cn/blog_migrate/e520681c61c48de6f2305571fd5068bf.jpeg)
2 ubuntu安装svn:
先更新一下(可选)
sudo apt-get update
在线安装命令:
sudo apt-get install subversion
3 创建版本库
在/opt/下面用mkdir命令创建目录svn以及子目录repository。目录结构: /opt/svn/repository
更改更改repository文件夹的权限 改为777
sudo chmod -R 777 /opt/svn/repository
将刚刚创建的目录利用svn命令指定为版本库:
sudo svnadmin create /opt/svn/repository
设置完成之后在repository下面会生产几个文件夹和文件
![4ef5a49549c2b25b58e126b5b534f301.png](https://i-blog.csdnimg.cn/blog_migrate/091771a970b009b04f2b9d49c3450228.jpeg)
主要的配置文件在conf文件夹下面:svnserve.conf,passwd,authz
![a8d088952e06badc726b02c9ded928b8.png](https://i-blog.csdnimg.cn/blog_migrate/c5687a4bc2d538788ea55f61c717d769.png)
4 修改repository文件夹下面的内容,完善配置
- 首先修改db文件夹的权限,改为777。db文件夹是存储svn文件的地方
sudo chmod -R 777 /opt/svn/repository/db
- 其次修改con文件夹下面的svnserve.conf文件
ubuntu@ip-172-31-29-46:/opt/svn/repository$ cd conf ubuntu@ip-172-31-29-46:/opt/svn/repository/conf$ sudo vi svnserve.conf
![058c1448b704daeeafd3d162cbf0add6.png](https://i-blog.csdnimg.cn/blog_migrate/8362d49c8134cd9ebcc52cc9c4f1c15e.jpeg)
#匿名用户可读
anon-access = read(可改成none,即不可读)
#权限用户可写auth-access = write#密码文件为passwdpassword-db = passwd#权限文件为authzauthz-db = authz
(去掉前面的#,并且顶格,不然可能会报错)
- 再者修改con文件夹下面的passwd文件,增加用户和用户密码
格式:用户名=密码(明文)
sudo vi passwd
![9245d6afa7257116082f524e3bd61e0d.png](https://i-blog.csdnimg.cn/blog_migrate/bad2e59b99ff1f2a4a26a64dac022ef1.jpeg)
以上设置用户为admin密码为admin
- 最后修改con文件夹下面的authz文件,增加用户组,目录认证,组权限
sudo vi authz
![30edeceb976b008556d33c5061de34b6.png](https://i-blog.csdnimg.cn/blog_migrate/789e906964b2979754793431a1ed7957.jpeg)
如果组内有多个人可以逗号分隔如:组名owner,组员user1,user2则:owner=user1,user2
对组的访问权限设置:rw,r,w。组名前面加@
@owner=rw
如果单用户设置则一个用户一行:
user1=rw
![f36e64b22e86a82cc9b9b23f7f6ff3d6.png](https://i-blog.csdnimg.cn/blog_migrate/84c868b929ddadd7ef1210a6bab15af2.jpeg)
单库模式则设置为:[/] 本例子为单库模式
5 启动svn版本库
svnserve -d -r /opt/svn/repository
-d:表示在后台运行 ,-r:指定服务器的根目录
启动之后可以查看进程:
ubuntu@ip-172-31-29-46:/opt/svn/repository/conf$ ps -ef|grep svnserve ubuntu 12593 1 0 13:37 ? 00:00:00 svnserve -d -r /opt/svn/repository ubuntu 12595 11736 0 13:37 pts/0 00:00:00 grep --color=auto svnserve
如果需要停止,则kill -9 进程号
查看端口号,默认端口3690
sudo netstat -ntlp
![92147d2a95ff0497bc1b36767483240c.png](https://i-blog.csdnimg.cn/blog_migrate/74c346111f61323896ea68c2ce95843b.jpeg)
6 客户端可以安装TortorSVN, 然后直接用svn://IP地址/repository
就可以连接上