三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Linux下SVN服务器搭建完整教程

Linux下SVN服务器搭建完整教程

前言

本文详细介绍在Linux系统(以CentOS为例)上搭建SVN(Subversion)服务器的完整步骤,从安装到配置再到测试连接,帮助您快速搭建版本控制环境。

一、环境准备与SVN安装

1.1 检查是否已安装SVN

首先检查系统是否已经安装了SVN:

# rpm -qa subversion
1.2 安装SVN服务器

如果未安装,使用yum命令安装SVN及相关依赖:

# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
1.3 验证安装

安装完成后,验证相关模块是否已正确安装:

# cd /etc/httpd/modules # ls | grep svn mod_authz_svn.so mod_dav_svn.so
1.4 查看SVN版本

确认SVN版本信息:

# svnserve --version

二、创建SVN代码库

2.1 创建仓库目录

安装完成后,需要创建SVN仓库目录:

# mkdir -p /opt/svn/repositories # svnadmin create /opt/svn/repositories
2.2 验证仓库创建

执行上述命令后,系统会自动建立repositories库。查看/opt/svn/repositories文件夹,如果包含conf、db、format、hooks、locks、README.txt等文件,说明SVN仓库已成功创建。

三、配置SVN版本库

进入/opt/svn/repositories/conf文件夹,进行以下配置:

3.1 用户密码配置(passwd文件)

编辑passwd文件配置用户信息:

# vi + passwd //+表示光标放在文件末尾

修改passwd文件内容如下:

[users] # harry = harryssecret # sally = sallyssecret zhoulf=123456
3.2 权限控制配置(authz文件)

编辑authz文件配置访问权限:

# vi + authz

设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[/] zhoulf=rw //给该用户访问所有库的权限 或 [repositories:/project] //repository库的根目录权限 zhoulf=rw

权限说明:

  • /表示根目录及以下,根目录是svnserve启动时指定的(我们指定的是/opt/svn),/就是指对全部版本库都具有权限
  • repositories:/表示对库repositories的根目录设置权限

注意事项:

  • 权限配置文件中出现的用户名必须已在用户配置文件中定义
  • 对权限配置文件的修改立即生效,不必重启svn
3.3 服务配置(svnserve.conf文件)

编辑svnserve.conf文件配置服务参数:

# vi + svnserve.conf

添加以下内容:

[general] #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm=/opt/svn/repositories

重要提示:这里注意各标签不能错,也不能有重复,不然无法连接。

3.4 防火墙配置(可选)

如果需要通过防火墙访问,配置SVN默认端口3690:

# vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重启防火墙:

# service iptables restart

注:不一定每个人都需要设置防火墙,可以先测试后再看是否需要打开端口。

四、启动与查看SVN服务

4.1 启动SVN服务
# svnserve -d -r /opt/svn/repositories
4.2 查看SVN进程
# ps -ef|grep svn|grep -v grep root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
4.3 检测SVN端口
# netstat -ln |grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

五、服务管理

5.1 停止与重启SVN服务
# killall svnserve //停止服务 # svnserve -d -r /opt/svn/repositories //启动服务

六、客户端测试连接

使用TortoiseSVN等客户端进行测试:

  1. 连接测试:SVN服务启动后,使用客户端测试连接。客户端连接地址:svn://192.168.15.231,然后输入用户名密码(如果无法连接,请检查authz、passwd、svnserve.conf配置是否正确)
  2. 检出代码:新建一个文件夹作为本地仓库目录,右键选择"Checkout",将会得到一个隐藏文件夹.svn
  3. 提交代码:在此文件夹中放入项目内容,然后右键点击"Commit",就可以上传本地项目到SVN服务器

七、参考资源

  • 原文参考:Linux安装配置SVN服务器 - 木子执手 - 博客园
  • 相关参考:linux下svn服务器安装配置与启动_linux svnserver.conf 启动-CSDN博客
  • 环境准备参考:Linux下Openssl的安装全过程

个人实践说明:以上步骤我都照着做了,不知道有没有必然的联系,反正最后我搭建成功了(我用的是阿里云的Linux服务器)。

博客

这些都照着做了不知道有没有必然的联系 , 反正最后我搭建成功了(我用的是阿里云的 linux服务器)。

← 返回列表