Getting the SuiteCRM and Nextcloud integration to work together can be challenging. I spent a whole weekend trying to get it to work. So, thought I’d share and add the procedure I went through to get the SuiteCRM and Nextcloud integration to work. This only works for SuiteCRM version 7. Version 8 is not compatible with the Nextcloud plugin. The issue is the URL where the Nextcloud plugin looks for the OAuth key. It’s not the same in SuiteCRM 8 so the plugin won’t work.
What does the SuiteCRM/Nextcloud integration plugin do?
Really, not much. It’s kind of disappointing. All it does is add a widget to your Nextcloud home screen that shows upcoming meetings.
How to Integrate SuiteCRM and Nextcloud
Step 1: Create OAuth Keys
Open terminal or SSH and Go to: /Api/V8/OAuth2
Generate a public key
openssl genrsa -out private.key 2048
Generate a private key
openssl rsa -in private.key -pubout -out public.key
Change permissions of the public and private key to 600 (this didn’t work for me, I did it with filezilla)
sudo chmod 600 private.key public.key
Make sure the file is owned by the same owner as all your other files and folders. The instructions say “www-data” is the owner. This may not (probably not) be your case. Just open Filezilla and see who all the other files are owned by and make sure the ownership is correct.
sudo chown www-data:www-data p*.key
change www-data:www-data to ownername:ownername for your particular case.
You can get the encryption key here by this command:
php -r 'echo base64_encode(random_bytes(32)), PHP_EOL;'
Then you MUST add this to your config.php file here:
Then you must create an OAuth2 key pair.
Go to: Amin OAuth2 Clients and Tokens
Create a new one, call it whatever you want like “nextcloud” so you know what it’s for.
Create a Secret. Make the Secret your OAuth2 Key from the step above. (Not sure if this is necessary, but this is the config I used and it works).
Once created, you will get an ID.
For Nexcloud you need the ID and the Secret Key.
Step 2: The Nextcloud integration with SuiteCRM
at Admin > Connected accounts, Make sure you have the correct URL to my SuiteCRM instance. DO NOT ADD A TRAILING SLASH or it will fail. Should be https://mysuitecrmdomain.com
In the Application ID, add the ID of the OAuth2 client you just created. Add the Application Secret is that which was created above.
at Personal > Connected accounts, I’m using my actual SuiteCRM login details