nikosdion / php_archaeology

A Docker-based server stack for running (really) old sites locally

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker LAMP Stack for PHP Archaeology

A Docker-based server stack for running old sites locally.

The reason of its existence

Ever had an old Joomla 1.5, 1.6, 1.7, 2.5, 3.0–3.8 site you want to upgrade to something reasonably modern?

Tough luck trying to do that on a commercial host. The PHP version is too new for the old version of Joomla to run. The MySQL / MariaDB database no longer supports the old password hashing supported by old versions of PHP. You are stuck.

This server stack can run PHP versions as old as 5.6, MySQL versions as old as 5.5, and Apache versions as old as 2.0, on your computer, using Docker. You can upgrade the PHP and MySQL versions as you go through increasingly newer versions of Joomla and its extensions, until you reach the point where you have an up-to-date site. Then, you can take a backup using Akeeba Backup —or any other method you are familiar with— and deploy it to your live host.

Usage

Copy the file env.sample to .env and edit it.

Then run docker compose up -d

If you are using the default settings:

  • PHP 5.6, Apache 2.4, MySQL 5.5
  • Access your site at http://localhost:4280 or https://localhost:4443 (self-signed SSL certificate).
  • Access the Mailhog (email cather) interface at http://localhost:4225
  • The site's files are under the public_html folder of this repository.
  • The MySQL database files are under the mysql/data folder of this repository.
  • Regular MySQL connection information, use with your site:
    • Hostname mysql
    • Username mysite
    • Password 2aZzXMhJMGayLYBq6rjJcB9k
    • Database name mysite
  • Root MySQL connection information, use from your computer (e.g. Beekeeper Studio, HeidiSQL, phpStorm, Sequel Ace, …):
    • Hostname localhost:4236
    • Username root
    • Password MBC7ktXWaq8KNVVP3K36SALa

Credits

Based on the blog post “Running your LAMP Stack on Docker Containers

About

A Docker-based server stack for running (really) old sites locally


Languages

Language:Dockerfile 100.0%