Setting up S3 storage with Omeka S

Omeka Classic can be configured to use S3-compatible storage for media files, you can do the same with Omeka S. On Omeka S this is handled by using the Any Cloud Storage module.

Setting up an AWS bucket

There are also lots of S3 compatible storage options offered by other vendors that may be even more price competitive, like Backblaze B2, but we will focus on AWS for the purposes of this how-to. Start with creating an Amazon S3 account if you don't already have one set up.

Next, you need to create an S3 bucket for your site where all the files will be uploaded. Log in to your AWS Console and search for S3.

Searching for S3 in the AWS Console search bar

Then click on Create bucket.

The Create Bucket button in the AWS S3 dashboard

Start by giving the bucket a name. After that, scroll down to the Object Ownership section, and click the button next to ACLs enabled.

Enabling ACLs in the Object Ownership section of the S3 bucket creation page

On this same page, you will want to disable the 5 checkboxes blocking public access, and then check the box to acknowledge that objects in this bucket will be public:

Unchecking Block Public Access settings and checking the public acknowledgement box

You can keep all other settings while creating your bucket the same, and scroll to the bottom of the page and click Create bucket.

After creating the bucket, make sure to make note of the region name of your bucket that starts after the parenthesis (it should be all lower case, and be separated by dashes or periods). We will need that to configure the Any Cloud Storage module later.

Locating the AWS Region name next to the bucket in the S3 list

 

Creating user credentials

Now that your bucket is set up, you need to create a user for that Omeka can use to read and write files to the bucket. You do this in the Identity & Access Management area of the Amazon AWS dashboard, also called IAM. Use the search bar to go to the IAM section.

Searching for IAM in the AWS Console search bar

From the IAM area, click on Users in the left sidebar, then Create user. Enter a User name and click Next.

Entering a new user name in the Create User screen of the IAM dashboard

From here, select Attach policies directly, then in the search box under Permissions policies search for the AmazonS3FullAccess policy. Check the box next to the policy, then click Next

Selecting the AmazonS3FullAccess policy from the permissions list

Next, click Create User.

Reviewing details and clicking the Create User button

Once you do, click on View user in the green banner to view the account you created.

Clicking the View User link in the successful creation confirmation banner

From here, click Create access key.

Clicking Create Access Key under the summary page for the new IAM user

Select Other, then Next.

Selecting the Other use case option on the Access Key deployment step

You may set a description tag for the access key, or leave it blank, this is simply a descriptive value in the AWS console, but will not affect the functionality of your access key. From here, click Create access key.

Clicking Create Access Key after optionally setting a description tag

Finally, on the Retrieve access keys screen you will be able to get access to your Access key and and Secret access key. Click the Copy buttons Copy to clipboard icon next to each and save them in a text file for later. When you've copied both items, click Done.

The Retrieve Access Keys screen showing the hidden access key values and copy buttons

After creating these user credentials, you should be all set in AWS, and we can move over to configuring Omeka S.

Installing the module

On the Omeka S side of things, start by downloading the latest version of the module from Github, then use the cPanel file manager to upload the zip file to your Omeka S install's modules directory, then right click on the file and select Extract to unzip it.

Extracting the uploaded Any Cloud module zip archive inside the cPanel File Manager

After you extract the file, you can delete the zip file that you just uploaded, as we won't need it anymore.

Next, log in to the dashboard of your Omeka S site, and go to the Modules page. Next, to Any Cloud, click the Install button.

Clicking the Install button next to the Any Cloud module listing in Omeka S

Select Amazon S3 Storage, as your Cloud Service Adapter, then paste in your Access key and Secret Access key in the AWS Key and AWS Secret Key fields, respectively. Next, enter your bucket name, and the AWS region your bucket is located in. You do not need to use the AWS Endpoint field, unless you are not using AWS and are instead using another S3 compatible service.

Configuring the Any Cloud settings form with AWS credentials, bucket name, and region info

After entering your key, secret key, bucket name, and region, you can click the Submit button at the top of the page.

 

Now you should be all set! Go upload a file on the Items page of Omeka to test and make sure things are working!

Was this article helpful?
0 out of 0 found this helpful

Articles in this section

See more
Reclaim Hosting Support Hours
8:00 am - 5:00 pm ET, Monday through Friday
Submit a Ticket
Get a quick and helpful response from the pros.
Need Extra Support?
No problem, we're here to help! Talk to us about Professional Services or custom Service Level Agreements.