Linux下SVN服务器搭建完整教程
前言
本文详细介绍在Linux系统(以CentOS为例)上搭建SVN(Subversion)服务器的完整步骤,从安装到配置再到测试连接,帮助您快速搭建版本控制环境。
一、环境准备与SVN安装
1.1 检查是否已安装SVN
首先检查系统是否已经安装了SVN:
# rpm -qa subversion1.2 安装SVN服务器
如果未安装,使用yum命令安装SVN及相关依赖:
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql1.3 验证安装
安装完成后,验证相关模块是否已正确安装:
# cd /etc/httpd/modules # ls | grep svn mod_authz_svn.so mod_dav_svn.so1.4 查看SVN版本
确认SVN版本信息:
# svnserve --version二、创建SVN代码库
2.1 创建仓库目录
安装完成后,需要创建SVN仓库目录:
# mkdir -p /opt/svn/repositories # svnadmin create /opt/svn/repositories2.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=1234563.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/repositories4.2 查看SVN进程
# ps -ef|grep svn|grep -v grep root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories4.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等客户端进行测试:
- 连接测试:SVN服务启动后,使用客户端测试连接。客户端连接地址:
svn://192.168.15.231,然后输入用户名密码(如果无法连接,请检查authz、passwd、svnserve.conf配置是否正确) - 检出代码:新建一个文件夹作为本地仓库目录,右键选择"Checkout",将会得到一个隐藏文件夹
.svn - 提交代码:在此文件夹中放入项目内容,然后右键点击"Commit",就可以上传本地项目到SVN服务器
七、参考资源
- 原文参考:Linux安装配置SVN服务器 - 木子执手 - 博客园
- 相关参考:linux下svn服务器安装配置与启动_linux svnserver.conf 启动-CSDN博客
- 环境准备参考:Linux下Openssl的安装全过程
个人实践说明:以上步骤我都照着做了,不知道有没有必然的联系,反正最后我搭建成功了(我用的是阿里云的Linux服务器)。
博客
这些都照着做了不知道有没有必然的联系 , 反正最后我搭建成功了(我用的是阿里云的 linux服务器)。
