Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Setup a Free MediaWiki on Heroku

DZone's Guide to

How to Setup a Free MediaWiki on Heroku

· Cloud Zone
Free Resource

Download this eBook outlining the critical components of success for SaaS companies - and the new rules you need to play by.  Brought to you in partnership with NuoDB.

I had to setup a wiki for some project, and thought of using Heroku for this purpose.

Heroku doesn’t cost anything for 1 dyno, and comes with a bundled 5MB database that might just suffice for this project’s need. To my surprise, I didn’t find any guide on how to do it … but the task didn’t prove to be difficult at all:

  1. Create a new git repository
  2. Populate it with the latest MediaWiki installation
  3. heroku create <app_name>
  4. git push heroku master
  5. Setup a CNAME record pointing wiki.yourproject.org to your-project.herokuapp.com
  6. git config | grep DATABASE
  7. Go to http://wiki.yourproject.org/, follow the wizard and configure your database
  8. This creates a LocalSettings.php file – download it but DO NOT COMMIT IT yet.
  9. Edit it, and replace all the local database settings with this:
## Database settings
$_wgDBConnectionString = getenv('DATABASE_URL');
if (preg_match('%(.*?)://([^:]+):([^@]+)@([^:]+):(\d+)/(.*)%', $_wgDBConnectionString, $regs, PREG_OFFSET_CAPTURE)) {
$wgDBtype = $regs[1][0];
$wgDBuser = $regs[2][0];
$wgDBpassword = $regs[3][0];
$wgDBserver = $regs[4][0];
$wgDBport = $regs[5][0];
$wgDBname = $regs[6][0];
} else {
die("Failed to parse DB connection string");
}

(Obviously, it’s important not to commit your user/pass to a public git repository. If you accidentally did, just remove all reference to it from source control, parse the connection string as above, and then reset your db password).

For your convenience/reference, here is the github repository, although I recommend to just follow the procedure above in order to get the latest MediaWiki and setup wizard.

Learn how moving from a traditional, on-premises delivery model to a cloud-based, software-as-a-service (SaaS) strategy is a high-stakes, bet-the-company game for independent software vendors. Brought to you in partnership with NuoDB.

Topics:

Published at DZone with permission of Ron Gross, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}