Wiki Upgrade: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(sandbox/dev boxes)
No edit summary
Line 64: Line 64:


</code>
</code>
=== Sandbox ===
I have some servers available that could be setup on-site and used to host a "copy" of the existing wiki and experiment with updating it. I tend to run Arch on these machines, like the one attached to "wheels" in Turing, I'd imagine putting a vagrant/virtualbox debian environment on there to start with.
Planning to be around quite a bit next week and can work on this between CCC streams.
[[User:Ⅹ|Ⅹ]] ([[User talk:Ⅹ|talk]]) 06:53, 21 December 2017 (UTC)

Revision as of 10:30, 21 December 2017

Eternal Wiki Upgrade Quest

This is the beginning of the wiki upgrade page....



Requirements

  1. https by letsencrypt
  2. debian 9
  3. no snowflakes, all our (known) devops culture at nb is ansible
  4. salt the passwords correctly


Chosen Technologies

  1. Ansible
  2. Debian 9
  3. Caddy
  4. Letsencrypt / Certbot


Ansible Roles

Noisebridge already has an ansible infrastructure repo, please join the Noisebridge github group and hack this: https://github.com/noisebridge/ansible/


  1. Certbot - https://github.com/geerlingguy/ansible-role-certbot
  2. Semantic Mediawiki - Mediawiki maintains some: https://phabricator.wikimedia.org/diffusion/1881/
    1. It may be useful to look at this one: https://github.com/yongxinL/ansible-mediawiki


Database Hacking

We need to upgrade a really old version of mediawiki and will likely need to futz with the database.

  1. Migrate to postgresql?
    1. make a git repo to store migration sql and other sql used for massaging the database contents
  2. Delete old passwords (md5 with no salt) and expire all user passwords?
    1. Write/publish public sql script to clean up the production database for public publishing
  3. Clean the database of spam/cruft?
    1. publish these scripts to the same sql script repo

MediaWiki-Vagrant

This potentially is a good environment for testing and migrating the database: https://www.mediawiki.org/wiki/MediaWiki-Vagrant

(more OpenStack Semantic MediaWiki images: https://wikitech.wikimedia.org/wiki/Portal:Cloud_VPS)

You'll need to follow this guide to get a dump of our database up and running: https://www.mediawiki.org/wiki/Manual:Moving_a_wiki


Password Rollover

We need to delete the password column and expire everyone's password. The old mediawiki only stores md5 hashed passwords with no salts, so we'll have to delete the whole thing

user_password_expires

MediaWiki version: ≥ 1.23

Date when user's password expires; null for no expiration date. Can also be set manually by calling User->expirePassword().