一、安装
1、yum install subversion
2、输入rpm -ql subversion查看安装位置,如下图:
我们知道svn在bin目录下生成了几个二进制文件。
输入 svn --help可以查看svn的使用方法,如下图。
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
7、设置权限
vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限。
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in 'svn://192.168.11.229/project' ”这样的错误。
默认svn服务器端口是3690。
杀死svn服务:
# ps -ef|grep svn # svnserve -d -r /svn/project/ # grep svn # kill -9 4642若要使用/etc/init.d/svnserve 脚本,可以修改start()函数部分,如下:
start() { [ -x $exec ] || exit 5 [ -f $config ] || exit 6 echo -n $"Starting $prog: " daemon --pidfile=${pidfile} $exec $args -r /svn/project retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval }
二、卸载
yum remove subversion,如果不行,直接进安装目录,删掉,再make clean
三、检查是否已安装
rpm -qa subversion
四、检查是否安装成功
svnserve --version
五、开机自动启动
建立脚本:svn.sh
/etc/init.d/svnserve start
然后修改该脚本的执行权限
chmod ug+x svn_startup.sh
或者万能的
chmod 777 svn_startup.sh
最后:加入自动运行
vi /etc/rc.d/rc.local
在末尾添加脚本的路径,如:
/root/svn_startup.sh
六、一般创建规范格式
svn可以创建多个项目的目录,比如:
mkdir -p /opt/svn/project1 mkdir -p /opt/svn/project2 svnadmin create /opt/svn/project1 svnadmin create /opt/svn/project2
这里以创建一个为例
svnadmin create /home/svn/search 一般在项目要目录下创建以下三个目录 mkdir -p /home/svn/search/trunk mkdir -p /home/svn/search/tags mkdir -p /home/svn/search/branches
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径:比如
/opt/svn/project1
/opt/svn/project2
则启动指定目录为:
svnserve -d -r /home/svn/
七、启动两个SVN服务器
svnserve -d --listen-port 3690 -r /home/svn/search svnserve -d --listen-port 3691 -r /home/svn/hadoop