0

我试图使用下面的论坛来解决问题,但它并没有为我工作

https://stackoverflow.com/questions/21955234/ckan-install-paster-error

令人惊讶的是,当我尝试在 Windows 上安装 CKAN 时,我遇到了同样的问题。

paste db init -c XXXX/development.ini not working for CKAN-command 'db' not know 这次我尝试按照说明在 Ubuntu 12.04(实际上是 12.04.5,因为我无法获得 12.0.4)上安装 CKAN

http://docs.ckan.org/en/latest/maintaining/installing/install-from-source.html

我必须使用代理安装所有东西

我已将密码添加到 SQL 化学并且 Development.ini 确实存在。这是我的错误(下)

这是代理问题吗?正如其他论坛推荐的那样,我已使用 chmod 更改对 ini 文件的访问权限。我还设置了虚拟路径。当我检查它时,数据库库确实存在。:

(default)root@UbuntaDataServer:/usr/lib/ckan/default/src/ckan# paster db init -c /etc/ckan/default/development.ini
    Traceback (most recent call last):
      File "/usr/lib/ckan/default/bin/paster", line 9, in <module>
        load_entry_point('PasteScript==1.7.5', 'console_scripts', 'paster')()
      File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 104, in run
        invoke(command, command_name, options, args[1:])
      File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 143, in invoke
        exit_code = runner.run(args)
      File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 238, in run
        result = self.command()
      File "/root/ckan/lib/default/src/ckan/ckan/lib/cli.py", line 156, in command
        self._load_config()
      File "/root/ckan/lib/default/src/ckan/ckan/lib/cli.py", line 98, in _load_config
        load_environment(conf.global_conf, conf.local_conf)
      File "/root/ckan/lib/default/src/ckan/ckan/config/environment.py", line 232, in load_environment
        p.load_all(config)
      File "/root/ckan/lib/default/src/ckan/ckan/plugins/core.py", line 124, in load_all
        unload_all()
      File "/root/ckan/lib/default/src/ckan/ckan/plugins/core.py", line 182, in unload_all
        unload(*reversed(_PLUGINS))
      File "/root/ckan/lib/default/src/ckan/ckan/plugins/core.py", line 210, in unload
        plugins_update()
      File "/root/ckan/lib/default/src/ckan/ckan/plugins/core.py", line 116, in plugins_update
        environment.update_config()
      File "/root/ckan/lib/default/src/ckan/ckan/config/environment.py", line 270, in update_config
        search.check_solr_schema_version()
      File "/root/ckan/lib/default/src/ckan/ckan/lib/search/__init__.py", line 291, in check_solr_schema_version
        res = urllib2.urlopen(req)
      File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
        return _opener.open(url, data, timeout)
      File "/usr/lib/python2.7/urllib2.py", line 406, in open
        response = meth(req, response)
      File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.7/urllib2.py", line 444, in error
        return self._call_chain(*args)
      File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
        raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 503: Service Unavailable
4

4 回答 4

1

堆栈跟踪的这一部分:

文件“/root/ckan/lib/default/src/ckan/ckan/lib/search/ init .py”,第 291 行,在 check_solr_schema_version

res = urllib2.urlopen(req)

提示连接到 Solr 有问题。您应该确保 solr 正在运行,您可以连接到它,并且您的 .ini 文件中针对 solr 运行的位置和端口的设置是正确的。

于 2014-11-24T17:13:40.677 回答
0

我找到了另一个答案,如果上述方法不起作用,请尝试:再次安装:

sudo -E apt-get install python-pastescript

. /usr/lib/ckan/default/bin/激活

cd /usr/lib/ckan/default/src/ckan

粘贴 make-config ckan /etc/ckan/default/development.ini

将 SOLR 更改为您的 IP 号码而不是 localhost

paste db init -c /etc/ckan/default/development.ini

希望能解决您的问题

于 2014-12-18T04:36:04.723 回答
0

这不是完整的答案。也许接近。

这是我在 http:||localhost|solr| 上看到的

Solr Admin (ckan)
UbuntaDataServer:8983
cwd=/var/cache/jetty/tmp SolrHome=/usr/share/solr/

这是在 URL 上运行的内容。我认为这是接近或正确的?

还有什么建议吗?

于 2014-11-26T04:23:18.617 回答
0

使用 CKAN 2.2 我对需要身份验证的代理有同样的问题

如果您从源代码安装 CKAN,我建议移至 2.2.1 版本(或更高版本)。在这些版本中,我发现身份验证代理没有问题。

无论如何,如果您绑定到特定的旧版本的 CKAN,您可以手动添加代理处理程序。

首先,设置你的 http_proxy 环境变量(大写和小写)

现在您可以编辑文件ckan/ckan/lib/search/__init__.py并亲自动手。

我们需要声明一个 handle_proxy() 函数:

import os
def handle_proxy():
    proxy_settings = dict()
    for k,v in os.environ.items():
        if k.rfind('_proxy') > -1:
            proxy_settings[k] = v
    proxy_handler = urllib2.ProxyHandler(proxy_settings)
    opener = urllib2.build_opener(proxy_handler)
    urllib2.install_opener(opener)

现在我们可以在发送请求之前在 check_solr_schema_version() 函数中调用它。
代替

res = urllib2.urlopen(req)

handle_proxy()
res = urllib2.urlopen(req)

注意:这是一个临时解决方法,以防万一升级到较新版本(我目前使用 2.2.2 分支)不能为您解决问题。我不建议将它用于生产环境:)

于 2014-12-05T18:50:27.977 回答