在服务器部署svn
- 先检查是否安装了svn,如果有就卸载掉
sudo apt-get remove --purge subversion
- 安装svn
sudo apt-get install subversion
- 创建svn版本库
1.创建放svn版本库的文件夹
mkdir /var/svn/svnrepos
2.在上面的路径下创建版本库
svnadmin create /var/svn/svnrepos/xxxx (xxxx为版本库名称,可自定义)
-
修改配置
进入版本库的conf
cd /var/svn/svnrepos/xxxx/conf
conf下有3个文件
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
1.配置passwd
vi passwd
将账号和密码信息追加到文件中即可,格式为:
账号 = 密码
例如:admin = 123456
注意 “=” 前后要有空格
2.配置authz
vi authz
[/]
admin = rw
*=
[/] ---------------------> 仓库下所有文件
admin = rw----------------->可读可写
*= ----------------------->其他用户没有权限
3.配置svnserve.conf
vi svnserve.conf
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos/xxxx # 认证空间名,改成自己版本库所在目录
注意:
要删除#和代码前的空格
- 启动和停止服务
svnserve -d -r /home/svn(启动)
killall svnserve(停止)
上述启动命令中,-d表示守护进程, -r 表示在后台执行。
查看服务是否启动
[[email protected] conf]# ps -ef|grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
停止还可以采用杀死进程的方式:
[[email protected] conf]# kill -9 4908
客户端连接服务
下载rapidsvn
sudo apt-get install rapidsvn
点击书签->右键->添加已存在的文档库
输入URL
svn://(ip地址):3690(默认端口)/(你的版本库名字)
设置服务自启动
在/etc/init.d 路径下创建脚本
vi subversion
#!/bin/sh
test -f /usr/bin/svnserve || exit 0
# 这里是svnserve执行的参数,/var/svn/svnrepos改为你自己的版本库地址
OPTIONS="-d -T -r /var/svn/svnrepos"
case "$1" in
start)
echo -n "Starting subversion daemon:"
echo -n " svnserve"
# 这里的root:root为member:group,即用户:组名,改为适合你自己的
start-stop-daemon --start --quiet --oknodo --chuid root:root --exec /usr/bin/svnserve -- $OPTIONS
echo "."
;;
stop)
echo -n "Stopping subversion daemon:"
echo -n " svnserve"
start-stop-daemon --stop --quiet --oknodo --exec /usr/bin/svnserve
echo "."
;;
reload)
;;
force-reload)
$0 restart
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/subversion (start|stop|reload|restart)"
exit 1
;;
esac
添加执行属性
chmod +x /etc/init.d/subversion
添加启动项
update-rc.d -f subversion defaults
在centos系统下设置
1、编辑rc.local文件
vi /etc/rc.d/rc.local
2、加入如下启动命令
/usr/bin/svnserve -d -r /home/svn
注意:
我们在用终端操作的时候,可以直接使用以下命令启动SVN:
svnserve -d -r /home/svn
但是在/etc/rc.d/rc.local 文件中必须写上完整的路径!
不知道svnserve安装到哪里了?
可以使用 whereis 命令查找一下:
可能出现的问题
1.rapidsvn客户端的历史记录无法查看
出现Item is not readable 的错误
解决办法
修改 svnserve.conf文件
将anon-access = read 修改成
anon-access = none