Setup an enterprise MediaWiki server with simple commands. Put all components on a single monolithic server or split them out over many. Run a solitary master database or have replicas. Deploy to multiple environments. Run backups. Do it all using the meza
command. Run meza --help
for more info.
Standard MediaWiki is easy to install, but increasingly its newer and better features are contained within extensions that are more complicated. Additionally, they may be particularly difficult to install on Enterprise Linux derivatives. This project aims to make these features (VisualEditor, CirrusSearch, etc) easy to install, backup, reconfigure, and maintain in a robust and well-tested way.
- CentOS 7 or RHEL 7 (for now)
- Minimal install: Attempting to install it on a server with many other things already installed may not work properly due to conflicts.
Login to your server and run the following (should take 15-30 minutes depending on your connection):
sudo yum install -y git
sudo git clone https://github.com/enterprisemediawiki/meza /opt/meza
sudo bash /opt/meza/src/scripts/getmeza.sh
sudo meza deploy monolith
This will setup a demo wiki with the user Admin
with password adminpass
. Update this password or remove this user for production environments. To add wikis see these docs.
Running VirtualBox and need to get your virtual machine configured? See our setting up VirtualBox guide.
Want to install on multiple servers. See setting up a multi-server environment.
To get a basic meza setup running on your personal computer, install Git, VirtualBox, and Vagrant, then do:
git clone https://github.com/enterprisemediawiki/meza.git
cd meza
vagrant up
vagrant ssh
sudo meza deploy vagrant
For a more detailed explanation of the commands above, or to do more complex things, see the meza Vagrant docs
Everything can be installed on a single server (a monolith, meza deploy monolith
) or can be configured to install different components on different servers. For example, you may have the following setup:
- 2 load balancers (multiple meza-installed load balancers still in development. multiple external load-balancers possible)
- 3 app servers
- 3 memcached servers
- 1 database master
- 3 database replicas
- 2 Parsoid servers
- 3 elasticsearch nodes
- 2 backup servers
- MediaWiki 1.27
- PHP 5.6
- Apache 2.4
- MariaDB 5.5, configurable optionally with multiple replica servers
- Load Balancer: HAProxy 1.5
- Memcached 1.4
- Elasticsearch 1.6
- Node.JS 6.9
This is not necessarily an exhaustive list
- Semantic MediaWiki
- Semantic Compound Queries
- Semantic Internal Objects
- Semantic Maps
- Semantic Meeting Minutes
- Semantic Result Formats
- Admin Links
- BatchUserRights
- Contribution Scores
- Copy Watchers
- Data Transfer
- Echo
- Interwiki
- Replace Text
- Semantic Forms
- WatchAnalytics
- WhoIsWatching
- Wiretap
- Arrays
- CharInsert
- Cite
- External Data
- InputBox
- LabeledSectionTransclusion
- Maps
- MasonryMainPage
- Math
- NumerAlpha
- ParserFunctions
- Pipe Escape
- SubPageList
- SyntaxHighlight
- Variables
- YouTube
- Approved Revs
- CirrusSearch
- CollapsibleVector
- DismissableSiteNotice
- Elastica
- HeaderFooter
- Parser Function Helper
- ParserHooks
- TalkRight
- Thanks
- UniversalLanguageSelector
- Upload Wizard
- Validator
- VisualEditor
- WikiEditor
- Creating and importing wikis
- Accessing Elasticsearch plugins
- Installing additional extensions
- Directory structure overview
- Setup on Digital Ocean
If you'd like to contribute to this project, please see this guide on how to help.