Amazon S3 Integration Manual for Joomla 5
1. Introduction
This manual provides a comprehensive step-by-step guide for integrating Amazon S3 with various Joomla 5 extensions including JCE, EasySocial, EasyBlog, SmartSlider3, Event Gallery, and the Joomla Filesystem plugin provided by Akeeba. It covers initial S3 setup, best practices for folder organization, and how to avoid media duplication.
2. Amazon S3 Setup
-
Create a new bucket in AWS S3 Console (e.g.,
kaikomalive
) -
Set region:
Asia Pacific (Tokyo)
(ap-northeast-1
) -
Enable "Bucket Owner Enforced" under Object Ownership
-
Create an IAM user with programmatic access
-
Attach a policy allowing:
-
s3:PutObject
,s3:GetObject
,s3:ListBucket
,s3:DeleteObject
-
-
Optional: Configure a public-read bucket policy or CloudFront for CDN delivery
3. Joomla Filesystem - Amazon S3 Plugin (Akeeba)
-
Install and enable the plugin
-
Configure with:
-
Access Key and Secret Key
-
Bucket:
kaikomalive
-
Region:
ap-northeast-1
-
Path Access:
virtualhost
-
Directory: e.g.,
photos
-
Add manually to DB:
"cannedacl":""
to disable ACLs and avoid error 500
-
-
Media Manager may still not show files due to plugin limitations
4. JCE Editor + S3
-
Requires JCE Pro and the S3 Filesystem plugin
-
Configure in JCE Profile > Filesystem:
-
Bucket:
kaikomalive
-
Region:
ap-northeast-1
-
Credentials: Either access key/secret key or credentials file
-
Directory: e.g.,
shared
orjce
-
-
Upload files directly into S3 from the JCE File Browser
-
Recommended for all S3-based media handling
5. EasySocial S3 Integration
-
Go to EasySocial > Configuration > Storage
-
Choose Amazon S3 and input:
-
Access/Secret Key
-
Bucket and region
-
Path: e.g.,
easysocial/uploads
-
-
All user media will now be stored in S3
6. EasyBlog S3 Integration
-
Go to EasyBlog > Settings > Media
-
Set storage engine to Amazon S3
-
Enter S3 credentials and bucket path: e.g.,
easyblog/uploads
-
Media uploaded to blog posts will be stored directly in S3
7. SmartSlider3 and S3
-
No native S3 support, but accepts external URLs
-
Use S3 public URLs (or CloudFront links) when adding images to slides
-
Recommend organizing images in
/smartslider/
or/shared/
8. Event Gallery + S3
-
Enable Amazon S3 as a storage backend
-
Set region and credentials
-
Define S3 bucket path for albums: e.g.,
eventgallery/photos
-
Use gallery settings to sync or browse S3 content
9. Shared Media Strategy
-
To avoid duplication, use organized shared folders:
-
/shared/avatars/
,/shared/sliders/
,/shared/blogimages/
-
-
Use JCE to upload and copy public S3 URLs across apps
-
Keep EasySocial, EasyBlog, and Event Gallery each within its own root path to simplify management
10. Appendix
-
Sample IAM Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:*"],
"Resource": [
"arn:aws:s3:::kaikomalive",
"arn:aws:s3:::kaikomalive/*"
]
}
]
}
-
Sample Bucket Policy (public read for specific folder):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::kaikomalive/shared/*"
}
]
}
-
Troubleshooting:
-
AccessControlListNotSupported
: ensure ACLs are disabled and"cannedacl": ""
is set -
Media Manager not showing files: use JCE or DPMedia as alternative
-
S3 URLs not loading: check permissions and ensure object is public (if needed)
-
Prepared for use with LibreOffice. You may copy/paste into your preferred document format or export as PDF once finalized.