MediaWiki

From Things and Stuff Wiki
Jump to navigation Jump to search


General

Setup

Nginx

Upgrade

Download latest, extract on-top of current. Be careful with overwriting if you have hacked a core theme.

tar xvzf mediawiki-1.19.1.tar.gz -C . --strip-components=1
php maintenance/update.php

Upgrade requires DB user grants for: select, insert, update, delete, alter, index

http://www.mediawiki.org/w/api.php?action=expandtemplates&text=http://download.wikimedia.org/mediawiki/{{MW%20stable%20branch%20number}}/mediawiki-{{MW%20stable%20release%20number}}.tar.gz

Backup

change vars;

nice -n 19 mysqldump -u $USER --password=$PASSWORD $DATABASE -c
nice -n 19 gzip -9 > wiki-$DATABASE-$(date '+%Y%m%d').sql.gz

Script

Compress

Configuration

Caching

$wgMainCacheType = CACHE_ACCEL;
  PHP acceleration, i.e., APC
php purgeList.php --all

Usage

Markup


{| class="wikitable"
|-
! Header 1
! Header 2
! Header 3
|-
| row 1, cell 1
| row 1, cell 2
| row 1, cell 3
|-
| row 2, cell 1
| row 2, cell 2
| row 2, cell 3
|}


ToC

__TOC__


Hotkeys

Content


Interwiki

Categories

Theming and frontend




Bootstrap




Print.css


Footer links

MediaWiki:Privacy
MediaWiki:Aboutsite
MediaWiki:Disclaimers


Layout


Social



  • https://www.mediawiki.org/wiki/Extension:OpenGraphMeta - provides OpenGraph protocol metadata for articles on the wiki for 3rd parties like Facebook to extract. The primary use for this extension is for any wiki that provides its users a button to "Like" pages on the wiki, especially if the wiki uses a custom default skin. As sometimes Facebook can extract undesirable parts from the page (known on some custom skins to potentially extract random images irrelevant to the content) providing this data gives Facebook clean data to display in likes, and cleans up the long title into a pair of clean site and page titles.


Content


WYSIWYM


Real-time


Upload

Users

Signup

Login

Permissions

  • Special:UserRights - User rights management

Namespace protection

# Only allow autoconfirmed users to edit Project namespace
$wgNamespaceProtection[NS_PROJECT] = array( 'autoconfirmed' );
 
# Don't allow anyone to edit non-talk pages until they've confirmed their
# e-mail address (assuming we have no custom namespaces and allow edits
# from non-emailconfirmed users to start with)
# Note for 1.13: emailconfirmed group and right were removed from default
# setup, if you want to use it, you'll have to re-enable it manually
$wgNamespaceProtection[NS_MAIN]     = $wgNamespaceProtection[NS_USER]  =
$wgNamespaceProtection[NS_PROJECT]  = $wgNamespaceProtection[NS_IMAGE] =
$wgNamespaceProtection[NS_TEMPLATE] = $wgNamespaceProtection[NS_HELP]  =
 $wgNamespaceProtection[NS_CATEGORY] = array( 'emailconfirmed' );
 
# Only allow sysops to edit "Policy" namespace
$wgGroupPermissions['sysop']['editpolicy'] = true;
$wgNamespaceProtection[NS_POLICY] = array( 'editpolicy' );

Resources

Anti-spam

# Protect shit
require_once("$IP/extensions/ConfirmEdit/ConfirmEdit.php");
require_once("$IP/extensions/ConfirmEdit/QuestyCaptcha.php"); 
$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaQuestions[] = array( 'question' => '123 + 1 =', 'answer' => '124' );
$wgCaptchaQuestions[] = array( 'question' => '321 + 2 =', 'answer' => '323' );
etc.
 
$wgGroupPermissions['*'            ]['skipcaptcha'] = false;
$wgGroupPermissions['user'         ]['skipcaptcha'] = false;
$wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false;
$wgGroupPermissions['bot'          ]['skipcaptcha'] = true; // registered bots
$wgGroupPermissions['sysop'        ]['skipcaptcha'] = true;

$wgGroupPermissions['emailconfirmed']['skipcaptcha'] = true;
$ceAllowConfirmedEmail = true;

$wgCaptchaTriggers['edit']          = false; 
$wgCaptchaTriggers['create']        = false; 
$wgCaptchaTriggers['addurl']        = true; 
$wgCaptchaTriggers['createaccount'] = true;
$wgCaptchaTriggers['badlogin']      = true;

Tools

Visualization

Templates

URL

API

Archive

SEO

php maintenance/generateSitemap.php \
  --fspath sitemap \
  --server http://mydomain.org \
  --urlpath http://mydomain.org/sitemap

Semantic / Data

JSON

Flow