通过Vagrant中的共享文件访问CKAN源文件 背景信息
我已经将CKAN安装到一个Vagrant环境中,我希望能够在本地机器(不是在Vim over ssh上)的a文本编辑器中查看和编辑配置文件(通过Vagrant中的共享文件访问CKAN源文件 背景信息,vagrant,ckan,Vagrant,Ckan,我已经将CKAN安装到一个Vagrant环境中,我希望能够在本地机器(不是在Vim over ssh上)的a文本编辑器中查看和编辑配置文件(etc/CKAN)和源文件(/usr/lib/CKAN)。以下是我的文件夹结构: CKAN/ vagrant文件 ckan-config/ ckan source/ 我的VagrantFile中的以下两行允许我查看本地桌面上的ckan config和ckan source文件夹: config.vm.synced_folder "ckan-confi
etc/CKAN
)和源文件(/usr/lib/CKAN
)。以下是我的文件夹结构:
CKAN/
vagrant文件
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\u settings.py
,以及default/development.ini
),效果很好。但是,如果第二行没有注释,那么CKAN就不起作用了。我收到一个500内部服务器错误
我试着注释掉第二行,启动Vagrant框,取消注释,然后运行Vagrant reload
,但CKAN仍然无法启动。我仍然收到相同的500内部服务器错误
首先,我是如何创建本地文件夹的
- 创建了一个工作环境
vagrant ssh
- 创建了一个新的git存储库,并在其中添加了
/etc/ckan
- 创建了另一个新的git存储库,并在其中添加了
/usr/lib/ckan
- 从ssh退出
- 转到了
所在的同一目录vagrant文件
- git克隆了这两个存储库
- 将两行(以上)添加到
vagrant文件中
- 跑
vagrant重新加载
抱歉发了这么长的邮件。只是想从一开始就把一切都弄清楚。提前感谢您的帮助。您需要确保
root
用户拥有您的文件夹,当您从本地主机同步文件夹时,默认所有者将是vagrant
使用更改您的设置
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\u选项:[“dmode:775”,“fmode=664”]
这是处理Vagrant和ckan的一个好方法。我建议您从头开始重新创建这两个目录:
vagrant reload
vagrant ssh
通过复制源目录(通过git),您可能已经搞乱了安装或virtualenv的一些细节-例如隐藏文件、符号链接等-并且根据该错误消息,您最终在virtualenv中没有安装CKAN。最好先将这些行添加到您的Vagrant文件中,而不是在安装之后。ckan日志说问题出在哪里?@DRead ckan日志在哪里?我在文件里找不到它的任何参考资料
/var/log/apache2/ckan_default.error.log
返回大量错误列表。最后一行是:[Mon-Mar 27 14:20:20.193664 2017][wsgi:error][pid 1536:tid 140204656879360][remote 127.0.0.1:65016]DistributionNotFound:“ckan”发行版未找到并且是应用程序所需的
是的,不容易找到,但它在“日志文件”下的文档中在本页中,我充实了这一通用方法,并将其作为wiki页面提供: