Configuring Google cloud storage, Dropbox, Amazon S3, Wasabi, Yandex disk and Google drive.
You can use your local server storage without opting for any external storage service.
Create an Amazon aws account from this page https://aws.amazon.com/s3/
Login to your aws account as root user
Click on your profile name at the top right corner, and select "Security credentials"
Scroll down to "Access keys" and click on "Create access key"
Check "Continue to create access key?" box and click on "Create acces key" orange button
Copy the "Access key" and "Secret access key" to your website amazon s3 settings
Click on "Done" orange button (You can download the csv file as a backup to use later)
On the top menu, left corner, click on "Services" and select "Storage" > "S3"
Click on "Create bucket" orange button
Enter a name for your bucket and select and AWS Region, leave the other fields and options unchanged, scroll down and click on "Create bucket"
Copy the bucket name and AWS region (us-west-2 or other region) to your website amazon s3 settings
On your website amazon s3 settings, click on "Check connection" to make sure the config is correct.
Enable amazon S3 and save the changes
Back to amazon S3 / buckets page, click on the bucket name you've just created and upload your files
On the "Quick access" section, open "APIs & Services" in a new tab
On the left menu, select "Credentials"
On the top menu, click on "+ Credentials" and select "Service account"
On "Service account details", enter a name for the service account (any name), the account id will be auto-generated (no need to change it), a description for the service account (any description)
Click on Continue
On the "Role" list, select "Owner" and click on Continue
For "Grant users access to this service account", leave everything empty and click on "Done"
Once back to the Credntials page again, scroll down to "Service Accounts and click on "Edit service account" icon for the account you've just created
Click on "Keys" on the top menu
Click on "Add key" and then on "Create new key", for "Key type" select JSON
Back to your website Admin > settings > storage > Google cloud storage, click on "Config file" and select the file that was auto-downloaded from google console page
keep "Google cloud storage" disabled on your website and save the changes
Back to google credentials page and click on "Create" to close the popup
On the first google page "https://console.cloud.google.com/", click on "Create a storage bucket"
Sign up for a free trial and complete the registration
Once you complete the registration and create a bucket, copy the bucket name to your website Admin > settings > storage > Google cloud storage > Bucket field, and click on "Test connection", if you get a "success" message, click on "save" to finish with Google cloud storage settings.
Connect to your account https://console.wasabisys.com/#/login
Click on "Create bucket" blue button
Give your bucket a name
Select a region
Click on next, next and on 'Create bucket'
Copy/Paste the bucket name and the region name to your website Wasabi settings
Back to Wasabi, on the left menu, click on 'Access keys'
Click on 'CREATE NEW ACCESS KEY' blue button
Select 'root user' and click on 'Create'
Copy/Paste the Access Key and Secret Key to your website wasabi settings
In your website wasabi settings, click on 'Test connection' to check if the entered data is ok, you will get a 'success' response if the connection is established, otherwise, you'll get an error message.
Enable Wasabi and save the changes.
Yandex disk
Login to Yandex Disk https://disk.yandex.com/
Access https://oauth.yandex.ru/
Click on 'Register a new app'
Enter a name for your application
A brief description for your application
An Icon for your application
A Link to your website
In 'Platform' select 'Web services'
In 'Callback URI #1:' enter https://example.com/admin/settings/files_host (where example.com is your domain name)
You can add multiple callbacks, like with www and without www ...
In 'Access*' click on 'Yandex.Disc REST API' and check all the choices
Scroll down to the bottom of the page and click on 'Create an app'
Copy/Paste the ID and the password to your website yandex disk settings
Save the changes
In your website yandex disk settings, click on 'Connect account' to connect one of your yandex disk account to your website.
Once the connection is done, a refresh token will be put in 'Refresh token' automatically.
Enable Yandex disk and save the changes again
Click on "Select a project" at the top left corner and select or create a new project in the popup window
At the top bar, click on "+ ENABLE APIS AND SERVICES"
Search for "Google Drive API", select it and then click on "ENABLE" (the blue button)
On the left menu, click on "Credentials" and then on '+ CREATE CREDENTIALS' and select 'API key'
Copy/Paste the API key in the popup to your website admin > settings > storage > Google Drive config and close the popup window.
Again, on "Credentials" page, click on "+ CREATE CREDENTIALS" and select "OAuth Client ID"
In "Application type" select "Web application"
Enter a name for your application
Click on "ADD URI" for "Authorized JavaScript origins" and enter your website url with www and without wwww (https://example.com and https://www.example.com)
In "Authorized redirect URIs" click on "ADD URI" and enter "https://example.com/gd_callback" and "https://example.com/login/google/callback" with www and without www (change example.com to your domain name or subdomain)
At the bottom of the page, click on "Create"
Download the JSON file as a backup from the popup window
Copy the "Client ID" and the "Client secret" to your website google drive settings and click on "Ok" to close the credentials popup window.
On the left menu, click on "OAuth consent screen"
In "App Domain", enter your website homepage url, the url for your website Privacy policy page, the url for your website terms and conditions page
In "Authorized domains", enter your website domain name, like "example.com" and another with "www.example.com"
In "Developer contact information", enter an email address to use as developer email (User support email and Developer email can be the same)
Save and continue
In "Scopes" step, leave everything unchanged and click again on "Save and continue"
In "Optional info" step, again leave everything unchanged and click on "Save and continue"
In "Summary", scroll down and click on "Back to dashboard"
In "Auth consent screen" page, click on "PUBLISH APP" and "Confirm"
Back to your website admin > settings > storage > google drive, keep Google drive disabled and save the changes
Once the changes are saved, connect your Google drive account by clicking on "Connect" button.
Note : When you try to connect your gmail account, you may get a "This app isn't verified" warning message, just click on "Advanced" (a grey underlined text) and click on "Go to ... (unsafe)"
Click on "Allow" to give your "Google Console APP" the authorisation to use your google drive (see, edit, create and delete files in your google drive) and again click on "Allow"
You can connect with a different gmail account whenever you want, if you want to use files from another google drive.
Login to your Dropbox developers
Here with your prefered email
Once in, click on "Create app"
Select "Dropbox API"
Select whether you want to get files only from the app folder or all dropbox.
Give a name to your application, it's going to be your App folder's name, so, if you've choosen "App Folder" above, your requests to dropbox will be limited to this folder, else, to your whole dropbox.
Click on "Create app"
Once done, your App Key and APP Secret will be on the given page, copy/pase them into their respective fields in your website / settings / file hosts / dropbox, and save the changes (Update)
For the "Redirect URIs", put "https://www.example.com/admin/settings/files_host" and click on "Add" (https is required)
If you want this app this be uesd by different accounts, click on "Enable additional user" at the top of the page, by that, your app will be allowed to be used by 500 users (accounts) as max.
Back to you website /settings / file hosts / dropbox, click on "Connect", connect with the dropbox accont you want to use, click on "Continue" and then "Allow", you will be redirected to your website with an "access token" place in its place for dropbox.
Enable Dropbox if you want, save the change and that's it.
Allow users connection using their social accounts, Dribbble, VKontakte, Google, Linkedin, Github ... etc.
If you didn't configure google drive, please proceed with the folowing steps :