常见问题解答¶
- 目录
- 常见问题解答
- 安装和运行 Redmine
- Redmine 是否与 Rails 2.x.x 兼容?
- 当我启动应用程序时,我得到这个错误 "在 'gem_original_require':找不到要加载的文件 -- initializer (LoadError)"
- 当我启动应用程序时,我得到这个错误信息:"无法连接到 mysql:没有这样的文件或目录 - /tmp/mysql.sock"
- 应用程序在长时间无活动后冻结。
- 为什么 Redmine 使用 http 链接,而我想要它使用 https 链接在 Apache 中?(SSL)
- 使用 Passenger 部署时,我得到这个错误信息:ActionController::RoutingError (没有匹配 "/index.html" 的路由,{:method=>:get})
- 问题跟踪
- 时间跟踪
- 仓库
- 维基
- 性能
- 杂项
- 安装和运行 Redmine
安装和运行 Redmine¶
Redmine 是否与 Rails 2.x.x 兼容?¶
请参阅安装指南中的兼容性。
当我启动应用程序时,我得到这个错误 "在 'gem_original_require':找不到要加载的文件 -- initializer (LoadError)"¶
请确保 Ruby on Rails 已正确安装到您的机器上。
当我启动应用程序时,我得到这个错误信息:"无法连接到 mysql:没有这样的文件或目录 - /tmp/mysql.sock"¶
您必须在 config/database.yml
中指定套接字位置。
请参阅http://dev.rubyonrails.org/ticket/200。
应用程序在长时间不活动后冻结。¶
在 ruby/mysql 适配器 < 2.7.3 中存在一个错误,导致数据库连接丢失。请更新您的适配器。
您可以在以下链接中查看线程: http://rubyforge.org/forum/message.php?msg_id=25951。
为什么 Redmine 使用 http 链接,而我想要它在 Apache 中使用 https 链接?(SSL)¶
这发生在 Apache 向后端服务器(如 mongrel 或 thin)发送请求时。Apache 没有告诉后端服务器使用 https,因此链接生成不正确。向 Apache 添加以下配置
RequestHeader set X_FORWARDED_PROTO 'https'
或者
RequestHeader set X-Forwarded-Proto 'https'
在使用 Passenger 部署时,我收到以下错误信息:ActionController::RoutingError (No route matches "/index.html" with {:method=>:get})¶
您的 Apache 错误地解释了用于(f)cgi 部署所需的 public/.htaccess
文件。您可以通过以下方式停止这种情况:要么完全删除该文件(因为 Passenger 不需要它),要么向 Apache 插入以下配置指令。
AllowOverride None
问题跟踪¶
我创建了一个新的问题状态,但无法使用它,它没有显示在状态下拉列表中。¶
一旦您创建了一个新的问题状态,您需要将其包含在工作流程中。
假设您创建了一个名为 'In progress' 的状态,并希望开发者能够将错误从 'New' 更改为 'In progress'。
转到 "管理 -> 工作流程",选择 '错误' 和 '开发者',取消选中 '只显示此跟踪器使用的状态' 复选框,然后单击编辑。
现在您可以看到开发者在错误上允许的所有转换。在 'New' 行中,单击 'In progress' 列中的复选框,然后保存。
见 工作流程设置。
我创建了一个新的跟踪器,但无法使用它,它没有显示在跟踪器下拉列表中。¶
一旦您创建了一个新的跟踪器,您需要为特定项目 "激活" 它。
假设您创建了一个名为 '任务' 的跟踪器,并希望新跟踪器用于您的项目;- 转到 "(项目-)设置 -> 标签 '信息' -> 字段集 '跟踪器',
- 选中新跟踪器 '任务' 的复选框,
- 然后单击保存。
现在您可以使用新跟踪器 '任务' 开始在您刚刚激活新跟踪器的项目中使用。
“相关问题”是如何工作的?¶
请参阅 RedmineIssues 以获得深入解释。
时间跟踪¶
“已花费时间报告”中的时间计算是错误的。¶
您可能正在使用 十进制时间格式 在 Redmine 中输入已花费时间值。请参阅 RedmineTimeTracking 以获得深入解释。
仓库¶
直到我点击 '仓库',提交才显示在活动上。¶
默认情况下,Redmine 仅在您浏览仓库时才从仓库获取新的提交。
如果您希望 Redmine 定期(在后台)为您所有的仓库检索提交,请取消选中 '自动检索提交' 设置并添加一个 cron 作业(使用适当的环境)运行。
rake -f /path/to/redmine/Rakefile RAILS_ENV=production redmine:fetch_changesets
对于 SVN 仓库,您还可以将以下命令添加到 post-commit 钩子中
ruby /path_to_redmine/redmine/script/runner "Repository.fetch_changesets" -e production
**注意,post-commit 钩子的第二种方法可能会减慢提交速度,如果 Redmine 未能正常工作,可能会造成提交失败。
您可以通过将ruby命令发送到后台来绕过这些缺点。
ruby /path_to_redmine/redmine/script/runner "Repository.fetch_changesets" -e production > /dev/null 2>&1 &
我无法通过redmine浏览我的svn仓库¶
请检查以下内容- 请确保您正在使用版本控制客户端和服务器 >= 1.3。Redmine解析subversion的-xml输出,这是svn 1.3的一个特性。
- 请确保Web应用程序能够运行svn二进制文件。(提示:检查您的路径,并确保svn二进制文件在其中)
- 当使用file:///链接时,请确保Redmine运行的系统用户可以访问本地文件系统中file:///指定的位置。(提示:默认情况下,当使用passenger时,Redmine以拥有config/environment.rb的用户身份运行。)
如果您正在通过HTTPS访问仓库
通过https导入subversion仓库的初始操作要求手动验证和存储在由运行Web服务器的用户可访问的config-dir中的ssl证书指纹。建议提供一个位于redmine应用程序根目录的目录,无论是作为默认值(./svn/.subversion)还是作为subversion仓库设置中提供的参数。
解决证书接受问题的解决方案是手动从svn服务器检出任何内容,指定本地配置目录并永久接受证书。
示例
$ svn --config-dir ./svn/.subversion co https://svn.mydomain.com/project/trunk delete-me Error validating server certificate for 'https://svn.mydomain.com:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. - The certificate has expired. Certificate information: - Hostname: svn.mydomain.com - Valid: from Apr 8 12:00:00 2006 GMT until Sep 24 12:00:00 2010 GMT - Issuer: mydomain.com, vrsource.org, Geneva, UN - Fingerprint: 01:27:d9:6a:b8:db:63:f3:24:e3:41:c8:15:0a:f8:93:f6:7c:0f:11 (R)eject, accept (t)emporarily or accept (p)ermanently? p
或修改 <redmine根目录>/lib/redmine/scm/adapters/subversion_adapter.rb 中的 subversion_adapter.rb
在credentials_string定义部分更改全局svn选项
从
--no-auth-cache --non-interactive
改为
--trust-server-cert --no-auth-cache --non-interactive
有关该问题的更多信息,请检查日志文件中在svn操作期间遇到的问题。(例如,/log/production.log)
或在 /etc/subversion/servers
中列出证书。有关详细信息,请参阅http://www.geekforgod.com/2006/12/01/making-svn-trust-a-new-root-ca-certificate/。
仓库统计信息不显示¶
- 如果您正在使用ruby 1.8.6
ruby 1.8.6提供的rexml 3.1.7中存在一个bug。您可以自行修复它
在ruby/1.8/rexml/document.rb
(第186行)中,将:if transitive
更改为if trans
然后重新启动应用程序。
有关详细信息,请参阅http://www.germane-software.com/projects/rexml/ticket/115。 - 如果您正在使用Internet Explorer
您需要SVG插件,例如Adobe提供的该插件,才能在Internet Explorer中正确显示SVG图像。
维基百科¶
如何在维基百科中创建子页面(父子关系)¶
请参阅RedmineWikis以获取深入解释。
全局维基¶
目前没有全局维基,当前的权限系统也不允许创建。一种解决方案是创建一个项目,如果需要,只需要一个维基,并用于所有全局需求。
性能¶
当我创建一个新的问题,Redmine冻结一分钟。¶
请确保您的SMTP服务器配置正确,或者停用 电子邮件通知(删除 config/email.yml
)并重新启动Redmine。
杂项¶
电子邮件使用错误的url¶
电子邮件中使用的url是在“管理 > 设置 > 一般选项卡”中的“主机名和路径”设置中配置的。(默认情况下为localhost:3000,这是Ruby on Rails的默认值)。它不应包含协议处理程序("http://")。
电子邮件通知不起作用¶
首先,尝试发送测试电子邮件:转到“管理 -> 设置 -> 电子邮件通知”并点击“发送测试电子邮件”。系统将向您的Redmine账户的电子邮件地址发送一封电子邮件。
- 如果遇到错误,请检查
config/configuration.yml
中的配置。请参阅EmailConfiguration。 - 如果您没有收到任何电子邮件,请检查您的SMTP服务器日志,以查看电子邮件是否已正确中继。
对于其他问题(例如,一些人收到了通知,但其他人没有),您可以通过在config/environments/production.rb
中取消注释该行来在您的Redmine日志文件中启用电子邮件调试输出。
config.action_mailer.logger = nil
应用程序重启后,每封发送的电子邮件都将记录到您的日志文件中(log/production.log
)。
这样,您可以检查电子邮件的收件人:
字段,以查看是否包含所有预期的电子邮件地址。
夏令时转换后,所有时间都晚了一个小时¶
Rails < 2.1的内置时区实现不支持夏令时。您必须安装TZInfo。
为此,请从Redmine目录运行以下命令
ruby script/plugin install tzinfo_timezone
如果您使用的是Redmine 0.8,请不要安装此插件。
文档和文件之间有什么区别?¶
"文档"部分用于发布规范、通知或其他不属于SCM的文档。
"文件"部分用于发布跟踪项目的版本,作为捆绑包(发布)。
当我尝试查看或比较PHP文件时,我遇到了404错误¶
这是因为Apache看到扩展名.php
并尝试在文件上运行PHP解释器。由于请求的URL不是真实文件,它返回404错误。
解决方案是关闭Redmine虚拟主机的mod_php。这将导致Apache调用Redmine来提供文件。
为此,请将以下行添加到您的虚拟主机配置中
RemoveHandler .php
php_flag engine off # Try without this line first
为什么Textile内联样式不起作用?¶
出于安全原因,从Redmine 0.8开始禁用了Textile内联样式(见#2416)。
如果您真的需要此功能并且不怕XSS攻击,因为您没有公共写入访问权限的项目,那么您需要手动更改Redmine源(source:/trunk/lib/redmine/wiki_formatting/textile/formatter.rb@2192#L33),或者在/lib/redmine/wiki_formatting/textile/formatter.rb中更改此设置。
self.filter_styles=false
在没有管理员Redmine账户但具有管理员Redmine数据库账户的情况下,密码丢失了¶
在文件/app/models/user.rb中找到:'哈希密码存储在以下形式:SHA1(salt + SHA1(密码))'
因此,您可以分两步重置密码
- 清除盐值
- 计算 sha1(sha1(new_password))
例如,对于密码"password"(不带引号),它将是"353e8061f2befecb6818ba0c034c632fb0bcae1b"
sha1(password)=0bd181063899c9239016320b50d3e896693a96df
sha1(0bd181063899c9239016320b50d3e896693a96df)=353e8061f2befecb6818ba0c034c632fb0bcae1b
- 注意从config/database.yml文件中的用户和密码。
- 对于MySQL
- 执行命令:
mysql -u <db user from database.yml> -p
- 输入:
<password from database.yml>
- 执行:
UPDATE users SET hashed_password='353e8061f2befecb6818ba0c034c632fb0bcae1b' WHERE login='admin';
- 执行:
UPDATE users SET salt='' WHERE login='admin';
- 执行:
exit
- 执行命令:
现在您可以访问Redmine登录网页,以用户admin的身份使用密码'password'登录。
编辑某些内容(例如版本)后,在Firefox >= 28中使用时,重定向不正确¶
Redmine在编辑某些内容(例如版本)后使用HTTP referer,特别是包括其中的path
部分,以进行正确的重定向。每当path
不可用时,重定向将不会按预期工作(例如,您将被重定向到主页而不是路线图或项目版本页面);请参阅#18058。
Mozilla Firefox 28引入了一系列新的设置(参见更改集e544d02和此第三方摘要),以限制发送HTTP referer的默认行为(参见问题822869)。其中至少有一个,即network.http.referer.trimmingPolicy
,被确认在更改其默认值'0
'并设置为'2
'后,会破坏Redmine中编辑某些内容后的某些重定向。在这种情况下,HTTP referer中的path
部分将被省略。
将此值更改为'0
'或'1
'可以修复不正确重定向的行为,因为在这两个值中,都会包含path
部分。