准备工作
- 云服务器安全组放开我们要设置的
svn
服务端口号。 - 设定
svn
的版本库文件夹路径(如:/home/wangxixi/wangxixi-svnServer/project
)。
安装
多数 Linux 系统默认是带有 Subversion 的,我们可以通过查看版本号来检查是否已经安装。
svn --version
若返回 svn 命令找不到,可以通过以下命令安装。
yum install subversion
查看安装位置
rpm -ql subversion
配置
前提准备:创建多个项目文件夹存放test1、test2项目
mkdir -p /home/wangxixi/wangxixi-svnServer/project/test1
mkdir -p /home/wangxixi/wangxixi-svnServer/project/test2
-
将每个项目文件夹用来作为版本库。
svnadmin create /home/wangxixi/wangxixi-svnServer/project/test1 svnadmin create /home/wangxixi/wangxixi-svnServer/project/test2
-
将
test1/conf
文件夹下新生成的authz
、passwd
文件复制到/home/wangxixi/wangxixi-svnServer/project
文件夹中。cd /home/wangxixi/wangxixi-svnServer/project/test1/conf cp authz /home/wangxixi/wangxixi-svnServer/project/ cp passwd /home/wangxixi/wangxixi-svnServer/project/
-
修改 project 文件夹下全局的
authz
、passed
文件vi /home/wangxixi/wangxixi-svnServer/project/passwd
配置用户密码passwd 文件:
[users] wangxixi = test123 user2 = test456 user3 = 456789
[用户名] = [密码]
vi /home/wangxixi/wangxixi-svnServer/project/authz
配置权限authz 文件:
[groups] admin = wangxixi, user2 [/] @admin = rw [project1: /home/wangxixi/wangxixi-svnServer/project/test1] @admin = rw user3 = rw [project2: /home/wangxixi/wangxixi-svnServer/project/test2] @admin = rw user3 = rw
[groups]
配置段用来指定用户组,格式为:<用户组名> = <用户列表>
版本库路径及权限的配置段格式为: [<版本库名>:<路径>], 下面可以指定用户组和用户的权限。
有多个版本库的话就添加多个配置段。 -
修改每个项目下 conf 文件夹下的 svnserve.conf 文件
修改 svnserve.conf 文件如下:[general] anon-access = none auth-access = write password-db = /home/wangxixi/wangxixi-svnServer/project/passwd authz-db = /home/wangxixi/wangxixi-svnServer/project/authz realm = /home/wangxixi/wangxixi-svnServer/project/test1/
anon-access = none 设置非鉴权用户不可访问。
auth-access = write 设置鉴权用户权限为可读可写。
password-db , authz-db 设置密码配置文件和权限配置文件为全局下的passwd、authz 文件。
realm = 项目路径 设置版本库的认证域。 -
启动 svnserve 服务。
svnserve -d -r /home/wangxixi/wangxixi-svnServer/project --listen-port 3333
-r
指令用来设置版本库访问方式。
--listen-port
指令用来指定 SVN 监听的端口号,不设置则默认为3690。 -
客户端测试
使用 svn://[ip]:[设置的端口号]/test1 测试是否可以检出。如果是默认端口的话就不必加端口号来访问。 -
centos7 检出仓库内容命令:
svn checkout svn://[ip]:[端口号]/test1 --username=wangxixi
-
重启svnserve服务
//查看svnserve服务的进程pid ps -aux | grep svn //杀死该进程 kill -9 [进程pid //重新启动服务 svnserve -d -r /home/wangxixi/wangxixi-svnServer/project --listen-port 3333