查看Ubuntu系统的版本信息:可用cat /proc/version命令、uname -a命令与sb_release -a命令。
1.卸载svn
sudo apt-get remove --purge subversion
(–purge 选项表示彻底删除改软件和相关文件)
查看系统是否存在svn: svn
2.安装svn
sudo apt-get update更新apt-get
sudo apt-get install subversion安装svn
svn help //--svn帮助
svn --version //--svn版本
svnserve --version //--svn server版本
3.创建SVN版本库
a:创建项目目录和svn仓库:
sudo mkdir /usr/svn
sudo mkdir /usr/svn/vote
sudo chmod -R 777 /usr/svn/vote
sudo svnadmin create /usr/svn/vote
会生成conf db format hooks locks README.txt
sudo chmod -R 777 db
b:设置访问权限:
修改配置文件conf/svnserve.conf
sudo vim svnserver.conf
去掉[general]前面的#
去掉anon-access=read前面的# 解释:设置无认证用户的权限为读,默认为读权限
去掉auth-access=write前面的# 解释:设置认证用户的权限为写,默认为写权限
去掉password-db=authz-db = authz (文件可变更为其它)
注:
1.所有的行都必须顶格,否则报错。
c:添加访问用户
sudo vim /conf/passwd
d:设置用户权限:
sudo vim conf/authz
* = rw 所有的组都具有读写权限
三:测试SVN服务器
A:启动服务器
svnserve -d -r /usr/svn [--listen-host 118.24.171.xxx] 或svnserve -d -r /usr/svn
注:
-d:表示在后台运行
-r:指定服务器的根目录
可以用如下命令查看svnserve是否已经运行:
ps aux | grep svnserve
B:停止服务器
killall svnserve
访问 svn://118.24.171.xxx/vote
------err-----
1、svnserve: Can't bind server socket: Address already in use
解决办法: svnserve -d -r /usr/svn --listen-port 3691
默认的启动svn服务,系统默认开启的端口为3690,当你启动第二个版本库时还是开启3690,所以就冲突了。
2、验证authz文件是否有错误
svnauthz-validate authz
3、svn Authorization failed 配置文件出错
a、svnserve.conf:
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
b、passwd:
[users]
admin=123
c、authz:
[groups]
[/]
admin= rw