Search by

limegreentangerine / aws_storage

limegreentangerine

Adds S3 storage options to Concrete CMS

Package info

github.com/limegreentangerine/aws_storage

Type:concrete5-package

pkg:composer/limegreentangerine/aws_storage

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-10-05 12:31 UTC

This package is auto-updated.

Last update: 2026-10-05 12:37:25 UTC


README

AWS Storage adds an Amazon S3 storage location type to Concrete CMS. It lets you use an S3 bucket for file storage, optionally serve public file URLs through CloudFront, and queue file moves between storage locations.

Requirements

  • Concrete CMS 9.5 or later
  • PHP 8.4 or later in the PHP 8.x series
  • An Amazon S3 bucket and AWS credentials with the permissions needed by your site

Composer installs the AWS SDK for PHP, Flysystem's AWS S3 adapter, and the class_kit package as dependencies.

Installation

  1. Add this package to your Concrete CMS site's packages/aws_storage directory using your usual package deployment method.

  2. From the Concrete CMS project root, install the site's Composer dependencies:

    composer install

    If you add this package to an existing site, update the site's Composer dependencies as appropriate for your deployment.

  3. Install AWS Storage from the package list in the Concrete CMS dashboard.

Installation registers the S3 Storage storage type and adds the AWS Storage dashboard page at /dashboard/aws_storage.

Configure an S3 storage location

In the Concrete CMS dashboard, open System & Settings → Files → Storage Locations, then add a storage location using S3 Storage. Configure:

Setting Description
Storage Bucket Required S3 bucket name.
CloudFront URL Optional public base URL used to generate file URLs instead of the S3 object URL.
Access Key Required AWS access key ID.
Access Secret Required AWS secret access key.
Amazon S3 Region Required region for the bucket, such as eu-west-2 or us-east-1.
API Version AWS SDK API version; defaults to 2006-03-01.

The configuration defaults an empty region to eu-west-2. Use credentials with only the access the site needs, and keep them private.

When a CloudFront URL is configured, the package appends the file path to that URL. For example, a base URL of https://cdn.example.com and a file path of images/photo.jpg produce https://cdn.example.com/images/photo.jpg. If no CloudFront URL is set, the package uses the S3 object URL generated by the AWS SDK.

Move files between storage locations

The AWS Storage dashboard page can queue a move from one storage location to another:

  1. Ensure at least two storage locations are configured.
  2. Open /dashboard/aws_storage.
  3. Choose the current location and target location, then select Create Queue.
  4. Follow the resulting batch in the Concrete CMS activity dashboard.

Development

Run the PHPUnit suite from the package directory:

composer install
composer test

License

Released under the MIT License. See LICENSE.TXT.