【问题标题】:IP address in ckan.site_url not accepted by ckan db initckan db init 不接受 ckan.site_url 中的 IP 地址
【发布时间】:2020-08-20 02:20:09
【问题描述】:

我在没有域(可通过 IP 地址访问)的 Ubuntu 16.04 VM 上关注 CKAN 2.8 的 official installation procedure from package

我已经为/etc/ckan/default/ckan.ini 配置了VM 的HTTP URL (ckan.site_url = http://192.168.56.101:80),但是当我调用ckan db init 时,它返回错误ckan.site_url is not configured and it must have a value。我还尝试了 URL 的其他变体,但它们都不起作用:

  • http://192.168.56.101
  • http://192.168.56.101:80
  • http://192.168.56.101/ (the docs 说后面的斜杠不是必须的,但你永远不知道)
  • "http://192.168.56.101"

我做错了什么?

你可以在下面看到/etc/ckan/default/ckan.ini的内容和ckan db init的输出。

daniele@ckantest:~$ cat /etc/ckan/default/ckan.ini
solr_url = http://127.0.0.1:8983/solr
ckan.site_id = ckan-demo
ckan.site_url = http://192.168.56.101:80

daniele@ckantest:~$ sudo ckan db init
Traceback (most recent call last):
  File "/usr/bin/ckan", line 45, in <module>
    load_entry_point('PasteScript', 'console_scripts', 'paster')()
  File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/script/command.py", line 102, in run
    invoke(command, command_name, options, args[1:])
  File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/script/command.py", line 141, in invoke
    exit_code = runner.run(args)
  File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/script/command.py", line 236, in run
    result = self.command()
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 357, in command
    self._load_config(cmd!='upgrade')
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 330, in _load_config
    self.site_user = load_config(self.options.config, load_site_user)
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 237, in load_config
    load_environment(conf.global_conf, conf.local_conf)
  File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 116, in load_environment
    p.load_all()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 130, in load_all
    unload_all()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 183, in unload_all
    unload(*reversed(_PLUGINS))
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 211, in unload
    plugins_update()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 122, in plugins_update
    environment.update_config()
  File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 190, in update_config
    'ckan.site_url is not configured and it must have a value.'
RuntimeError: ckan.site_url is not configured and it must have a value. Please amend your .ini file.

编辑:

我添加了将ckan.demo 链接到192.168.56.101 的主机名规则,然后使用主机名编辑了ckan.ini,但错误仍然存​​在。显然错误不是由IP引起的,而是由其他原因引起的。

你可以在下面看到/etc/hosts的内容,/etc/ckan/default/ckan.ini的内容和ckan db init的输出。

daniele@ckantest:~$ cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       ckantest

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.56.101 ckan.demo

daniele@ckantest:~$ nmap ckan.demo

Starting Nmap 7.01 ( https://nmap.org ) at 2020-05-05 14:26 CEST
Nmap scan report for ckan.demo (192.168.56.101)
Host is up (0.000044s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
8080/tcp open  http-proxy
8800/tcp open  sunwebadmin

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
daniele@ckantest:~$ cat /etc/ckan/default/ckan.ini
solr_url = http://127.0.0.1:8983/solr
ckan.site_id = ckan-demo
ckan.site_url = http://ckan.demo
daniele@ckantest:~$ sudo ckan db init
Traceback (most recent call last):
  File "/usr/bin/ckan", line 45, in <module>
    load_entry_point('PasteScript', 'console_scripts', 'paster')()
  File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/script/command.py", line 102, in run
    invoke(command, command_name, options, args[1:])
  File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/script/command.py", line 141, in invoke
    exit_code = runner.run(args)
  File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/script/command.py", line 236, in run
    result = self.command()
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 357, in command
    self._load_config(cmd!='upgrade')
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 330, in _load_config
    self.site_user = load_config(self.options.config, load_site_user)
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 237, in load_config
    load_environment(conf.global_conf, conf.local_conf)
  File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 116, in load_environment
    p.load_all()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 130, in load_all
    unload_all()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 183, in unload_all
    unload(*reversed(_PLUGINS))
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 211, in unload
    plugins_update()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 122, in plugins_update
    environment.update_config()
  File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 190, in update_config
    'ckan.site_url is not configured and it must have a value.'
RuntimeError: ckan.site_url is not configured and it must have a value. Please amend your .ini file.

【问题讨论】:

    标签: url dns ip-address ckan


    【解决方案1】:

    是否有可能您忘记提供配置文件的位置?

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

    干杯,弗洛里安

    【讨论】:

    • 尝试您建议的命令 ckan 会引发错误,因为它无法识别“-c”选项。
    • 这是输出:``` daniele@ckantest:~$ sudo ckan -c /etc/ckan/default/ckan.ini db init 用法:ckan [paster_options] COMMAND [command_options] ckan:错误:没有这样的选项:-c daniele@ckantest:~$ sudo ckan --help 用法:ckan [paster_options] COMMAND [command_options] ckan:错误:没有这样的选项:-c daniele@ckantest:~$ sudo ckan -h 用法:ckan [paster_options] COMMAND [command_options] ckan:错误:没有这样的选项:-c```
    • 我知道 ckan 命令是现在要走的路,但是当我为 CKAN 2.8 开发时,我使用了等效的粘贴命令:paster --plugin=ckan db init -c [location to config] 也许这对你有用
    • 我通过运行 sudo ckan db init -c /etc/ckan/default/ckan.ini.Ckan 解决了一个不同的错误 (File contains no sections headers)。我搜索并找到了docs.ckan.org/en/latest/maintaining/…,这让我理解了这两个错误:安装指南应该适用于 ckan 2.8 并说要编辑 /etc/ckan/default/ckan.ini,但 ckan/etc/ckan/default/production.ini 中的配置。所以安装指南是错误的那部分。第二个错误是由不包含[app:main] 标头的ini 文件引起的。
    • 所以我通过编辑/etc/ckan/default/production.ini 并运行sudo ckan db init 解决了问题。现在它会引发密码验证错误,但与此问题无关。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    相关资源
    最近更新 更多