1

I was trying to spin a Solid Server. I've followed the instruction from Solid project (https://solid.inrupt.com/docs) to set up an server. However, when the service is running, it fails to start and complaints about path is not defined:

● solid.service - solid - Social Linked Data
Loaded: loaded (/lib/systemd/system/solid.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2018-10-01 21:47:49 UTC; 4s ago
 Docs: https://solid.inrupt.com/docs/
Process: 2519 ExecStart=/usr/bin/solid start -v (code=exited, status=0/SUCCESS)
Main PID: 2519 (code=exited, status=0/SUCCESS)

Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Config path: ./config
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Suffix Acl: .acl
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Suffix Meta: .meta
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Filesystem Root: /var/www/my.server.com/
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Allow WebID authentication: true
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Live-updates: true
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Multi-user: false
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Suppress default data browser app: undefined
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Default data browser app file path: default
Oct 01 21:47:49 Mars solid[2519]: ERROR Path must be a string. Received undefined

From this log, it seems like solid is still trying to read config from ~/.config path, although when I ran solid init command, I changed the location to /var/www/my.server.com/config/config.json. So the question is how do I resolve this issue? if the server is not loading current config or loading a cached config, how do I clear it?

I would really appreciate any help on this. Thanks.

O. Jones
  • 103,626
  • 17
  • 118
  • 172
Tuhin
  • 195
  • 1
  • 9

1 Answers1

1

I ran into the exact same issue (and more so afterwards...)

What fixed it for me, was to move the config.json into /var/www/my.solid.server and not in the config/ subdirectory. The service definition points to 'var/www/my.solid.server' as its working directory and the solid executable tries to find config.json in that folder.

The documentation is a on pretty minimal level. Hope they keep growing this great idea. Hope this helps a little.

GerardV
  • 375
  • 2
  • 11
  • Thanks a lot @gerardv, that really worked for me. At least the server is not complaining about `Path` as `undefined`. Now I'm getting issue where it's failing to read letsencrypt certificates and I guess that I need to give that user read permission to that file. I'll work on it and will update it here. thanks again for your help. – Tuhin Oct 13 '18 at 21:31
  • Hi @gerardv, I've changed permission to 755 for `/etc/letsencrypt/live` and /etc/letsencrypt/archive` directories and the permission issues are now gone. Solid service is up and running, however, I still can't access the server at my URL. curl command says `connection refused`. So I guess I need to resolve this issue now (unless you've already faced and resolved this issue). – Tuhin Oct 13 '18 at 22:36
  • Are you using the port number when you connect @Tuhin? – GerardV Oct 14 '18 at 08:59
  • No. I'm using port 443 and as the url is https, I think port number is not needed. – Tuhin Oct 14 '18 at 10:25