Page MenuHomePhabricator

PHP-based framework for managing host system MediaWiki install
Closed, ResolvedPublic

Description

A number of MediaWiki developers run MediaWiki on their host system, using binaries provided by their host OS package manager (e.g. php installed via apt or homebrew).

As an example of what this entails on macOS, see https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_macOS#Homebrew_Setup

It would be nice to have a PHP-based application for managing a few aspects of this:

  • Initial setup of Apache virtual host(s) using the location that MediaWiki core is cloned to
  • Diagnostics for troubleshooting
  • Support for services like Redis, Memcached, ElasticSearch, etc
  • Support for integrating with services running as Docker containers (e.g. ElasticSearch as a Docker container with WMF plugins)

Unlike container or virtualization based solutions, the framework doesn't have to do any complicated things for "stop", "start", etc. I think it is mostly just glue to the currently manual steps of putting vhosts in place. I would envision this tool leaning heavily on the library components proposed in T333668: Shared tools for common development environment tasks.

Unlike T333668, the code in this project should be specific to the use case of managing PHP, MySQL, and Apache on Linux and macOS systems. (I don't think we should consider Windows in scope given all the additional complexities that would involve, and the existence of Windows Subsystem for Linux.)

I've started on this in https://gitlab.wikimedia.org/kharlan/mediawiki-metal

Event Timeline

I'd really like to help out with this! I've worked a bit with scripted provisioning, puppet, vagrant and Docker, so it interests me.

One question I have is which hardware to bring, Linux or MacBook? I'd prefer to bring my Nix laptop, but I wonder if we have someone who can test on MacOS too?

I'd really like to help out with this! I've worked a bit with scripted provisioning, puppet, vagrant and Docker, so it interests me.

One question I have is which hardware to bring, Linux or MacBook? I'd prefer to bring my Nix laptop, but I wonder if we have someone who can test on MacOS too?

@jgleeson Having a Linux laptop would be great! I'll have a macOS laptop with me. I have some initial code for this that I'll publish this week so we can start sketching out some implementation ahead of time. T333668 might also interest you, btw.

thanks @kostajh! Linux it is :) I'll check out T333668 too.