Hi, I’ve been messing about with getting the node solid server up and running on an old raspberry pi, but I’ve run into issues getting it to work correctly. I will admit I’m rather new to self-hosting webservers and web development in general, so please bear with me also note I use
example.net in place of the actual domain name I’m testing this with, if that isn’t obvious.
I’ve been following this rough guide, and I seem to have got something working but not quite… I’ve registered a domain and pointed it at the server, forwarded ports 80 and 8443 on the router and installed + configured the server. I also attempted to generate an SSL certificate using certbot/letsencrypt (though I’ve only done this for the main domain, not wildcard subdomains). I’ve managed to get the server to run and even connected to it in browser; but here is where things aren’t quite working as expected…
The first issue is that, when running the solid server as a service per the guide, it doesn’t appear to work at all. At least, I can’t connect to it - and I’ve checked to make sure the service is actually running (it is). I have a sneaky feeling it’s something to do with permissions which the guide might omit, because the server does (semi) work when I run it as root manually in the terminal with
sudo solid start in the appropriate directory; at least, for instance when I connect to
example.net:8443 I get the homepage and I can even register an account (though
myaccount.example.net fails to load - is this because I’m missing the wildcard SSL certificate?). Also note that simply going to
example.net dosen’t work, I have to specify the port. Any idea why? Apologies if the answer seems obvious, I’m learning
Also, when running my server manually, I notice this kinda stuff logged in the terminal which is what makes me think I’ve misconfigured permissions somewhere:
solid:ACL accessDenied: checking access to <https://example.net/> by null and origin null +92ms solid:ACL 1 direct authentications about <https://example.net/> +14ms solid:ACL Agent or group: Ok, its public. +16ms solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +11ms solid:ACL accessDenied: modeURIorReasons: ["http://www.w3.org/ns/auth/acl#Read"] +3ms solid:ACL checking <http://www.w3.org/ns/auth/acl#Read> +5ms solid:ACL Mode required and allowed:<http://www.w3.org/ns/auth/acl#Read> +4ms
[Edit] I was using certbot manually rather than certbot-auto and according to this post I’ve found Server not starting with user solid because of letsencrypt ssl acces it seems permissions are indeed the reason why the solid service is not running correctly. I’m in the process of re-certifying with certbot-auto, so maybe that will help… we’ll see.
[Edit Edit] I got the service to run properly - I had to (recursively) change the permissions of /etc/letsencrypt/archive/example.net and /etc/letsencrypt/live/example.net so the solid user could obtain the private SSL keys. Nonetheless the server still doesn’t function correctly, I still have to specify the port in the URL to make things work.
Thoughts on where I’ve gone wrong?