Svn服务器搭建
Centos
1.安装 & 测试
#安装 yum install subversion #测试是否安装成功,如果显示了版本信息则表示安装成功 svnserve --version
2.配置
自动配置可参考如下脚本
#!/bin/bash conf=/conf/svnserve.conf pw=/conf/passwd changeConf(){ sed -i 's\# anon-access = read\anon-accss = none\g' "$1"${conf} sed -i 's\# auth-access = write\auth-accss = write\g' "$1"${conf} sed -i 's\# password-db = passwd\password-db = passwd\g' "$1"${conf} } addUser(){ sed -i "s/# sally = sallyssecret/$2 = $3/g" "$1"${pw} } if [ $# -lt 1 ];then echo "Error param no.!" echo "Usage(Root needed): svn.sh create reponame \nOR svn.sh restart " exit fi if [ "$1" == "create" ]; then if [ -z "$2" ]; then echo "Error param" exit fi home=/home/ repo=${home}"$2" echo "creating repo" $repo svnadmin create $repo if [ $? -ne 0 ]; then echo create failed! exit; else read -p "inpute the username:" username read -p "inpute the password:" password changeConf $repo addUser $repo $username $password fi elif [ "$1" == "restart" ]; then if [ -z "$2" ]; then read -p "Listen on which ip:" ip fi pid=`ps -e | grep svnserve | awk '{print $1}'` kill -9 $pid 2>/dev/null 1>&2 svnserve -d -r /home --listen-host $ip else echo "error param" fi
运行方式如下:
#创建demo仓库,然后输入用户名及密码 ./autorun.sh create demo #重启SVN服务,稍后输入监控的ip ./autorun.sh restart
Ubuntu
1.安装包
$ sudo apt-get install subversion
2.添加svn管理用户及subversion组
$ sudo adduser svnuser $ sudo addgroup subversion $ sudo addgroup svnuser subversion
3.创建项目目录
$ sudo mkdir /home/svn $ cd /home/svn $ sudo mkdir fitness $ sudo chown -R root:subversion fitness $ sudo chmod -R g+rws fitness
4.创建SVN文件仓库
$ sudo svnadmin create /home/svn/fitness
5.访问方式及项目导入:
$ svn co file:///home/svn/fitness 或者 $ svn co file://localhost/home/svn/fitness * 注意: 如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//). //-- 下面的命令用于将项目导入到SVN 文件仓库: $ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness 一定要注明导入信息
6.访问权限设置
修改 /home/svn/fitness目录下: svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格
编辑svnserve.conf文件,把如下两行取消注释 password-db = password authz-db = authz //补充说明 # [general] anon-access = read auth-access = write password-db = passwd 其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿 名用户的访问,只需把 read 改成 none 就能达到目的。 #编辑/home/svnuser/etc/passwd 如下: [users] mirze = 123456 test1 = 123456 test2 = 123456 #编辑/home/svnuser/etc/authz如下 [groups] admin = mirze,test1 test = test2 [/] @admin=rw *=r #这里设置了三个用户mirze,test1,test2密码都是123456 #其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限
7.启动SVN服务
svnserve -d -r /home/svn 描述说明: -d 表示svnserver以“守护”进程模式运行 -r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库 如: svn://192.168.12.118/fitness
这时SVN安装就完成了