我的目的是:为Axure做团队项目,方便协同办公和共享,需要搭建一个svn服务器。操作如下,已经完美完成。
当前系统版本NOOBS_v2_4_1
1、首先需要安装Subversion软件:
sudo apt-get install subversion
2、创建仓库
sudo svnadmin create /var/svn
/var/svn 为所创建仓库的路径,理论上可以是任何目录
3、修改配置文件/var/svn/conf/svnserve.conf
去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
注意:所有的行都必须顶格,否则报错。 建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容.
4、修改配置文件passwd
[users]
svnuser = password
ukonline2000 = ukonline2000
注意:
一定要去掉[users]
前面的#
,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon
不为none
,否则将返回一个错误。
这里的密码都是没有加密的。
5、停止Subversion服务器:
killall svnserve
6、启动Subversion服务器 对于单个代码仓库,启动命令:
svnserve -d -r /var/svn
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接 用svn://服务器ip来访问了。
7、树莓派svn自动启动脚本
设置开机启动,需要在/etc/init.d/中创建一个文件。例如svnserve:
(注:启动脚本的名称,有和程序名一致的习惯)
sudo nano /etc/init.d/svnserve
内容如下:(putty窗口中按右键=粘贴)
#!/bin/sh
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop svnserve
### END INIT INFO
### Customize this entry
# Set the USER variable to the name of the user to start svnserve under
export USER='pi'
### End customization required
eval cd ~$USER
case "$1" in
start)
# 启动命令行。
su $USER -c 'sudo svnserve -d -r /var/svn'
echo "Starting svnserve server for $USER "
;;
stop)
# 终止命令行。
su $USER -c 'sudo killall svnserve'
echo "svnserve stopped"
;;
*)
echo "Usage: /etc/init.d/svnserve {start|stop}"
exit 1
;;
esac
exit 0
注:少数玩家默认用户不是pi
的请自行更改USER变量
按Ctrl+X
,回答Y(存盘)退出nano编辑器。
然后给svnserve 文件加执行权限,并更新开机启动列表。
sudo chmod 755 /etc/init.d/svnserve
sudo update-rc.d svnserve defaults
另外,客户端推荐用TortoiseSVN。