背景:
做为一名嵌入式工程师,工作了八九年,积攒了大量的学习资料,家里备有3个电脑、好几块硬盘,另外还有百度云盘、阿里云盘等。各种零碎的资料、不知如何分类,导致出现了有的资料只出现在某一个硬盘中,或者是某一个资料存在了多台电脑多台硬盘中,总之这个资料是越管理越乱…终于狠下心来,搞一个SVN服务器吧,用于存储自己的小知识库
1、安装subversion
sudo apt-get install subversion
2、创建repository
mkdir /home/test/workspace/svn/
chmod 777 /home/test/workspace/svn/ -R
svnadmin create /home/test/workspace/svn/decomutations //创建第一个repository
svnadmin create /home/test/workspace/svn/tools //创建第二个repository
svnadmin create /home/test/workspace/svn/photos //创建第三个repository
3、修改配置(以第一个项目为例)
cd /home/test/workspace/svn/decomutations/conf
(1)、配置权限信息
vim svnserve.conf
在文件中分别找到"# anon-access = read" "# auth-access = write" "# password-db = passwd" "# authz-db = authz",取消它们的注释,修改为:
anon-access = none #匿名/未授权用户不可访问,值还可以是read和write
auth-access = write #授权用户可以读写,值还可以是none和read
password-db = passwd #用于指定用户名和密码文件名,即通过哪个文件来获取用户名和密码进行授权,默认是svnserve.conf同目录下的passwd文件
authz-db = authz #用于指定权限控制文件名,即通过哪个文件来获取用户的权限信息,默认是svnserve.conf同目录下的authz文件
(2)、编辑用户名和密码文件
vi passed
#用户wxc的登陆密码是123456
[users]
test = 123456
(3)、修改用户读写权限
vi authz
#表示在项目的根目录下,用户wxc有读写权限。值还可以是空(无权限)和r(只读)
[/]
test = rw
4、启动版本库
svnserve -d -r /home/test/workspace/svn
// 启动svn目录下所有repositories版本库svnserve -d -r /home/test/workspace/svn/decomutations
// 启动decomutations的repositories版本库
设置开机自启
vim ~/.profile
加入svnserve -d -r /home/test/workspace/svn