我已将CKAN安装到Vagrant环境中,我希望能够在文本编辑器中查看和编辑配置文件(etc/ckan
)和源文件(/usr/lib/ckan
)在我的本地机器上(不是在Vim over ssh)。这是我的文件夹结构:
CKAN/
VagrantFile
ckan-config/
ckan-source/
我的VagrantFile
中的以下两行允许我查看本地桌面中的ckan-config
和ckan-source
文件夹:
config.vm.synced_folder "ckan-config/", "/etc/ckan"
config.vm.synced_folder "ckan-source/", "/usr/lib/ckan"
上面的第一行同步ckan-config
文件夹(包含datapush_settings.py
和default/development.ini
之类的内容),并且工作正常。但是,如果我没有注释第二行,那么CKAN就不起作用了。我收到 500内部服务器错误。
我已尝试评论第二行,启动Vagrant框,取消注释,然后运行vagrant reload
但CKAN仍然无法启动。我仍然得到相同的 500内部服务器错误。
vagrant ssh
加入其中/etc/ckan
添加到其中/usr/lib/ckan
VagrantFile
所在的同一目录VagrantFile
vagrant reload
对不起,很长的帖子。只是想从一开始就让一切都清楚。感谢您提前提供任何帮助。
答案 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合作的好方法。我建议你从头开始重新创建这两个目录:
vagrant reload
vagrant ssh
注意,我这样做并遇到了Beaker的问题,此处详细介绍了解决方法:https://github.com/ckan/ckan/issues/3512
通过复制源目录(通过git),你可能搞砸了安装或virtualenv的一些微妙之处 - 例如隐藏文件,符号链接等 - 根据该错误消息,您最终没有在virtualenv中安装CKAN。最好先将这些行添加到Vagrantfile中,而不是在安装后添加。