Skip to content

Releases: codetot-web/ec2-toolkit

v0.1.0 — Inaugural public release

09 May 02:53

Choose a tag to compare

What this is

Bash toolkit + runbooks for hosting WordPress on AWS:

  • Bootstrap a fresh Ubuntu 24.04 EC2 with Apache (mpm_event) + PHP 8.3-FPM + WP-CLI + Redis + RDS CA bundle + ufw + fail2ban + 2 GB swap.
  • Scaffold per-site directories, RDS DB+user, Apache vhost, PHP-FPM pool, and wp-config.php.
  • Back up databases and uploads to S3 via the EC2 instance IAM role (no AWS keys on disk).

End-to-end validated against a fresh Ubuntu 24.04 VPS — see plans/bootstrap-validation.md for the step log.

What's in the box

File Purpose
bash-scripts/bootstrap-ec2-wordpress.sh Apache + PHP-FPM 8.3 + WP-CLI + Redis + RDS CA + ufw + fail2ban + 2 GB swap on a fresh Ubuntu 24.04 host
bash-scripts/create-site.sh Per-site scaffolding: dirs, optional git clone, RDS DB+user, vhost, FPM pool, wp-config.php, permissions
bash-scripts/backup-site.sh DB dump + uploads sync to S3 via instance IAM role
bash-scripts/BACKUP-SETUP.md Operational runbook for the S3 backup pipeline
PROJECT-BRIEF.md Architecture, locked-in decisions, anti-patterns
CLAUDE.md Guidance for Claude Code sessions in this repo
plans/bootstrap-validation.md Step-by-step validation log

Adapt before running

  • Replace your-org-clients placeholders with your actual GitHub org for client repos.
  • Replace acmeshop / acmeshop.example.com with your real site identifier and domain.
  • Pre-create your S3 backup bucket and IAM policy as described in BACKUP-SETUP.md.
  • The ct- command prefix is just a short tag — rename if it doesn't suit your team.

Known follow-ups

  • install-php-version.sh, fix-permission-site.sh, and install-tools.sh are referenced in PROJECT-BRIEF.md but not yet committed here.
  • A migration-checklist-bluehost-to-aws.md is referenced but not yet committed.
  • create-site.sh and backup-site.sh have not been validated end-to-end yet — they require a real RDS endpoint and an S3 bucket.

See CHANGELOG.md for the full breakdown.