Debian/Ubuntu Linux搭建SVN服务器,并设置开机默认启动


发布者 ourjs  发布时间 1528604539316
关键字 心得体会  分享 
SVN是一个开放源代码的版本控制系统,可以记录保存文档的每一次改变,并方便做对比(diff),或者取消改动,回撤到某个历史版本等(Revert)。因此十分适合存放代码、设计、图纸等需要历史记录的文档。

安装 subversion


apt-get install subversion

创建仓库,首先建立svn文档的根目录 svn, 然后创建一个项目 icalc

mkdir /svn
mkdir /svn/icalc

创建新的 icalc 数据仓库

svnadmin create /svn/icalc

启动 svn 服务,并指定 svn 数据存储的根目录

svnserve -d -r /svn

然后就可以用 TortoiseSVN 客户端,在Windows上 Checkout 这个项目了。

Checkout 地址是对应的ip加项目名 svn://192.168.1.101/icalc

权限控制


默认的SVN配置是允许匿名访问的,可以选择只能通过用户名密码登录并提交文档。

此时可编辑对应项目目录下conf 中的 svnserve.conf、passwd.conf 两个文件

编辑配置文件:

nano /svn/icalc/conf/svnserve.conf

全删掉,然后写入以下的即可,不允许匿名,用户密码存放到 passwd 中

[general]
anon-access = none
auth-access = write
password-db = passwd
[sasl]

添加用户名密码

nano /svn/icalc/conf/passwd

全删掉,然后写入一个用户名密码

[users]
newghost = 1234567890

重启 svn 服务


通过名字来停止进程

killall  svnserve

或者在启动时添加 pid 进程文件,通过 pid 来停止进程

添加pid进程文件和日志文件
svnserve -d -r /var/www --pid-file /var/log/svn.pid  --log-file /var/log/svn.log

用pid进程文件停止svn服务
kill -9 `cat /var/log/svn.pid`

然后重启之后就可以用新的用户名密码登录了。

开机默认启动


可以添加一个自动启动脚本,设置 svn 服务开机默认启动。

添加启动脚本

nano /etc/init.d/subversion
写入内容
#!/bin/sh

# start/stop subversion daemon

test -f /usr/bin/svnserve || exit 0

OPTIONS="-d -T -r /svn"

case "$1" in
 start)
  echo -n "Starting subversion daemon:"
  echo -n " svnserve"
  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

exit 0
ctrl + o 保存

添加执行权限
chmod u+x /etc/init.d/subversion

测试一下从脚本启动
/etc/init.d/subversion start

将此脚本设置为开机默认启动

update-rc.d -f subversion defaults

重启之后你就会发现 svn 默认启动了。











回复 (1)
微信扫码 立即评论