在树莓派上搭建代码托管服务(SVN)

我的目的是:为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。

    原文作者:围观群众代表
    原文地址: https://www.jianshu.com/p/7807adb9cf01
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞