Difference between revisions of "Mediawiki4Intranet/en"

From Wiki4Intranet
Jump to: navigation, search
(MediaWiki)
Line 19: Line 19:
 
== MediaWiki ==
 
== MediaWiki ==
  
MediaWiki is taken from [http://svn.wikimedia.org/svnroot/mediawiki/ SVN Wikimedia].
+
The primary source code repositories are under [https://github.com/mediawiki4intranet/ Mediawiki4Intranet] github organisation. 'configs' repository contains bundle index and configuration files, 'core' is the patched MediaWiki, other repositories are for extensions and skins.
  
Mediawiki4Intranet version may be lesser than the last stable, because the differences between MediaWiki versions are not that big, but patches always need updating.
+
Some of the extensions are taken directly from Wikimedia Git repositories, like for XXX extension: <tt><nowiki>https://</nowiki>gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/{{red|XXX}}.git</tt>.
 +
 
 +
Mediawiki4Intranet version may be less than the last stable release, because the differences between MediaWiki versions are not that big in terms of new features, but newer releases are less stable and patches always need updating.
  
 
MediaWiki used in 4Intranet:
 
MediaWiki used in 4Intranet:
Line 49: Line 51:
 
To install '''MediaWiki4Intranet''' on your site, you need:
 
To install '''MediaWiki4Intranet''' on your site, you need:
  
* Get the code:
+
== Get the code ==
** Either get the [http://wiki.4intra.net/public/mediawiki4intranet.7z code bundle] (approx. 18 MB)
+
 
** Or download from Subversion mirror: {{cmd|svn co http://wiki.4intra.net/svn/mediawiki4intranet/}}
+
You can use one of the following ways:
** Or from [http://code.google.com/p/mediawiki4intranet/source/checkout/ Google Code Mercurial repository]: {{cmd|hg clone http://mediawiki4intranet.googlecode.com/hg/ mediawiki4intranet}} and update to [http://code.google.com/p/mediawiki4intranet/source/browse/?r=mw4install mw4install]: {{cmd|hg up mw4install}}.
+
# Get the [http://wiki.4intra.net/public/mediawiki4intranet.7z code bundle] (approx. 13 MB)
 +
# Use [[repo.php]] script for automatic download via Git (which of course requires a Git client):
 +
#: {{cmd|git clone https://github.com/mediawiki4intranet/configs mediawiki/configs}}
 +
#: {{cmd|cd mediawiki/configs}}
 +
#: {{cmd|php repo.php install mediawiki4intranet}}
 +
# Download from the Subversion mirror (usually lags behind main repos): {{cmd|svn co http://wiki.4intra.net/svn/mediawiki4intranet/}}
 +
 
 +
== Create 'images' and empty DB ==
 +
 
 
* Create <tt>images</tt> folder in the installation directory, grant web server user read and write access there.
 
* Create <tt>images</tt> folder in the installation directory, grant web server user read and write access there.
 
* Create an empty MySQL database and a user with full access to it.
 
* Create an empty MySQL database and a user with full access to it.
* Initialise the database:
+
 
** Either import <tt>maintenance/tables.sql</tt>:
+
== Initialise the database ==
*** ''At first'' create minimal configuration (LocalSettings.php)
+
 
*** Run {{cmd|php maintenance/patchSql.php maintenance/tables.sql}} from the installation directory.
+
First create an empty MediaWiki database:
** Or run the MediaWiki installer from <tt>config</tt> folder — the plus is it also does additional environment checks:
+
* Either import <tt>maintenance/tables.sql</tt>:
*** Go to <tt>http://server/wiki/config/</tt>, answer questions, fix issues, select database type MySQL, InnoDB, 4.1/5.0 utf8 binary. Installer will initialise the DB and create a basic config LocalSettings.php.
+
** ''At first'' create minimal configuration (LocalSettings.php)
*** ''Remove'' the generated configuration — it has plenty of options which are already in MediaWiki4Intranet configs.
+
** Run {{cmd|php maintenance/patchSql.php maintenance/tables.sql}} from the installation directory.
*** ''At last'', create minimal MediaWiki4Intranet configuration (LocalSettings.php)
+
* Or run the MediaWiki installer from <tt>config</tt> folder — the plus is it also does additional environment checks:
* Then run {{cmd|php maintenance/update.php}} from the installation directory.
+
** Go to <tt>http://server/wiki/config/</tt>, answer questions, fix issues, select database type MySQL, InnoDB, 4.1/5.0 utf8 binary. Installer will initialise the DB and create a basic config LocalSettings.php.
 +
** ''Remove'' the generated configuration — it has plenty of options which are already in MediaWiki4Intranet configs.
 +
** ''At last'', create minimal MediaWiki4Intranet configuration (LocalSettings.php)
 +
 
 +
And then run {{cmd|php maintenance/update.php}} from the installation directory to add extension tables.
 +
 
 +
== Create minimal configuration ==
  
 
Minimal configuration (LocalSettings.php):
 
Minimal configuration (LocalSettings.php):
Line 80: Line 96:
  
 
Minimal requirements:
 
Minimal requirements:
* PHP 5 or later.
+
* PHP 5.3 or later.
 
* <span style="color: red">Notice: now there are Notice errors in the MW4Intranet, we'll fix them all, but now, use <tt>error_reporting = E_ALL & ~E_NOTICE</tt> in <tt>php.ini</tt>.</span>
 
* <span style="color: red">Notice: now there are Notice errors in the MW4Intranet, we'll fix them all, but now, use <tt>error_reporting = E_ALL & ~E_NOTICE</tt> in <tt>php.ini</tt>.</span>
 
* Web server. The simplest is to use [http://httpd.apache.org/ Apache], but [http://iis.net/ IIS], [http://nginx.ru/ nginx] + [http://php-fpm.org/ php_fpm] and others are also supported in theory.
 
* Web server. The simplest is to use [http://httpd.apache.org/ Apache], but [http://iis.net/ IIS], [http://nginx.ru/ nginx] + [http://php-fpm.org/ php_fpm] and others are also supported in theory.

Revision as of 02:01, 11 January 2014

MediaWiki is a popular «Wiki»-system, written in PHP and originally created as the Wikipedia's engine. MediaWiki is very extensible - there is more than 1700 useful extensions, and it's very easy to write a new one.

Mediawiki4Intranet is a MediaWiki distribution containing many extensions and patches useful for intranet (and not only for intranet). It is important to mention that all these extensions are improved and tested to work together — integrations bugs are fixed and some features are added.

This page (english documentation) just contains the basic information. For more information see russian documentation.

Installation information: see #Installation.

Bundle contents

  • Original MediaWiki code.
  • Extensions.
  • Patches.
  • Base configuration files for easily creating your LocalSettings.php.

Most of these is distributed under the GPLv2 license, like the MediaWiki itself. /* I hope the tivoisation isn't a threat for us :) */ Some extensions are under GPLv3.

MediaWiki

The primary source code repositories are under Mediawiki4Intranet github organisation. 'configs' repository contains bundle index and configuration files, 'core' is the patched MediaWiki, other repositories are for extensions and skins.

Some of the extensions are taken directly from Wikimedia Git repositories, like for XXX extension: https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/XXX.git.

Mediawiki4Intranet version may be less than the last stable release, because the differences between MediaWiki versions are not that big in terms of new features, but newer releases are less stable and patches always need updating.

MediaWiki used in 4Intranet:

  • 2014-01-14 → current: 1.21.3.
  • 2012-11-20 → 2014-01-14: 1.18.5.
  • 2012-02-22 → 2012-11-20: 1.18.1.
  • 2011-02-08 → 2012-02-22: 1.16.2.
  • 2010-10-09 → 2011-02-08: 1.14.1.
  • → 2010-10-09: 1.13.1 (doesn't exist in Google Code).

Patches

Minor changes to the base code of MW and basic extensions are split into and maintained as patches.

Russian description of all patches.

Extensions

Mediawiki4Intranet contains many useful extensions, and many of them were created specially for it.

View full list of Mediawiki4Intranet extensions

Installation

The simplest way to try MediaWiki4Intranet for Windows users is to download Windows bundle (approx. 200 MB). It's rarely updated (now it's Mediawiki4Intranet/en/WindowsBundleVersion), but it's fully standalone and includes ALL needed third-party software, even LaTeX. Windows-сборка Mediawiki4Intranet.

To install MediaWiki4Intranet on your site, you need:

Get the code

You can use one of the following ways:

  1. Get the code bundle (approx. 13 MB)
  2. Use repo.php script for automatic download via Git (which of course requires a Git client):
    git clone https://github.com/mediawiki4intranet/configs mediawiki/configs
    cd mediawiki/configs
    php repo.php install mediawiki4intranet
  3. Download from the Subversion mirror (usually lags behind main repos): svn co http://wiki.4intra.net/svn/mediawiki4intranet/

Create 'images' and empty DB

  • Create images folder in the installation directory, grant web server user read and write access there.
  • Create an empty MySQL database and a user with full access to it.

Initialise the database

First create an empty MediaWiki database:

  • Either import maintenance/tables.sql:
    • At first create minimal configuration (LocalSettings.php)
    • Run php maintenance/patchSql.php maintenance/tables.sql from the installation directory.
  • Or run the MediaWiki installer from config folder — the plus is it also does additional environment checks:
    • Go to http://server/wiki/config/, answer questions, fix issues, select database type MySQL, InnoDB, 4.1/5.0 utf8 binary. Installer will initialise the DB and create a basic config LocalSettings.php.
    • Remove the generated configuration — it has plenty of options which are already in MediaWiki4Intranet configs.
    • At last, create minimal MediaWiki4Intranet configuration (LocalSettings.php)

And then run php maintenance/update.php from the installation directory to add extension tables.

Create minimal configuration

Minimal configuration (LocalSettings.php):

<?php
require_once 'configs/ServerSettings.php'; # use this under UNIX, use BaseSettings.php under Windows
$wgDBname = 'wiki'; # database name
$wgDBuser = ''; # login and password for database user
$wgDBpassword = '';
$wgDBadminuser = $wgDBuser;
$wgDBadminpassword = $wgDBpassword;
$wgScriptPath = '/wiki';

System requirements

Minimal requirements:

  • PHP 5.3 or later.
  • Notice: now there are Notice errors in the MW4Intranet, we'll fix them all, but now, use error_reporting = E_ALL & ~E_NOTICE in php.ini.
  • Web server. The simplest is to use Apache, but IIS, nginx + php_fpm and others are also supported in theory.
  • MySQL DBMS, preferably version 5 or later.
  • UNIX system is preferred.

PHP extensions:

  • php5-mysql! :-)
  • php5-gd for images.
  • php5-curl for uploading files via URL.

PHP configuration (php.ini):

  • error_reporting = E_ALL & ~E_NOTICE
  • If your PHP is < 5.3: short_open_tag = Off
  • magic_quotes_gpc = Off (should be Off on every web server which respects itself)
  • For SUPA screenshot upload: either disabled Suhosin, or suhosin.post.max_value_length = 8000000 and suhosin.request.max_value_length = 8000000. 8000000 is an example, you can set a bigger value.

Optional extensions:

  • php5-xcache for overall performance.
  • php5-fss for string operations.
  • Mail и Net_SMTP PEAR packages for e-mail.

Third-party software is also required - there are many of them, but Linux users usually may 'apt-get' them, and Windows users may use our standalone bundle (see above).