服务器大本营

 找回密码
 我要入营

微信扫码 , 快速开始

QQ登录

只需一步,快速开始

查看: 84|回复: 0

SVN服务器怎么搭建?Linux启动SVN服务命令

[复制链接]

1万

敬重

526

主题

207

精华

管理员

积分
6791

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 2024-7-8 21:02:15 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x
SVN是Subversion的简称,是一个开源的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理系统。数据放置在一个中央资料档案库(repository)中。档案库就很像一个普通的文件服务器,不过它会记录每一次文件的变动,这样你就可以把档案恢复到旧的版本,或是查看文件的变动历史。今天飞飞就和你们分享SVN服务器的搭建方法,希望可以帮助到你~

一、检查是否安装subversion
  1. svnserve --version
复制代码
如果出现下列提示,则代表没有安装
  1. -bash: svnserve: command not found
复制代码
如果出现下列提示,则代表已经安装了,直接跳到四步
  1. svnserve, version 1.7.14 (r1542130)
  2.    compiled Apr 11 2018, 02:40:28
  3. Copyright (C) 2013 The Apache Software Foundation.
  4. This software consists of contributions made by many people; see the NOTICE
  5. file for more information.
  6. Subversion is open source software, see http://subversion.apache.org/
  7. The following repository back-end (FS) modules are available:
  8. * fs_base : Module for working with a Berkeley DB repository.
  9. * fs_fs : Module for working with a plain file (FSFS) repository.
  10. Cyrus SASL authentication is available.
复制代码

二、安装
  1. yum install -y subversion
复制代码

三、再次检查是否安装
  1. svnserve --version
复制代码
查看下载后的信息,安装位置及详细信息:
  1. rpm -ql subversion
复制代码

四、创建并进入到储存版本库的目录
  1. mkdir /usr/svn      SVN项目的总目录,想放哪就放哪
复制代码

五、创建一个版本库(项目)
fwqdby为版本库的名称
  1. svnadmin create /usr/svn/fwqdby
复制代码

运行以下命令查看自动生成的版本库文件
  1. ls /usr/svn/fwqdby
复制代码
名称类型 说明
conf目录 版本库的配置文件,包含用户访问账号、权限等
conf/authz文件 负责账号权限的管理,控制账号是否读写权限
conf/passwd文件 负责账号和密码的用户名单管理
conf/svnserve.conf文件 版本库配置文件
db目录 版本数据存储目录
hooks目录 版本库钩子脚本文件目录
locks目录db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
format文件存储一个整数的文件,此整数代表库层次结构版本
README.txt文件 说明文件
                      
六、修改版本库配置文件
conf目录下是该SVN版本库配置文件,运行以下命令进入conf目录
  1. cd /usr/svn/fwqdby/conf
复制代码
版本库的配置文件包含以下几个文件:
· authz:负责账号权限的管理,控制账号是否读写权限
· passwd:负责账号和密码的用户名单管理
· svnserve.conf:svn服务器配置文件

1、设置账号密码
  1. vim /usr/svn/fwqdby/conf/passwd
复制代码
只需在末尾添加用户名fwqdby和密码www.fwqdby.com。当打开一个文件后,默认进入命令模式。在命令模式下无法修改文本内容,需要进入编辑模式才可编辑,可按i键(表示在当前光标位置插入文本)和a键(表示在当前光标位置后插入文本)进入编辑模式。

以格式:账号 = 密码 添加到【users】块末,添加后按ESC键退出编辑模式,输入命令:wq保存并退出(要特别注意账号 = 密码,等号的两边都有个空格)
修改后的passwd文件如下:
  1. ### This file is an example password file for svnserve.
  2. ### Its format is similar to that of svnserve.conf. As shown in the
  3. ### example below it contains one section labelled [users].
  4. ### The name and password for each user follow, one account per line.
  5. [users]
  6. # harry = harryssecret
  7. # sally = sallyssecret
  8. fwqdby = www.fwqdby.com
复制代码

2、修改authz文件
  1. vim /usr/svn/fwqdby/conf/authz
复制代码

按i键进入编辑模式,在末尾添加如下代码
  1. [/]
  2. fwqdby=rw
复制代码

添加后按ESC键退出编辑模式,输入命令:wq保存并退出
添加账号及权限后的authz文件如下:
  1. ###  - an alias defined in a special [aliases] section,
  2. ###  - all authenticated users, using the '$authenticated' token,
  3. ###  - only anonymous users, using the '$anonymous' token,
  4. ###  - anyone, using the '*' wildcard.
  5. ###
  6. ### A match can be inverted by prefixing the rule with '~'. Rules can
  7. ### grant read ('r') access, read-write ('rw') access, or no access
  8. ### ('').
  9. [aliases]
  10. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  11. [groups]
  12. # harry_and_sally = harry,sally
  13. # harry_sally_and_joe = harry,sally,&joe
  14. # [/foo/bar]
  15. # harry = rw
  16. # &joe = r
  17. # * =
  18. # [repository:/baz/fuz]
  19. # @harry_and_sally = rw
  20. # * = r
  21. fwqdby=rw
复制代码
其中,fwqdby为账号
rw表示权限,r:读;w:写。

3、修改svnserve.conf文件
  1. vim /usr/svn/fwqdby/conf/svnserve.conf
复制代码
按i键进入编辑模式,打开以下几个注释(注意每行不能以空格开始,等号两端要有一个空格)
anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /usr/svn/fwqdby #认证空间名,版本库所在目录
按 Esc 键退出编辑模式,并输入 :wq 保存并退出。

七、启动SVN版本库
  1. svnserve -d -r /usr/svn
复制代码
运行命令查看svn服务是否开启
  1. ps -ef |grep svn
复制代码
如果返回结果如下图所示,表示SVN服务已经开启
如果你想要暂停SVN服务,使用以下命令:
  1. killall svnserve
复制代码
(以后每添加一个SVN项目,从第五步骤开始操作就行,如:
  1. svnadmin create /usr/svn/idc02
复制代码

八、设置svn服务开机自启
  1. #vi /etc/init.d/svn
复制代码

然后输入以下内容
  1. #!/bin/sh
  2. # chkconfig: 2345 85 85
  3. # processname: svn
  4. svn_bin=/bin
  5. svn_port=3690
  6. svn_home=/mnt/svn-repository
  7. svn_config=/mnt/svn-repository/conf/svnserve.conf
  8. if [ ! -f "$svn_bin/svnserve" ]
  9. then
  10.     echo "svnserver startup: cannot start"
  11. exit
  12. fi
  13. case "$1" in
  14.     start)
  15.         echo "Starting svnserve..."
  16.         $svn_bin/svnserve -d -r $svn_home --config-file $svn_config --listen-port $svn_port
  17.         echo "Successfully!"
  18.     ;;
  19.     stop)
  20.         echo "Stoping svnserve..."
  21.         killall svnserve
  22.         echo "Successfully!"
  23.     ;;
  24.     restart)
  25.         $0 stop
  26.         $0 start
  27.     ;;
  28.     *)
  29.         echo "Usage: svn { start | stop | restart } "
  30.         exit 1
  31.     ;;
  32. esac
复制代码

给文件添加可执行权限
  1. # chmod +x /etc/init.d/svn
复制代码

开启开机自启动
  1. # chkconfig svn on
复制代码

九、启动svn
  1. # service svn start
复制代码

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

Loading...

QQ|Archiver|手机版|网站地图|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2024-7-20 15:29 , Processed in 0.079694 second(s), 25 queries , Gzip On.

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表