Meza
Meza is a system for "push button" Knowledge Management using MediaWiki. The name is an acronym that stands for "MediaWiki E-Z Administration". Meza is an Infrastructure as code (IaC), Ansible driven, automated and complete platform for creating, managing and hosting wiki farms.
Release status: stable |
|
---|---|
Implementation | Database |
Description | Setup an enterprise MediaWiki server with simple commands |
Author(s) | |
Latest version | 31.18.0 (2022-11-07) |
MediaWiki | 1.31.12 |
PHP | Meza installs PHP 7.1 |
License | MIT |
Download | GitHub: Installation guide RELEASE NOTES |
Why Meza?
editTo make it possible for everyone to have a modern, fully-featured MediaWiki installation. Standard MediaWiki is easy to install, but increasingly its newer and better features are contained within extensions with more complicated install procedures. Additionally, they may be particularly difficult to install on Enterprise Linux derivatives (e.g. Red Hat, CentOS, etc.). This project aims to make features like VisualEditor, CirrusSearch, etc., easy to install, backup, reconfigure, and maintain in a robust and well-tested way.
Who is using Meza?
edit- NASA JSC
- NASA GRC (Glenn Research Center) Armstrong Test Facility
- And more discussing it in the Meza channel on app.element.io
- Not using Meza because it doesn't support the config you need? Complain on this Phabricator task or this GitHub issue!
Requirements
edit- System Requirements:
- 8GB RAM minimum suggested. For trying out Meza with 2GB RAM or even less, see Meza/Setup on a low-memory system
- 25GB minimum available free space in /opt (Linux). Meza will initially use <2GB but logs and media can easily require much more over time.
- Operating system:
- Rocky Linux 8.9 (RHEL 8 equivalent)
- Mac, Windows, or Linux using the Vagrant or Virtual Box install instructions
- Minimal install: Attempting to install it on a Linux server with many other packages already installed may not work properly due to conflicts
- Mail: meza does not configure any mail services. The best option is to use the $wgSMTP mediawiki variable to attach to an external SMTP service.
See Meza/Known Enterprise Challenges for challenges, conflicts, and common errors.
Install
editThere are step-by-step explanations of how to set up Meza in the following environments:
- Install with Vagrant: This is the easiest way to try Meza on your personal computer
- Install on Virtual Box: This requires a little more work, but is good if you don't like Vagrant
- Install on existing server: This assumes you already have a server you can SSH into
- Install on Wikimedia Cloud VPS instance: If you want to configure a Wikimedia Cloud VPS instance for MediaWiki with Meza
- Install on multiple servers: Install Meza components separately on different servers
- Meza/Common Test Environment (CTE)
Upgrading
editFrom Meza 35.x
editNew procedure docs are needed for upgrading from Meza 35.x but initial testing shows that it can be done in the same way as before. ie. sudo meza update X.Y.Z
(where X.Y.Z is the version you want, e.g. 39.7.0 to get the latest version), followed by sudo meza deploy your-environment-name
to deploy it.
At the time of writing, the latest version is
Meza 39.7.0-5-g65fae07 Commit 65fae07371574094d4bc63c164f56c2450f1b62b Mediawiki EZ Admin
From Meza 31.x
editYou should do a two-phase upgrade to get to the 35.x LTS version, then another upgrade to get to the 39.x LTS version.
Run sudo meza update 35.23.0
(35.23.0 is the last 35.x release). Then deploy it with sudo meza deploy your-environment-name
.
After testing, repeat this procedure for a 39.x tag.
If you have an older version of Meza
editIf you have an older version, see Meza/Upgrade from Meza 27.x
Autodeployer
editYou can define a version of Meza to use in your config, and by changing your config you can automatically upgrade Meza. See more about Autodeployer.
Usage
editAfter install you'll have a fully functional MediaWiki wiki farm installation with VisualEditor, CirrusSearch, Semantic MediaWiki, and many other extensions. With your new installation, you can do the following:
- Deploy upgrades and configuration changes using the
meza deploy
command just like you did for initial install- Commands – Describes available commands and their directives, including the Ansible playbook command and its associated tags.
- Upgrade Meza to get new versions of Meza, MediaWiki, extensions, etc
- Add and Delete wikis to your wiki farm using the
meza create wiki
command - Install additional extensions by modifying
MezaLocalExtensions.yml
- Setup SAML authentication if you have single sign-on using SAML
- Meza/Public config
- Meza/Secret config
- Meza/Importing data
- Meza/Rebuild SMW data and search index
- Meza/Scripts
- Meza/Configuration options
- Meza/per site access and read permissions
- more documentation on its way
Features
edit- Meza installs MediaWiki 1.39 and many extensions like VisualEditor and CirrusSearch.
- ExtensionList - Table of Meza installed extensions vs User installed, including code owner and installation method.
- Performance monitoring
- Autodeployer
Misc Enterprise Configurations
editImportant Subpages
editSearch within Meza subpages
- Meza/All sub pages
- Meza/All talk sub pages
- Meza/Development
- Meza/Directory structure - A helpful overview of directories, including what files are modified by sysadmins and what are deployed by the Meza application.
- Emulate the Travis CI test setup for development purposes
- Table of Enterprise MediaWiki User's Enterprise Requirements
- Meza/FAQ
- Meza/Glossary
- Meza/Notes on Implementing a Pywikibot
- Meza/Version history
Issues
edit- Issue tracking (GitHub)
How to contribute
editThe name
editMeza was originally named for David Meza, who was Chief Knowledge Architect at NASA JSC and granted access to the first Linux-based server used for MediaWiki at JSC. It has since come to also stand for "MediaWiki E-Z Administration".
History
edit2015
- 2015-06-12 - initial commit by James Montalvo.
2017
- 2017-06-03 - tag v1.0.0-alpha
2018
- 2018-04-16 - tag 27.0.0
- 2018-04-19 - tag 30.0.0
- 2018-09-21 - tag 31.0.0
2018-2023
- various attempts to upgrade from 31.x to
- ????-??-?? - MW 1.32 (various)
- ????-??-?? - MW 1.34 (ref: freephile's QB fork)
- 2020-12-29 - REL_35
2023
- 2023-05-10 - Meza officially becomes an official NASA Open Source project (NTR) and git project at: https://github.com/nasa/meza
- 2023-07-01 - Meza updated to provide MW 1.35 on Rocky Linux 8
- 2023-07-08 - Common Meza Test Environment (CMTE) defined for GRC-ATF branch
2024
- Current Development:
- Branch: GRC-ATF - Used by NASA GRC-ATF - Actively maintained - contact User:Revansx for questions
- Branch: 35.x - Used by NASA JSC FOD - Actively maintained - contact Vincent Brooks (JSC-CX421)[KBR Wyle Services, LLC] for questions