redmine与svn连接问题

redmine与svn连接问题

我有一个由Debian 6.0控制的服务器。前段时间安装并配置了redmine,现在配置了svn服务器。

现在我正在尝试配置 redmine 以便能够查看 svn 存储库。URL 是: https://192.168.11.78/svn/bee

连接不起作用,日志显示此错误:

Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>

Google 说这是常见错误,可以通过永久接受服务器证书来修复,所以我照做了,但没有任何效果。仍然不起作用。

后来我又补充道

[global]
store-plaintext-passwords = no

在文件中

.subversion/servers

我为 root 和 www-data 用户执行了此操作(并接受了证书)。但没有任何帮助,redmine 中仍然出现错误

The entry or revision was not found in the repository.

我还能用它做什么?

答案1

据我回忆,这是 Redmine 的一个错误。它根本不能很好地处理自签名证书。

我最终按照说明进行操作这里并开始运行。简而言之,创建一个目录,用于将配置转储到 subversion,手动运行一次,然后编辑subversion_adapter.rbredminelib/redmine/scm/adapters/文件夹中的 ,以便将其指向该配置目录。我没有/无法完全遵循这些指示,我怀疑你也做不到,所以如果需要的话,请准备好脱离脚本。

答案2

除了 Peelman 所说的内容(因为我无法评论他的回答),对我来说,将 --config-dir 指令添加到 subversion_adapter.rb 文件是解决难题的最后一块拼图(我尝试了各种方式来运行 svn 并永久接受证书,但 redmine 找不到配置)。

为了澄清起见,完整的步骤如下:

1:修改Redmine的Subversion适配器脚本

# pico /usr/share/redmine/lib/redmine/scm/adapters/subversion_adapter.rb

使用命令行参数更改该文件中的行

从:str << " --no-auth-cache --non-interactive"

到:str << " --config-dir /usr/share/redmine/svn/.subversion --no-auth-cache --non-interactive"

2:确保 Subversion 客户端永久接受自签名证书

# sudo -u www-data svn --config-dir /usr/share/redmine/svn/.subversion list https://<my-repository-url>

出现提示时,选择永久接受证书的选项

要完成测试,请在出现提示时输入您的 subversion 凭据(在第一次输入 www-data 用户名时按 Enter 键,它会再次要求输入另一个用户名)。出现提示时,选择“否”以不加密保存您的凭据(此时已保存了 SSL 证书的必要接受)。您可以通过查看 /usr/share/redmine/svn/.subversion 目录来验证这一点,您将在其中找到一个名为 svn.ssl.server 的目录,其中包含一个新文件。

显然,如果您的 redmine 副本以 www-data 以外的用户身份运行,则应改为使用该用户执行 sudo。确保您执行 sudo 的用户具有在 redmine 目录内创建 /svn 目录所需的权限 - 否则,在运行 svn 客户端时,您可能无法选择(永久)接受证书。

3:重新启动Apache

就我而言,redmine 使用 apache 下的 mod_passenger 运行,因此需要重新启动 apache 才能使 redmine subversion 适配器脚本的更改生效(重新启动之前,我仍然在 redmine 中看到错误)。

# /etc/init.d/apache2 restart

4:在 Redmine 中浏览项目的 /repository

现在一切都应该正常工作

相关内容