0

我使用 apt 在 ubuntu xenial 上使用 apache2 和 postgres 安装本地版本的 openproject 9。我让它正常工作了几个星期,然后冒昧地接受了提供的软件包升级,这破坏了配置。

我试过“openproject configure”,它似乎成功完成但没有解决问题。这是错误消息:

Missing `secret_key_base` for 'production' environment, set this string with `rails credentials:edit` (ArgumentError)
  /opt/openproject/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/application.rb:585:in `validate_secret_key_base'
  /opt/openproject/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/application.rb:432:in `secret_key_base'
  /opt/openproject/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/application.rb:176:in `key_generator'

我在非常接近提供的 conf 文件的 apache2 虚拟服务器中运行乘客。我对这些的唯一困惑是这些“包含”*.conf 文件来自 /etc/openproject,但那里没有要包含的文件。

我可以看到一个 env var SECRET_KEY_BASE 被定义/opt/openproject/.profile.d/ruby.sh,如果我在 /usr/bin/openproject shell 文件中读取 profile.d 后插入命令“env”,它确实会读取密钥的 a 设置。

发生了什么,我该如何解决?

4

1 回答 1

1

您使用环境变量设置此 secret_key,但需要您在 rails credentials:edit 上设置它。可能那个 env 是多余的,在这种情况下,唯一合适的地方就是凭证。可以将其保存在凭证中,只要您有 master.key 安全。如果您已生成 master.key,则传递该 secret_key 凭据。您可以通过 EDITOR=vim rails credentials:edit 运行它

于 2019-08-21T21:26:47.237 回答