天天看点

在服务器上部署svn,并连接客户端

在服务器部署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
           

点击书签->右键->添加已存在的文档库

在服务器上部署svn,并连接客户端

输入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

继续阅读