centos7 安装配置svn

tech2024-04-05  56

1、yum安装

[root@3c5dc52d25fe ~]# yum install subversion -y [root@3c5dc52d25fe ~]# rpm -qa|grep sub subversion-libs-1.7.14-14.el7.x86_64 subversion-1.7.14-14.el7.x86_64 svnserve --version svnserve, version 1.7.14 (r1542130) compiled Apr 11 2018, 02:40:28 ...

2、创建目录作为项目仓库

/data/project/demo /data/project/toyix

[root@3c5dc52d25fe ~]# mkdir -p /data/project/demo [root@3c5dc52d25fe ~]# svnadmin create /data/project/demo [root@3c5dc52d25fe ~]# ll /data/project/demo/ total 8 -rw-r--r-- 1 root root 229 Sep 3 08:50 README.txt drwxr-xr-x 2 root root 54 Sep 3 08:50 conf drwxr-sr-x 6 root root 233 Sep 3 08:50 db -r--r--r-- 1 root root 2 Sep 3 08:50 format drwxr-xr-x 2 root root 231 Sep 3 08:50 hooks drwxr-xr-x 2 root root 41 Sep 3 08:50 locks [root@3c5dc52d25fe ~]# mkdir -p /data/project/toyix [root@3c5dc52d25fe ~]# svnadmin create /data/project/toyix/

3、配置代码库

1)、设置SVN用户及口令:

修改文件passwd,设置哪些用户可以访问SVN资源库, 进入上面生成的文件夹conf下,进行配置:

[root@3c5dc52d25fe ~]# vim /data/project/demo/conf/passwd [users] # harry = harryssecret # sally = sallyssecret admin = admin user = 123456 user2 = 123456 demo = demo toyix = 123456 [root@3c5dc52d25fe ~]# vim /data/project/toyix/conf/passwd [users] # harry = harryssecret # sally = sallyssecret admin = admin user = 123456 user2 = 123456 demo = demo toyix = 123456 # 这样创建了几个用户,以上语句必须顶格写,左侧不能留有空格

2)、设置权限

修改authz文件,设置哪些用户有什么权限访问哪些目录

[root@3c5dc52d25fe ~]# vim /data/project/demo/conf/authz [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r admin = admin,user,user2 定义admin组 [/] @admin = rw admin组中成员可写 toyix = r toyix只读 [root@3c5dc52d25fe ~]# vim /data/project/toyix/conf/authz admin = admin,user,user2 [/] @admin = rw toyix = r 注:所有语句必须顶格写,左侧不能留空格,否则会报错

3)、设置配置文件 svnserve.conf

[root@3c5dc52d25fe ~]# cp /data/project/demo/conf/svnserve.conf{,.bak} [root@3c5dc52d25fe ~]# cat /data/project/demo/conf/svnserve.conf.bak |grep -vE '#|^$' >/data/project/demo/conf/svnserve.conf [general] # 匿名访问权限,可以是read,write,none,默认为read anon-access = none #授权用户有写权限 auth-access = write # 密码数据库的路径 password-db = passwd #访问控制文件 authz-db = authz # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm = My First Repository # 以上语句都必须定格写,左侧不能留有空格 [root@3c5dc52d25fe ~]# vim /data/project/toyix/conf/svnserve.conf [general] # 匿名访问权限,可以是read,write,none,默认为read anon-access = none #授权用户有写权限 auth-access = write # 密码数据库的路径 password-db = passwd #访问控制文件 authz-db = authz # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm = My First Repository # 以上语句都必须定格写,左侧不能留有空格

4、启动SVN服务:

svnserve -d -r /project/demo 或者 /etc/init.d/svnserve restart

1)带 -d 选项即可以作为一个单独的守护进程运行,-r 选项可以指定发布哪个目录下的版本库;

2)一旦服务器运行,就在默认端口3690进行监听,使用 telnet 可以测试到 3690 端口已经开放了

3)若需更改SVN服务默认端口:

查看端口使用情况:netstat -antp

启动svn和指定端口的方法是:svnserve -d --list-port 3700 -r /project/demo

[root@3c5dc52d25fe ~]# svnserve -d -r /data/project/demo [root@3c5dc52d25fe ~]# svnserve -d --listen-port 3700 -r /data/project/toyix [root@3c5dc52d25fe ~]# ps -ef|grep svn root 216 1 0 09:41 ? 00:00:00 svnserve -d -r /data/project/demo root 247 1 0 09:45 ? 00:00:00 svnserve -d --listen-port 3700 -r /data/project/toyix root 291 82 0 10:01 pts/0 00:00:00 grep --color=auto svn [root@3c5dc52d25fe ~]# netstat -tnlp|grep svn tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 216/svnserve tcp 0 0 0.0.0.0:3700 0.0.0.0:* LISTEN 247/svnserve

访问地址 svn://192.168.1.171/data/project/demo svn://192.168.1.171:3700/data/project/toyix

--------------------end

最新回复(0)