A plugin to make Nextcloud compatible with Solid.
You can download it via the Nextcloud app store: https://apps.nextcloud.com/apps/solid
To programmatically build a Nextcloud server that has this plugin working, you can look at the nextcloud-server image in the Solid test-suite, combined with how it’s initialized in the runTests.sh script.
Clone https://github.com/pdsinterop/test-suites, cd into it, and run:
docker build -t nextcloud-server ./servers/nextcloud-server docker run -p 443:443 -d --rm --name=server nextcloud-server echo sleeping sleep 10 echo slept docker logs server docker exec -u www-data -it server sh /init.sh docker exec -u root -it server service apache2 reload
Now visit https://localhost and log in as alice / alice123.
If you enable this app in your Nextcloud instance, you should edit your .htaccess file and then test whether https://your-nextcloud-server.com/.well-known/openid-configuration redirects to https://your-nextcloud-server.com/apps/solid/openid.
Also, take the CORS instructions from site.conf and add them to your own webserver configuration.
To test whether your server is install correctly, you can run Solid’s webid-provider-tests against it.
Go to https://solidcommunity.net and create a Solid pod. Go to https://generator.inrupt.com/text-editor and log in with https://solidcommunity.net. Tick all 4 boxes in the consent dialog. Click ‘Load’, type something, click ‘Save’. Grant access to co-editor https://your-nextcloud-server.com/apps/solid/@your-username/profile/card#me. For instance if you’re using the development install, that would be https://localhost/apps/solid/@alice/profile/card#me Now in a separate browser window, log in to https://generator.inrupt.com/text-editor with https://your-nextcloud-server.com. You should be able to edit the file as a co-author now, using your Nextcloud account as a webid identity provider.
- create a release on github, for instance
tar -cf solid.tar solid/
- edit the release and upload
solid.tar.gzas a binary attachment
- make sure transfer/solid.key and transfer/solid.crt exist
openssl dgst -sha512 -sign ./transfer/solid.key ./solid.tar.gz | openssl base64
- visit https://apps.nextcloud.com/developer/apps/releases/new
- go into the developer tools browser console to remove the
hrefattribute on the
<a>element around the form elements
- fill in for instance
https://github.com/pdsinterop/solid-nextcloud/releases/download/v0.0.2/solid.tar.gzand the base64 signature from the openssl command
- click ‘uploaden’
- good luck!