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