Okay
  Print

Guideline of Wasabi

Wasabi is an online storage solution provider. They offer a competitive pricing model. That's $5.99/month/TB, and they don't charge the data traffic for reasonable use. So when you need to store many files, especially when you are running as a SaaS business, Wasabi is a good choice.

CyberBukit TTS has integrated with Wasabi storage. You can start to use Wasabi in several steps.

Let's assume you already have a Wasabi account. Create it if you haven't. https://wasabi.com/sign-up/

Steps of configuration on Wasabi

1. Sign in Wasabi

https://console.wasabisys.com/#/login

2. Create an Access Key

Go to 'Access Keys', Click 'CREATE NEW ACCESS KEY', Click 'CREATE', a new access key will prompt, make sure you save the credentials as you won't be able to access after you close the window.
Here you are creating an access key for the root user, you can also create for a sub-user, but you need to create a sub-user on Wasabi first.

3. Create a Bucket

Click 'CREATE BUCKET', fill in the Bucket Name, select a region, then click 'CREATE BUCKET'

4. Set up the bucket's public access policies

Go to the bucket you just created, click the gear icon (setting), go to 'POLICIES', paste the following policy JSON code. Please note that  'cyberbukit-tts' at 'Resource' key is the bucket name, it should be replaced with your bucket name that just created.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::cyberbukit-tts/*"
        }
    ]
}

Click 'Save'

Please note if you're in the trial mode, This policy won't take effect as Wasabi bans all public access if you are not a paid user. But you can send them an email explaining what you are going to do and then they will change the setting for you.

This is the end of the configuration on Wasabi.

Steps of configuration on CyberBukit TTS

Wasabi uses AWS SDK, so the setting is almost the same as AWS. 

1. Create a new file to save the Wasabi Access Keys credentials. It's a pure text file. The content of the file should be: 
[default]
aws_access_key_id = your_wasabi_access_key_id
aws_secret_access_key = your_wasabi_secret_access_key
Replace your_wasabi_access_key_id and your_wasabi_secret_access_key with your real credentials (The credentials come from the process of creating an Access Key).
As an example, we save the file named 'wasabi_credentials', we upload it to '/var/www/config/'. So the 'Configuration File Path' is '/var/www/config/wasabi_credentials'. Do make sure this directory(/var/www/config/) cannot be visited from the internet.
Please note this path(/var/www/config/wasabi_credentials) is only an example, it varies depending on your server. Overall, it should be the file's absolute path in your server. 

2. Sign in as super admin on CyberBukit TTS, go to TTS Management -> TTS Configuration, set 'Storage Solution' as Wasabi, and at 'Wasabi Setting (Storage Only)' part, fill in like the following:


Please note that the 'Region' and 'Bucket Name' should be absolutely the same as you just filled in and chosen on Wasabi.
Bucket Folder is used to store files in the bucket's sub-folder, if you didn't create sub-folder on Wasabi, leave it empty.

This is the end of the configuration on CyberBukit TTS.

Before you proceed, please do confirm that your configuration file is stored outside your site's root directory and it can not be visited from the internet. 

If you're unsure about this security problem, please submit a ticket, and we'll check for you. Please include your script URL and the value of 'Configuration File Path'(like '/var/www/config/aws_credentials', not the file's content) in the ticket.