Ubuntu12.04 搭建SVN服务器

机会难得,继续搭SVN

1.安装subversion
    sudo  apt-get  install  subversion
2.创建项目目录
    mkdir /home/svn
    cd /hom/svn
    mkdir svn_test_prj
    chmod 777 svn_test_prj
3.建立一个版本库
    svnadmin  create /home/svn/svn_test_prj
4.配置用户和访问权限
    cd /home/svn/svn_test_prj
    cd conf
此目录下有3个文件
svnserve.conf  authz  passwd 
svnserve.conf:svn服务配置文件,该文件版本库目录的conf目录下。 
passwd:用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。 
authz:权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。

1.修改配置文件svnserve.conf
    vim svnserve.conf
取消以下四行的注释
anon-access = read
auth-access = write 
password-db = password
authz-db = authz
并将anon-access = read的read改为none,禁止匿名用户访问。
2.设置passwd
设置用户及密码
例:
admin = 123456
zyw = 123456
user = 123456
3.修改权限配置文件authz
例:如果一个版本库里面有存在多个工程,则可以分别设置各个工程的访问权限
假设版本库为:svn_test_prj
则可以如下配置:
[svn_test_prj:/]   
admin = rw  //代表版本库的根目录只有admin用户才有读写权限,及只有admin可以删除和上传

[svn_test_prj:/prj1] //设置prj1工程的权限
admin = rw
zyw = rw        //zyw可读写
user = r        //user 只可读,不可修改

[svn_test_prj:/prj2]    
admin = rw
zyw = r
user = rw

注:以上所说的多个工程,并非是在版本库直接创建文件,而是由admin账号先checket out 然后
import上去的工程目录,在服务器端是看不到代码文件内容的;

5.启动svnserve
    svnserve -d -r /home/svn    
这样启动svn则svn目录下的多个版本库都会运行,若想单独运行一个版本库,则:
    svnserve -d -r /home/svn/svn_test_prj
6.客户端(windows checket out路径)
    svn://192.168.255.133/svn_test_prj/

7.设置SVN开机自启动
1.创建svnd.sh
vim /etc/init.d/svnd.sh
    #!/bin/bash
    svnserve -d -r /data/svn

2.添加可执行权限
    sudo chmod 777 /etc/init.d/svnd.sh

3.更新修改权限
    update-rc.d svnd.sh defaults

注:
ubuntu 16.04中要加上以下LSB信息,不然放入启动脚本的时候会报错无法开机启动。
#!/bin/sh
### BEGIN INIT INFO
# Provides: svnd.sh
# Required-start: localfs remote_fs network syslog
# Required-Stop: localfs remote_fs network syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the svnd.sh daemon
# Description: starts svnd.sh using start-stop-daemon
### END INIT INFO

查看SVN服务 ps -e | grep svnserve

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值