How to Integrate FileCloud with Wasabi Object Based Storage


FileCloud officially supports only Amazon S3 storage.

  • Other Amazon S3 compatible storage systems are supported through our Amazon S3 drivers, including:
    • Alibaba Cloud object-based storage
    • Digital Ocean S3 object storage 
    • Scality
    • Wasabi
    • Google Cloud object storage
    • Backblaze B2
    • Cloudian S3-Compatible Object Storage
  • The robustness of these S3 compatible storage systems depends on their compatibility with Amazon S3 API.

Administrators can change the FileCloud storage type after FileCloud has been installed but BEFORE any data has been stored. 

  • When changing the storage type from local to Wasabi, the files and folders that have been already stored in the local storage will not be automatically moved to S3 storage.
  • In this case, the administrator has to manually export files and folders from local storage before changing storage type and manually import them after changing the storage type.


WARNINGS:

  • Only change the FileCloud storage type for new installations.
  • Do not change the FileCloud storage type if FileCloud has been in use and data is already stored.
  • Be very careful when changing the storage path, If done improperly it could lead to data loss. 
  • The Wasabi Bucket should NEVER be modified outside of FileCloud subsystem
  • Do not add, edit, or modify files directly using Wasabi tools. Doing so will destabilize your FileCloud installation.


To change the FileCloud storage path from LOCAL to WASABI:

NOTES:

Although FileCloud does not have an explicit connector for Wasabi Object based storage, the Amazon S3 connector can be used.

In this step you will need to access WWWROOT. It is typically located at: 

Windows

Linux

c:\xampp\htdocs/var/www/html

To enable Wasabi storage as the backend:

  1.  To make sure that your server does not have any time variations, set up the time on your server to be synchronized.
    1. Configure an authoritative time server in Windows Server
    2. Synchronize Time with NTP in Linux
  2. Open the following file for editing:

    WWWROOT/config/cloudconfig.php
  3. Find the following line:

    define("TONIDOCLOUD_STORAGE_IMPLEMENTATION", "local");
  4. Change it to this line:

    define("TONIDOCLOUD_STORAGE_IMPLEMENTATION", "amazons3");
  5. Save and close the file.
  6. Find the following file:

    WWWROOT/config/amazons3storageconfig-sample.php
  7. Rename it to:

    WWWROOT/config/amazons3storageconfig.php

(lightbulb) Nothing needs to be added or edited in amazons3storageconfig.php

To configure Wasabi object-based storage:

  1. Open a browser and log into admin portal.
  2. In the left navigation panel, click Settings
  3. On the Manage Settings screen, go to Storage > My Files.
  4. Type in or select the settings for your environment. See the table below for information about each setting.


    FieldDescription
    S3 KeyThis is your Wasabi authentication key.
    S3 SecretThis is your Wasabi authentication secret.
    Use IAM roleWhen checked, the S3 Key and S3 Secret fields disappear and the IAM role is used to connect to the S3 bucket.
    S3 Bucket Name

    Provide a bucket name. The bucket should be new (in some circumstance, previously used bucket in FileCloud could be used).

    It is very important that the S3 bucket is never modified outside of the FileCloud subsystem,

    the bucket name is case sensitive make sure you are using the exact name of the bucket.

    S3 Storage FolderOptional: All files will be stored inside this root storage folder (Will be created automatically).
    S3 RegionOptional: Provide the region string.
    S3 End Point URLThis is the S3 endpoint. note that for each region there is a specific Endpoint URL.
    Number of old versions to keep for each file

    When a user uploads a new version of a file, it is saved, and the latest Number of old versions to keep for each file versions are kept. When set to -1, each upload of a file overwrites the previous one, and no versions are saved.

    S3 Encryption

    Select No encryption because Wasabi does not support managed key encryption.



Troubleshooting:

If you are having problems in previewing images, you should add a line to the .htaccess file.

To add a line to the .htaccess file:

  1. Open the following file:
    1. Windows:  C:\xampp\htdocs\.htaccess
    2. Linux: /var/www/html/.htaccess
  2. Add the following line:

    Header set Content-Security-Policy: "default-src 'self' *.live.com; style-src 'unsafe-inline' 'self';script-src 'unsafe-inline' 'unsafe-eval' 'self';font-src 'self' data:;img-src 'self' *.live.com  data: *.duosecurity.com *.wasabisys.com"

If you are having problems in playing  mp4 videos, you should add a line to the .htaccess file.

To add a line to the .htaccess file:

  1. Open the following file:
    1. Windows:  C:\xampp\htdocs\.htaccess
    2. Linux: /var/www/html/.htaccess
  2. Add the following line:


    Header set Content-Security-Policy: "default-src 'self' *.live.com *.wasabisys.com; style-src 'unsafe-inline' 'self';script-src 'unsafe-inline' 'unsafe-eval' 'self';font-src 'self' data:;img-src 'self' *.live.com  data: *.duosecurity.com *.wasabisys.com"