【Linux下的SVN服务器搭建步骤详解】
在Linux环境中,Subversion(简称SVN)是一种流行的版本控制系统,用于管理和协作开发项目。本指南将详细介绍在CentOS 6.5上搭建SVN服务器的步骤,帮助你避免在网上寻找资料时可能遇到的陷阱。
**第一步:安装SVN服务器**
我们需要通过`yum`命令安装`svnserve`,这是SVN服务器的主要组件。运行以下命令以安装Subversion及其依赖项:
```bash
yum -y install subversion
```
安装完成后,你可以使用`rpm -ql subversion`来查找SVN相关服务和文件的位置。
**第二步:创建版本库目录**
创建一个目录来存储版本库。在这个例子中,我们将在`/var/svn/svnrepos`下创建一个目录:
```bash
mkdir /var/svn/svnrepos
```
**第三步:创建SVN版本库**
接下来,使用`svnadmin`命令创建一个名为`xxxx`的版本库(你可以根据需要自定义这个名字):
```bash
svnadmin create /var/svn/svnrepos/xxxx
```
完成后,你会在指定目录下看到版本库的文件结构。
**第四步:配置版本库**
进入版本库的`conf`目录,对配置文件进行编辑:
1. **authz** 文件管理账号权限。在文件末尾添加账号及其对应的读写权限,如:
```bash
[ ]
账号1 = rw
账号2 = rw
```
注意,斜杠是反斜杠,且无需在方括号内指定版本库名,以允许更大范围的访问权限。
2. **passwd** 文件管理账号和密码。追加账号和密码信息,如:
```bash
admin = 123456
```
确保格式正确。
3. **svnserve.conf** 文件是SVN服务器的核心配置。取消以下几行的注释:
- `anon-access = none`:匿名用户无访问权限。
- `auth-access = write`:只有经过身份验证的用户才能写入。
- `password-db = passwd`:指定密码文件。
- `authz-db = authz`:指定权限文件。
不要像一些教程那样取消`authz-db = authz`的注释,这可能导致认证失败。同样,无需在`realm`字段中填写服务器IP。
**第五步:配置防火墙**
为了允许客户端连接,需要开启防火墙对SVN服务的访问。执行以下命令:
```bash
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
```
这些命令会打开3690端口,以便SVN通信。
**第六步:启动SVN服务器**
在命令行中,使用以下命令启动SVN服务器:
```bash
svnserve -d -r /var/svn/svnrepos
```
`-d`参数表示后台运行,`-r`指定了版本库的根目录。
**第七步:客户端访问**
在Windows客户端,你可以使用SVN客户端工具(如TortoiseSVN)输入如下URL来访问SVN仓库:
```bash
svn://ip地址:3690/xxxx
```
其中,`ip地址`是你的Linux服务器IP,`xxxx`是你创建的版本库名。输入正确的用户名和密码后,你就能开始使用SVN服务了。
以上就是Linux环境下搭建SVN服务器的完整过程,希望这个指南能帮助你顺利设置并避免常见的配置陷阱。在实践中,你可能还需要根据实际需求调整一些配置,如增加用户、设置更复杂的权限策略等。祝你搭建成功!