On Thu, 26 Jul 2012 16:41:05 -0700, Asheesh Laroia lists@asheesh.org wrote:
Hello, dear wikitech-ians,
For the Hackathon, I (with some help!) prepared a laptop setup guide for getting MediaWiki installed, from start to finish, on Windows, Mac, and Linux. http://www.mediawiki.org/wiki/Hackathon/Laptop_setup
It is somewhat unique in the world of MediaWiki install instructions in that:
It uses sqlite.
It is quite prescriptive -- it tells you what to do, rather than
giving you many options. (This helps us avoid danger points -- for example, some people accidentally download Apache/PHP bundles with 5.3.1 still. To avoid that, we advise a specific bundle.)
It is targeted at people without any command line experience.
It is targeted at people without necessarily any experience with a
text editor.
I originally wrote it for the Wikimania Hackathon's newbie track, and it worked reasonably well there. Therefore, unlike most sets of "install MediaWiki", it's been 'play-tested'.
I've copied it to here: http://www.mediawiki.org/wiki/Hackathon/Laptop_setup
My own quibbles
One of the big problems we experienced with this Laptop setup page was that it's not a great thing to do *first* -- it took some people way more than one hour.
For some of the "Tasks" we put together for the Hackathon, you didn't need a local development environment for MediaWiki, and for others, you did but could live without getting git/gerrit going. Therefore, if a person wants to set up MediaWiki on their own machine without requesting Git/Gerrit access, then they don't have to go through all these steps.
Also, there were a handful of problems we worked out in the Mac OS version of the documentation -- those are fixed now, though.
By and large, I'm pretty happy with it.
Next steps
Here's my question for y'all: where do docs like this fit into the mediawiki.org install guides?
Is there a person I should contact who maintains the main install guide, or should I just be some combination of 'bold' and respectful and try to weave it into the main documentation? (Doing that would be a pretty massive undertaking.)
What I would like to see, honestly, is the following:
https://www.mediawiki.org/wiki/Manual:Installation_guide has a few giant buttons:
"Want to install MediaWiki on your web hosting?" which takes you to some docs that discuss PHP, SFTP, etc.
"Want to install MediaWiki on your personal computer?" which takes you to something like Hackathon/Laptop_setup
(Maybe other giant nav buttons?)
Alternatively, we could just let my Hackathon/Laptop_setup guide sit where it is, and future Hackathons will just reference those, but the official install docs won't ever link there. (I think this would not be as good, but am curious to hear what y'all think.)
-- Asheesh.
Btw, on a related topic you should be aware of. We do have a quick alternate way to run MediaWiki locally for development using sqlite and without bothering to setup a webserver. I wrote it awhile ago, but most people probably don't even know about it.
It's maintenance/dev/, it's been sitting inside core since 1.19 was released. https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=tree;f=maintena...
If you checkout MediaWiki and then run maintenance/dev/install.sh the script will first download and install php 5.4 locally and can do so in a common location so you don't need to recompile. After that it will use php's cli installer to quickly configure MediaWiki for local use on localhost with a sqlite database. And then it will start up php 5.4's built-in development webserver and let you jump into MediaWiki right away.
If you know about it, maintenance/dev/ makes a lot of one-off trivial bug tests and ideas really easy to deal with. I even used a little trick to test MWCryptRand on all our legacy releases when we made those security releases.
There are some minor issues: - There is no Windows version (but it works fine on OS X and Linux). - The 'latest' download url for php I was using now only gives out old RC versions instead of the latest php5.4. Not sure how to fix that easily. (I wonder if I should fix these issues by switching the tool to python)