Select your language

File System Plugin to configure your storage service in Amazon S3 to store your multimedia files.

Fill in the following fields of the plugin configuration:

  • Display Name: Name to be displayed in the media browser (left sidebar). Predefined, AWS S3
  • Domain: Domain that will replace the default domain of the storage service, for example, https://d1234567.cloudfront.net
  • Bucket S3: name of the Bucket S3 where the files will be hosted
  • Bucket S3 Region: region in which the Bucket S3 was created
  • AWS Access Key: Access key provided by Amazon AWS when configuring the IAM for the bucket
  • AWS Secret Access Key: lecret access key provided by Amazon AWS when configuring the IAM for the bucket

When you have entered the values in the fields, enable the plugin and save the settings. When you access the media manager, you will see the file system in action:

To use a custom URL with Amazon S3, it is recommended to follow this CloudFlare guide: https://support.cloudflare.com/hc/en-us/articles/200168926-How-do-I-use-Cloudflare-with-Amazon-s-S3-Service-

For the configuration of access credentials (Access Key and Secret Access Key) you can follow the Amazon guide that is on this link. 

For user settings (linked to access credentials) and permissions, you can follow the AWS sample guide found at this link. In order for files to be uploaded and directories created, if an IAM user is used, they must have read/write permissions to the bucket.

As an example, an IAM user policy, used in the demo site https://demo.neoacevedo.co consists of the following:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:HeadBucket",
                "s3:ListObjects"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::cdn-joomla.neoacevedo.co",
                "arn:aws:s3:::cdn-joomla.neoacevedo.co/*"
            ]
        }
    ]
}

Also, in the Bucket permissions, in the Block public access section, select the third option: Block public access to buckets and objects granted through new public bucket or access point policies.

If you are using IAM user policy, edit the Object ownership section and select the ACLs enabled option and then choose Object writter.

S3 - Object ownership

Lastly, and to mitigate possible CORS-type problems, edit the Cross-origin resource sharing option with the following content:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    },
    {
        "AllowedHeaders": [
            "Authorization"
        ],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [],
        "MaxAgeSeconds": 3000
    }
]

Support

Legal Info