在 FreeBSD 服务器上安装和设置 SVN

4 freebsd svn bsd

首先感谢所有回答我之前问题的人 - /sf/ask/97567921/

尽管我更喜欢使用基于 Web 的解决方案,但 svn 服务器将在办公室中实现。

我们目前正在我们的服务器上运行 FreeBSD,我目前正在寻找有关使用命令提示符在服务器上设置 SVN 存储库的信息。

我过去曾在 Ubuntu 上使用过终端命令,所以我有一些想法,但我离专家还差得很远。我遇到了一些教程,但它们看起来完全不同,并且似乎跳过了一些内容。我真的在寻找有关设置存储库及其用户的分步指南。理想情况下是初学者指南,所以我确切地知道发生了什么。

我真的很感激任何正确方向的提示或指示。

感谢您的时间。

小智 6

我建议您首先尝试使用 subversion 附带的 svnserve 守护程序。它使用自己的 TCP 协议,因此对于存储库的所有操作,您将使用 svn:// URL 方案,例如:

% svn 结帐 svn://localhost/myproject

因此,在安装 devel/subversion 端口后:

# cd /usr/ports/devel/subversion
# make WITHOUT_BDB=1 WITH_SVNSERVE_WRAPPER=1 WITH_REPOSITORY_CREATION=1 安装干净

您将在/home/svn/repos. 端口还将创建svn用户和svn组(检查它们/etc/passwd/etc/group文件以确保)。

然后,将此行添加到您/etc/rc.conf

svnserve_enable="是"
svnserve_flags="-d --listen-port=3690 --listen-host 127.0.0.1"
svnserve_data="/home/svn/repos"
svnserve_user="svn"
svnserve_group="svn"

如果需要,将 127.0.0.1 更改为另一个可从其他机器访问的 IP。使用以下命令启动守护进程:

# /usr/local/etc/rc.d/svnserve start

如果没有发生错误,请检查正在运行的守护进程:

# /usr/local/etc/rc.d/svnserve 状态
svnserve 以 pid 65968 运行。

或者

# sockstat | grep SVN
svn svnserve 65968 3 tcp4 127.0.0.1:3690 *:*

好的。现在您需要为 svnserve 创建每用户身份验证。这是通过编辑/home/svn/repos/conf/passwd文件来完成的,例如:

[用户]
鲍勃 = 密码
乔 = another_password
alex = Yet_another_password

然后,确保/home/svn/repos/conf/svnserve.conf文件中存在以下几行:

[一般的]
匿名访问 = 无
身份验证访问 = 写入
密码-db = passwd

就是这样。现在您可以将您的源代码导入此存储库。更多信息请阅读 http://svnbook.red-bean.com/en/1.5/svn.serverconfig.svnserve.html