MediaWiki SaaS

From Nasqueron Agora
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

We maintain an up-to-date MediaWiki installation to serve this wiki, and several others.

If you license your content under an open source license like CC-BY, you're welcome to request hosting.

Hosted wikis

The following wikis are hosted on this service:

Repositories

  • saas-mediawiki: MediaWiki SaaS entry point: contains the wiki configuration and the MediaWiki bootstrap logic
  • saas-service: base entry point for SaaS: serves /status requests and contains some base classes
  • rOPS: describes the saas-mediawiki role provisioning instructions

How to add a wiki?

  1. DNS: <your domain> CNAME saas-mediawiki.nasqueron.org
  2. Send a change to the Operations repository
    1. nginx: add your server block to the webserver-legacy role, you need to use include includes/mediawiki-root to serve /Article pages, or include includes/mediawiki-wiki to serve /wiki/Article pages (useful if you've other services than a wiki on this domain)
    2. data directory: add your canonical host to the pillar/saas/mediawiki.sls file in the mediawiki_datastores section
  3. Declare the dbname/host name pair for the new instance in the configuration
  4. Create a database
    1. In every case, GRANT ALL PRIVILEGES on wikis.* TO 'mediawiki-saas'@'localhost';
    2. If you migrate an existing wiki from its db: mysql yourwiki < dump.sql + mw update yourwiki works well
    3. If it's a fresh new wiki: mw addWiki yourwiki will create the database and populate the tables

How to deploy an extension or a skin?

  • Ensure it's available on the service
    • If it's hosted on gerrit.wikimedia.org, add it to pillar/saas/mediawiki.sls file in the rOPS repository
    • If not, you need to provide custom logic at roles/saas-mediawiki/mediawiki
  • Configure it
    • Edit the saas-mediawiki config/Settings.php folder, saasUseExtensionFoo will load the Foo extension and saasUseSkinBar will load the bar skin.
    • If you need more advanced logic, config/CommonsSettings.php contain a good example for Scribunto

How to run a script against a wiki?

The mw command allow to run a maintenance script to a specific wiki.

For example sudo -u mediawiki mw agora update will run update.php for this wiki.