Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS MOODLE
Moodle is the world's most widely deployed open-source learning management system (LMS), implemented in PHP 8.3 and served by Nginx with PHP-FPM over MySQL 8.0. This AMI is powered by Moodle™. It delivers the full teaching and training workflow - courses and categories, enrolment, activities and resources, quizzes with a large question-type bank, assignments and rubric grading, the gradebook, forums and messaging, SCORM and H5P content, completion tracking, badges and certificates, calendar, and reporting - with role-based access control, cohorts, groups, multi-language support, a REST/web-services API, and an extensive plugin and theme ecosystem. It connects to any standard SMTP relay (Amazon SES, SendGrid, Postmark, Mailgun, or self-hosted Postfix) for notifications and supports SSO via OAuth2, SAML, and LDAP. This AMI ships the GPL-3.0 community edition and runs entirely on the EC2 instance you launch - no external account, subscription, license key, or activation handshake is required. All data stays inside your own AWS account. Moodle™ is a registered trademark of Moodle Pty Ltd; this product is community-built and not affiliated with or endorsed by Moodle Pty Ltd.
WHAT THIS AMI ADDS
Security hardening:
- Per-instance administrator password generated on first launch and written to /root/moodle-credentials.txt (mode 0600) - never baked into the AMI
- The site is installed automatically on first launch via the Moodle command-line installer - no setup wizard is ever exposed on the public internet
- The Moodle data directory (course files, user sessions, caches) is placed outside the web root on a dedicated path, with non-world-readable permissions, so content is never served as static files
- MySQL 8.0 listens on 127.0.0.1 only; the database user password is generated per instance
- PHP-FPM workers and MySQL InnoDB buffer pool auto-sized to the instance RAM at launch
- The Moodle scheduled-task runner executes every minute as a managed system service - no manual cron setup
- The site address is reconciled automatically at boot, so the LMS keeps serving after an instance stop/start changes the public IP
- Self-signed TLS certificate generated during the AMI build - HTTPS on TCP 443 from launch, HTTP on TCP 80 redirects to HTTPS
- Certbot and the Nginx plugin are pre-installed for one-command Let's Encrypt certificates
- UFW firewall pre-configured - only TCP 22, 80, and 443 are exposed
- fail2ban with default SSH jail; AppArmor with default Ubuntu profiles
- CVE scan - every image is scanned for vulnerabilities before release
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd, SSH hardening, kernel hardening, IMDSv2 enforced
Compliance artifacts:
- SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
- CIS Conformance Report at /etc/lynxroute/cis-report.html
- CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Highlights
- Moodle security baked in: per-instance admin password generated on first launch, the site installed automatically with no setup wizard exposed on the public internet, self-signed TLS on TCP 443 with HTTP-to-HTTPS redirect, the Moodle data directory placed outside the web root, and MySQL bound to 127.0.0.1 only.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
- A complete self-hosted learning platform powered by Moodle™: courses, quizzes, assignments, gradebook, SCORM and H5P, forums, badges, REST API, plus a vast plugin and theme ecosystem. GPL-3.0 edition - the AMI is fully functional out of the box, no external account or license key required.
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Cost/hour |
|---|---|
t3.large Recommended | $0.03 |
t3.medium | $0.02 |
m6i.xlarge | $0.05 |
m6i.large | $0.03 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Moodle 4.5.10 - Initial release (June 2026)
- Moodle 4.5.10 LTS on Ubuntu 24.04 LTS
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- CVE-scanned before every release
- Per-instance Moodle administrator password generated on first launch
- The site is installed automatically on first launch - no setup wizard exposed
- The Moodle data directory is placed outside the web root with non-world-readable permissions
- MySQL 8.0 listening on 127.0.0.1 only, with per-instance database password
- PHP-FPM workers and MySQL InnoDB buffer pool auto-sized to instance RAM at launch
- The scheduled-task runner executes every minute as a managed system service
- The site address is reconciled automatically at boot (survives instance stop/start IP changes)
- Self-signed TLS certificate generated during the AMI build; HTTP on TCP 80 redirects to HTTPS on TCP 443; Certbot pre-installed
- UFW firewall pre-configured (TCP 22, 80, and 443 only)
- fail2ban, auditd, AppArmor pre-configured
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (t3.large recommended)
- Open Security Group - allow TCP 443 (and TCP 80 for the HTTP-to-HTTPS redirect / Let's Encrypt) from your IP first; open to 0.0.0.0/0 after you have logged in and changed the admin password (anyone reaching the URL before you can also log in with the generated password)
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Wait on first launch - the URL shows a "Starting up" splash for about 2-5 minutes while the database schema is built and the administrator account is created. This first-boot provisioning runs once; later boots are fast.
- Read credentials: sudo cat /root/moodle-credentials.txt
- Open https://<PUBLIC_IP>/ in your browser - accept the self-signed certificate warning
- Log in as admin with the password from the credentials file
- Change the admin password and set a real administrator email (User menu -> Preferences -> Edit profile), then create your courses and users
Credentials are saved to /root/moodle-credentials.txt at first launch. The Moodle scheduled-task runner executes every minute as a managed system service - no crontab setup needed. The site address (wwwroot) is set to the instance public IP at first launch and reconciled automatically on later boots; if you attach a domain, point it at the instance and run Certbot (below) to update the site to HTTPS on that domain. Replace the self-signed TLS certificate with a CA-signed certificate for production use. TCP 80 and 443 are already open in the firewall for the Let's Encrypt HTTP-01 challenge: sudo certbot --nginx -d your.domain.com
Resources
Vendor resources
Support
Vendor support
Visit u online: https://lynxroute.com/#contact .
Moodle™ is a registered trademark of Moodle Pty Ltd. This product is community-built and is not affiliated with or endorsed by Moodle Pty Ltd.
Additional resources (informational only): Moodle documentation:
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.