魏长东

weichangdong

Linux下配置svn服务端

工作需要在Linux上安装svn,但是申请的机器已经装了svn了,就只需要自己配置了。

代码库创建

SVN软件安装完成后还需要建立SVN
[root@localhost modules]#mkdir -p /opt/svn/             #
创建SVN根目录
[root@localhost modules]#svnadmin create /opt/svn/repo         #
创建repo测试库
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置
[root@localhost modules]#cd /opt/svn/repo/conf

用户密码passwd配置

[root@localhost password]#cd /opt/svn/repo/conf
[root@admin conf]#vim passwd
修改passwd为以下内容:

[users]
weichangdong=密码

权限控制authz配置

[root@admin conf]#vim authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限

weichangdong = rw         #weichangdong账户名前没有@符号,为了这个@符号,害我折腾一上午

服务svnserve.conf配置

[root@admin conf]#vim svnserve.conf

追加以下内容:

[general]
#
匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#
使授权用户有写权限
auth-access = write
#
密码数据库的路径
password-db = passwd
#
访问控制文件
authz-db = authz

启动SVN

svnserve -d -r /opt/svn/         #指定SVN根目录

查看SVN进程

ps -ef|grep svnserve

检测SVN 端口

[root@localhost conf]#netstat -ln |grep 3690
tcp  0  0 0.0.0.0:3690    0.0.0.0:*     LISTEN

停止重启SVN

[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn/repo // 
启动

如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ --listen-port 3391