Meza
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 |
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.
Why Meza?
[edit]To 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
[edit]There 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
[edit]From Meza 35.x
[edit]New 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
[edit]You 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
[edit]If you have an older version, see Meza/Upgrade from Meza 27.x
Autodeployer
[edit]You 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
[edit]After 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
[edit]- Configuration File version control
- Periodic Cron jobs
- Meza/Ensuring users get the latest file
- Meza/Setting up a common uploads wiki
- Meza/Setting up a Cross-Site Notifications
Important Subpages
[edit]Search 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
[edit]The name
[edit]Meza 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
[edit]2015
- 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