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. Start by giving the bucket a name, and selecting the region you would like your bucket to use. After that, scroll down to the Object Ownership section, and click the button next to ACLs enabled.
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:
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 seperated by dashes or periods). We will need that to configure the Any Cloud Storage module later.
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.
From the IAM area you click on Users in the left sidebar, then Add users. Give the user a name, and check the box next to Access key - Programmatic access then click Next.
Next, you will want to give the user S3 write permissions. You can click Attach existing policies directly, then search for the AmazonS3FullAccess policy. Check the box next to the policy, then click Next.
For the remaining steps, you can keep the default options and create the user account.
Once you do, you will have an Access Key ID and Secret Access Key similar to those shown below. Once you have the necessary keys, be sure to copy and paste these somewhere, you will need them for the Omeka config.ini file.
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.
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.
Select Amazon S3 Storage, as your Cloud Service Adapter, then paste in your Access key ID and Secrete Access key in the AWS Key and AWS Secrete 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.
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!