Debian/Ubuntu安装最新版Subversion 1.9
通过系统默认源安装的subversion最新版本是:1.8x,参见:jessie中subversion,可以通过本方法安装最新版subversion(当前版本是:1.9.7),内容如下:
1、获取WanDisco仓库
# download the GPG key of the repository and add it to apt:
wget http://opensource.wandisco.com/wandisco-debian.gpg -O /tmp/wandisco-debian.gpg
# add downloaded key to apt
apt-key add /tmp/wandisco-debian.gpg
# create apt sources file for wandisco repo
echo "deb http://opensource.wandisco.com/debian/ jessie svn19" > /etc/apt/sources.list.d/wandisco.sources.list
2、安装Subversion
查看源码包Subversion信息:
aptitude show subversion
没有问题,就可以进行安装:
aptitude install subversion
3、设置Subversion随系统启动
执行完上面的操作,我们的系统里就已经安装好了Subversion,但是无法做到系统启动时自动启动Subversion,这个问题很容解决,我们可以在/etc/init.d目录中创建svnserver文件。
cd /etc/init.d
touch svnserver
vim svnserver
设置如下内容:
#! /bin/sh -e
### BEGIN INIT INFO
# Provides: subversion
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
DAEMON=/usr/bin/svnserve
test -x $DAEMON || exit 0
#RUNDIR=/tmp/run
#PIDFILE=$RUNDIR/svnserve.pid
WORKROOTDIR=/var/lib/svn
LOGFILE=/tmp/log/svnserve.log
CONFIGFILE=$WORKROOTDIR/conf/svnserve.conf
OPTIONS="-d -T -r $WORKROOTDIR --log-file $LOGFILE --config-file $CONFIGFILE"
NAME=svnserve
GROUP=www-data
USER=www-data
case "$1" in
start)
echo -n "Starting $NAME: "
start-stop-daemon --start --quiet --oknodo --chuid $GROUP:$USER --exec $DAEMON -- $OPTIONS
echo " $NAME."
;;
stop)
echo -n "Stopping $NAME: "
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
echo " $NAME."
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
# 测试 svnserve service
/etc/init.d/svnserve start
# 开机自动启动
update-rc.d svnserve defaults
SVN使用
创建svn
仓库
svnadmin create {svn_repository_path}
修改配置仓库svnserve.conf
vim {svn_repository_path}/conf/svnserve.conf
配置内容说明:
#去掉"#[general]"前面的#号
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,同样,去掉前面的“#
password-db = passwd
svnserve.conf配置说明:
anon-access = read
auth-access = write
password-db = passwd
anon-access
和auth-access
分别指定匿名和有权限用户的权限,默认给匿名用户只读的权限,如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。password-db
后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在同一个目录。
友情提示:所有的行都必须顶格,否则报错!
修改配置文件passwd
vim {svn_repository_path}/conf/passwd
配置内容:
[users]
your_username = your_password
重启Subversion服务
# 停止服务
killall svnserve
# 启动服务
svnserve -d -r {svn_repository_path}
# -d:表示在后台运行
# -r:指定服务器的根目录
启动完成后,就可以通过svn://服务器ip(or域名)
访问svn服务器了。
多仓库
通过上面方法只能创建一个仓库,通常我们需要创建多个仓库,存放各个项目的代码。
创建目录
mkdir {svn_repository_root}
创建仓库
svnadmin create {svn_repository_root}/project1 svnadmin create {svn_repository_root}/project2 svnadmin create {svn_repository_root}/project3
- 配置各个仓库的用户名、密码权限
由于各个仓库是独立的是需要单独为每个仓库配置用户名密码的 启动SVN服务
svnserve -d -r {svn_repository_root}
参考文章: