在Vagrant

时间:2017-03-27 11:49:05

标签: vagrant ckan

背景资料

我已将CKAN安装到Vagrant环境中,我希望能够在文本编辑器中查看和编辑配置文件(etc/ckan)和源文件(/usr/lib/ckan)在我的本地机器上(不是在Vim over ssh)。这是我的文件夹结构:

  • CKAN/
    • VagrantFile
    • ckan-config/
    • ckan-source/

我的VagrantFile中的以下两行允许我查看本地桌面中的ckan-configckan-source文件夹:

config.vm.synced_folder "ckan-config/", "/etc/ckan"
config.vm.synced_folder "ckan-source/", "/usr/lib/ckan"

这是我的问题

上面的第一行同步ckan-config文件夹(包含datapush_settings.pydefault/development.ini之类的内容),并且工作正常。但是,如果我没有注释第二行,那么CKAN就不起作用了。我收到 500内部服务器错误

我已尝试评论第二行,启动Vagrant框,取消注释,然后运行vagrant reload但CKAN仍然无法启动。我仍然得到相同的 500内部服务器错误

我是如何创建本地文件夹的

  • 创建了一个有效的CKAN环境
  • vagrant ssh加入其中
  • 创建了一个新的git存储库并将/etc/ckan添加到其中
  • 创建了另一个新的git存储库,并在其中添加了/usr/lib/ckan
  • 退出ssh
  • 转到VagrantFile所在的同一目录
  • git克隆了两个存储库
  • 将两行(上方)添加到VagrantFile
  • vagrant reload

对不起,很长的帖子。只是想从一开始就让一切都清楚。感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:1)

您需要确保root用户拥有您的文件夹,当您从本地主机同步时,默认所有者将是流浪汉

使用

更改设置
config.vm.synced_folder "ckan-config/", "/etc/ckan", owner: "root", group: "root"
config.vm.synced_folder "ckan-source/", "/usr/lib/ckan", owner: "root", group: "root"

您可能需要检查权限,对于您可能需要添加/usr/lib/ckan

mount_options: ["dmode:775" ,"fmode=664"]文件夹

答案 1 :(得分:1)

这是与Vagrant和ckan合作的好方法。我建议你从头开始重新创建这两个目录:

  1. 将这两行添加到您的Vagrantfile
  2. vagrant reload
  3. vagrant ssh
  4. 重新运行三CKAN install steps:“2。将CKAN安装到Python虚拟环境中”“4。创建一个CKAN配置文件”“8。链接到who.ini”
  5. 注意,我这样做并遇到了Beaker的问题,此处详细介绍了解决方法:https://github.com/ckan/ckan/issues/3512

    通过复制源目录(通过git),你可能搞砸了安装或virtualenv的一些微妙之处 - 例如隐藏文件,符号链接等 - 根据该错误消息,您最终没有在virtualenv中安装CKAN。最好先将这些行添加到Vagrantfile中,而不是在安装后添加。