User:Varnent/Dog food

Over the years, I have been the system operator for a number of third-party MediaWiki installations. The longest running was [//wikiqueer.org WikiQueer], which will be relaunched in the coming year. However, it has been at least three years since I setup from scratch a complete MediaWiki installation for third-party usage. With this "eating our own dog food" page, I am attempting to document my experiences both for my own future reference and potentially for use by others as I install and setup [//wikigreed.org WikiGreed] from scratch.

Basics
At time of setup:


 * Ubuntu 18.04.3 (LTS) x64
 * MediaWiki 1.34.1
 * PHP 7.2.24
 * Apache
 * MySQL 5.7.29
 * ICU 60.2
 * Lua 5.1.5

Impressions

 * Setup of extensions during initial MediaWiki installation was much easier. A vast majority of the extensions I wanted to utilize were already in the package.
 * VisualEditor is usually an expected hurdle.
 * File upload problems are usually a surprise hurdle.
 * It is easy to overlook a lot of little things that align the end-user experience with that of Wikimedia projects.
 * There are SO MANY template to import from various Wikimedia projects of varying setups (Office Wiki is a handy cheat based on its simple setup). Would be handy if there was an auto updated package of templates and modules you could import for a designated set of basic and common wiki maintenance functions.
 * MBox
 * Copyrights
 * Documentation subpages
 * Reflist formatting
 * Things are not looking right out of the box when links are previewed in platforms - need to look into this.
 * Setting up email was a hassle. Not much support for TLS and other setups beyond basic SMTP.
 * Lack of support for OpenGraph is frustrating.
 * Installing Flow was a bad idea on my part.
 * Broke search when it went to rebuild the index.
 * Removed the two Topic: entries from database fixed the problem - as did reinstalling the extension as a temporary fix.
 * Parser functions do not work in the sidebar - which seems odd given other elements do.
 * This can be achieved using MediaWiki message pages.
 * Setting up Citoid proved more challenging than Parsoid and ultimately wound up using Wikimedia's service.
 * Following on-wiki documentation resulted in nonspecific errors and commands to files that did not exist.

VisualEditor

 * Getting Parsoid to work within Terminal was not too challenging. Getting it linked with VisualEditor was a lot of trial and error. Final coding:
 * Problems getting editors to display for everyone as expected. Final coding:

Uploads

 * Getting errors at first. Solution was playing around with CHMOD and CHOWN settings as well as this setup (note that the use of 'upload' is just my own personal oddness):

Citoid
Getting the automatic feature of Citoid working was a trick. I missed the need to import this page: MediaWiki:Citoid-template-type-map.json, and final coding:

Easy to overlook
These are things which were easy to overlook:


 * Testing file uploads
 * Setting up and testing email sending
 * Hiding database password further in server
 * All of the other custom settings already default on Wikimedia wikis - for things like custom CSS for users, etc.

Extensions
I [//wikigreed.org/wiki/Special:Version installed] these extensions, which were not include with the MediaWiki tar build:
 * Extension:AbuseFilter
 * Extension:CheckUser
 * Extension:Citoid
 * Extension:cldr
 * Extension:CodeMirror
 * Extension:CommonsMetadata
 * Extension:Disambiguator
 * Extension:Echo
 * Extension:intersection
 * Extension:JsonConfig
 * Extension:LoginNotify
 * Extension:Popups
 * Extension:RecentActivity
 * Extension:RelatedArticles
 * Extension:SandboxLink
 * Extension:SecureLinkFixer
 * Extension:TemplateData
 * Extension:TemplateSandbox
 * Extension:TemplateStyles
 * Extension:TemplateWizard
 * Extension:TimedMediaHandler
 * Extension:Thanks
 * Extension:VisualEditor
 * Extension:WebToolsManager
 * Extension:WikiLove

MediaWiki.org pages utilized

 * Manual:Installing MediaWiki
 * Manual:Securing database passwords
 * Extension:VisualEditor
 * Parsoid/Setup
 * Parsoid/Troubleshooting
 * Manual:Configuration settings