CHG-2018-05-22 migrate wiki to hetzner2

From Open Source Ecology
Revision as of 16:06, 18 May 2018 by Maltfield (talk | contribs)
Jump to navigation Jump to search

Status

2018-05-18

Marcin set a tentative date of the migration to Tuesday 2018-05-22 pending the completion of validation of the staging site.

Purpose

This change does the following for our wiki

  1. entirely migrate the wiki site from hetzner1 (shared hosting) to hetzner2 (dedicated hosting)
  2. changes the domain from 'http://opensourceecology.org/wiki/' to 'https://wiki.opensourceecology.org/'
  3. update core mediawiki from v1.24.2 (released 2014-09-19) to v1.30.0 (released 2017-12-12)
  4. installs many of the extensions using `git clone ...`, making it easier to update in the future
  5. updates the vhost config to block all access to ".*wp-login.php"
  6. updates the vhost config to block access to git files, and more generally: ".*\.(svn|git|hg|bzr|cvs|ht)/.*"
  7. enable https via nginx
  8. enable cache via varnish
  9. disable cache & ddos protection on cloudflare
  10. update extension 'Confirm User Accounts' to 4fe25f7
  11. update extension 'Confrim Edit' from 1.3 to 1.5.0
  12. update extension 'Interwiki' from 3.0 20140719 to 3.1 20160307
  13. update extension 'Nuke' from 1.2.0 to 1.3.0
  14. update extension 'Replace Text' from 1.0 to 1.2 (4426752)
  15. update extension 'User Merge' from 1.9.0 to 1.10.1 (4546537)
  16. update extension 'Widgets' from 0.8.10 to 1.3.0 (fce5acc)
  17. update extension 'CategoryTree' to (850c018)
  18. removed extension 'Flattr'
  19. removed extension 'Google Co-op Extension'
  20. removed extension 'IpbWiki Paypal'
  21. removed extension 'JSWikiGantt'
  22. removed extension 'RSS Reader'
  23. removed extension 'TreeAndMenu'
  24. removed extension 'ProxyConnect'
  25. added new extension 'OATHAuth' version 0.2.2 (bed2e4b)
  26. moves LocalSettings.php outside the docroot, replaces the existing LocalSettings.php with a simple file that does a php include of the LocalSettings.php file outside the docroot.
  27. moves the ose logo into the uploads directory
  28. does a sed text replacement within the db data for all http strings to use https instead for 'https://www.youtube.com/embed/', 'https://static.issuu.com/webembed/', 'https://scrumy.com/', 'https://embed.ted.com/', & 'https://player.vimeo.com/'
  29. reduces the privileges of the wiki user on the db to only SELECT, INSERT, UPDATE, & DELETE
  30. adds an additional "superuser" db user with all permissions on the db for maintenance scripts (creds stored in keepass, not on the server)
  31. hardens the file permissions
  32. prevents the web server from executing php files in the uploads directory
  33. changes LocalSettings.php to ban IE6
  34. changes LocalSettings.php to make the max upload size 1M. It warns > 500k.
  35. changes LocalSettings.php to disable use of imagemagick as we don't let php exec()
  36. changes LocalSettings.php to require all users to have >=10 character passwords and not be a common password or match their username
  37. changes LocalSettings.php to require all sysop users to have >=20 character passwords
  38. changes LocalSettings.php to use varnish
  39. changes LocalSettings.php to not enable error/warning messages sent to user
  40. changes LocalSettings.php to write debugging logs to 'wiki-error.log' outside the docroot
  41. changes LocalSettings.php to use "MiserMode" to decrease db-heavy operations
  42. changes the caching settings of mediawiki to use APCU (via CACHE_ACCEL) for the MainCache & MessageCache. Else it uses the db, and therefore every load includes a cpPosTime cookie, which causes varnish to hit-for-pass on every page.
  43. changes the caching settings of mediawiki to use the DB for ParserCache
  44. changes the caching settings of mediawiki enable the SidebarCache
  45. changes the caching settings of mediawiki cache interface messages to files on disk outside the docroot ($IP/../cache/)

Points of Contact

Change being performed by: Michael Altfield

Service owners: Catarina Mota & Marcin Jakubowski

Apply to Production

TODO

See Also

  1. Mediawiki
  2. Wiki Validation