1、安裝SVN
代码语言:javascript复制yum install subversion
2、svnserve --version
代码语言:javascript复制[root@121 ~]# svn -version
svn: invalid option character: e
Type 'svn help' for usage.
表示安裝成功
3、创建SVN版本库也就是SVN文件存放地址跟目录
代码语言:javascript复制cd /mnt
mkdir data_10G
cd data_10G
mkdir svn
4、创建版本库
代码语言:javascript复制svnadmin create /mnt/data_10G/svn
5、当执行这个命令的时候 会出现提示 y/n 是否下载。你写上y就可以了。 然后当出现 complete! 这个就安装成功了!(这个截图我就不拿了。)
6、创建了版本库之后 你的SVN 这个库目录下 会有一下的目录结构
这个目录应该很熟悉了
conf-----svn的启动配置文件参数
db------这个是你的SVN 上传的文件存储位置。这个是看不到原文件的 ,
因为SVN服务器端不是简单将上传的文件一个一个存放起来的; SVN服务器端默认采用的FSFS格式是将每次commit的内容增量方式存放的,每个增量包存成1个文件,这个增量包中包括了这次commit的全部数据。 也就是说你不可能在服务器端存放该版本库的文件夹下找到你上传的某个文件。
其他目录请参考下面参数详情:
路径 | 类型 | 作用 |
---|---|---|
conf | 目录 | 存放版本库所用配置文件的目录 |
dav | 目录 | 供mod_dav_svn使用 |
db | 目录 | 版本数据存储目录 |
db/fs-type | 文件 | 版本库数据真实存储格式,SVN有fsfs和bdb两种存储格式 |
db/revprops | 目录 | 记录版本属性 |
db/revs | 目录 | 版本库数据存储真实目录 |
db/uuid | 文件 | 存储版本库唯一标识号,参考《svn版本库标识uuid简述》 |
db/txn-current | 文件 | 记录当前事务 |
format | 文件 | 存储一个整数的文件,此整数代表库层次结构版本 |
hooks | 目录 | 存放版本库勾子目录 |
locks | 目录 | 存储库锁目录,用来跟踪库的访问者 |
目录参考资料:https://www.zhihu.com/question/46768239/answer/124160836
7、下面就是帐号密码 ,权限配置了。。再conf文件目录下面
authz---这个是我们的权限
passwd--帐号密码
svnserve.conf --svn服务启动读取的参数
1) 首先设置帐号:
vi系统默认但是不好用
vim 编辑更强大 也可以用xftp 直接修改 如果没有vim编辑就去安装一个 安装步骤:
首先:检查是否安装vim rpm -qa|grep vim
然后后:安装vim yum -y install vim-minimal vim-common vim-enhanced
缺少什么就安装什么:比如上面 缺少 vim-minimal vim-common vim-enhanced 这三个。
进入这个窗口 按一下 I 键 进入编辑模式
然后数据用户名=密码:jason=123
注意:名字前面不能有空格,等于号也不能有空格
修改完成后 要保存:按下 esc 键 然后 shift ;(L 旁边那个键)
然后按下 wq 意思是 写入并退出(保存并且退出)
那么这个帐号就创建好了。
下面给这些帐号设置权限:
重复上面的操作进入编辑模式
然后写上
代码语言:javascript复制[/]
lixi=rw
pa=rw
*=
对账户设置rw 这是读写权限 *= 这个是其他账户不能访问
另外关于这个分组权限,什么的 可以参考其他资料。这里不细节描述
同样的保存好了之后下面就配置 svnserve.conf
同样的打开我们的svnserve.conf
把上图的这些打开,就是把前面的注释#号删除
保存就好了
下面就是配置httpd
安装httpd
代码语言:javascript复制yum install httpd -y
然后启动
代码语言:javascript复制/etc/rc.d/init.d/httpd start
参考资料:https://blog.csdn.net/ixiaoyou/article/details/79160622
然后为SVN 配置我们的路径
#vim /etc/httpd/conf/httpd.conf
在文件最后添加一下代码:
- <Location /svn>
- DAV svn
- SVNPath /svn/project/repos/
- AuthType Basic
- AuthName "svn for project"
- AuthUserFile /svn/project/repos/conf/webpasswd
- AuthzSVNAccessFile /svn/project/repos/conf/authz
- Satisfy all
- Require valid-user
- </Location>
启动http
#/etc/init.d/httpd restart
结果报如下错误
这是因为,系统没有安装mod_dav_svn,安装一下就可以了
#yum install mod_dav_svn
#yum install mod_authz_svn
#chmod -R o rw /svn
//加下权限 不然用http访问会报 SVN Can’t open file ‘/XXX/xxx/db/txn-current-lock’错误
再启动下就可以了
然后再启动我们的SVN
- 启动svn #svnserve -d -r /svn
- 查看服务 #ps -ef|grep svn
- 关闭svn服务 #kill -9 pid
访问http://IP/svn/ 就可以了,输入账号密码就OK了,客户端可以下在小乌龟。。。。
参考资料:https://my.oschina.net/aiweiqing/blog/778326