Case Study

Legacy PHP Platform Migration

Led the migration of a legacy PHP application from Windows IIS to a hardened Linux container stack while preserving application behaviour and avoiding costly rewrites. The aim was safer operations, easier maintenance, and continuity for a business-critical system.

Back to all projects
ConstraintNo codebase rewrite
Core StackDocker Compose, Nginx, MySQL, Certbot
GoalSecurity, stability, maintainability

Problem Context

The original application was tightly coupled to its Windows IIS environment, with dependencies on existing routing behaviour, filesystem expectations, and external integrations. The challenge was to move it onto a more secure and maintainable platform without breaking those assumptions.

What I Did

  • Designed a Linux-based container stack using Docker Compose with isolated services for web, application, and database concerns.
  • Recreated IIS behaviour and routing expectations within Nginx so the legacy code could remain unchanged.
  • Maintained MySQL compatibility and external FileMaker connectivity while modernising infrastructure around the app.
  • Implemented TLS management with Certbot and structured, secure volume mappings for runtime data and assets.

Why This Was Important

Not every worthwhile systems project is greenfield. Sometimes the right answer is to reduce operational risk, improve maintainability, and preserve business continuity without forcing the cost and disruption of a full rewrite.

Key Themes

  • Cross-platform runtime parity
  • Container boundary design
  • Hardened web-server configuration
  • Certificate lifecycle automation
  • Pragmatic modernisation under constraint

Why It Matters

Modernisation is often about careful translation, not replacement

This project demonstrates a practical skill I value: preserving business continuity while changing the underlying operational reality in a safe, supportable way.