aligent / orocommerce-s3mediabundle
Amazon S3 Based media storage for Oro Platform (OroCommerce and OroCRM)
Installs: 1 522
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 29
Forks: 3
Open Issues: 4
Requires
- aws/aws-sdk-php: ^3.17.0
- gaufrette/aws-s3-adapter: ^0.4.0
- knplabs/gaufrette: ^0.11
- oro/platform: 5.1.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.18.2 || ~3.1.0
- nelmio/alice: ~3.8.0 || ~3.9.0
- phpmd/phpmd: ^2.12
- phpstan/phpstan: ^1.7
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
- symfony/phpunit-bridge: ~4.4.24 || ~6.1.0
- theofidry/alice-data-fixtures: ~1.4.0 || ~1.5.0
This package is auto-updated.
Last update: 2024-10-10 02:26:48 UTC
README
Info
- composer name: aligent/orocommerce-s3mediabundle
Description
This bundle provides configuration for using S3 buckets for media storage in Oro Platform by configuring the KNPGaufrette Bundle. It will work with both OroCommerce and OroCRM versions based on Oro Platform 4.0.0 and later. For older versions pf OroCommerce use one of the 1.x releases of this module.
Parameters
amazon_s3.bucket_name: s3-bucket-name
amazon_s3.region: ap-southeast-2
amazon_s3.key: USER_KEY
amazon_s3.secret: SUPER_SECRET
The key and secret are optional in an ECS environment, as the ECS credentials provider is used as a fallback if neither of them exist.
Installation Instructions
-
Install this module via Composer
composer require aligent/orocommerce-s3mediabundle
-
Create the parameters (above) in your parameters.yml.
-
Clear cache
php bin/console cache:clear --env=prod
AWS Setup
-
Create an Amazon S3 bucket. Default settings and permissions are fine, there is no need for the bucket to be public.
-
Create the following IAM Customer Managed Policy (which grants full access to a single S3 bucket) substituting NameOfBucketHere with your S3 bucket's name:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::NameOfBucketHere", "arn:aws:s3:::NameOfBucketHere/*" ] } ] }
-
Create an IAM user, directly attach your new policy and generate Access and Secret keys. Insert those values into your parameters.yml (see above), clear cache and you're good to go!
Support
If you have any issues with this bundle, please create a pull request with a failing test that demonstrates the problem you've found. If you're really stuck, feel free to open GitHub issue.
Contribution
Any contribution is highly appreciated. The best way to contribute code is to open a pull request on GitHub.
Developer
Initial version by Adam Hall adam.hall@aligent.com.au.
Minor tweaks for OroCommerce 3.0 by Jim O'Halloran jim@aligent.com.au
Update for Oro Platform 4.0 by Jim O'Halloran jim.ohalloran@incore.com.au
Licence
OSL - Open Software Licence 3.0
Copyright
(c) 2018-19 Aligent Consulting