Difference between revisions of "Mediawiki4Intranet/en"
(Created page with "[http://mediawiki.org/ MediaWiki] is a popular «Wiki»-system, written in PHP and originally created as the [http://wikipedia.org/ Wikipedia]'s engine. MediaW...") |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [http://mediawiki.org/ MediaWiki] is a popular [[wikipedia:Wiki|«Wiki»-system]], written in PHP and originally created as the [http://wikipedia.org/ Wikipedia]'s engine. MediaWiki is very | + | [[ru:Mediawiki4Intranet]] |
+ | [http://mediawiki.org/ MediaWiki] is a popular [[wikipedia:Wiki|«Wiki»-system]], written in PHP and originally created as the [http://wikipedia.org/ Wikipedia]'s engine. MediaWiki is very extensible — there is more than 1700 useful extensions, and it’s very easy to write a new one. | ||
− | <big>'''Mediawiki4Intranet'''</big> 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 | + | <big>'''Mediawiki4Intranet'''</big> 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 [[Mediawiki4Intranet|russian documentation]]. | + | This page (english documentation) just contains the basic information. For more information see [[Mediawiki4Intranet/|russian documentation]]. |
Installation information: see [[#Installation]]. | Installation information: see [[#Installation]]. | ||
+ | |||
+ | = Overview = | ||
+ | |||
+ | Mediawiki4Intranet is a MediaWiki distribution suited for corporate («intranet») usage. It was created just as a bundle that we use in our company; it includes 89 extensions, patched core and some maintenance tools and configs. | ||
+ | |||
+ | Notable features available in the basic configuration are: | ||
+ | * Media features: [[PDFHandler|PDF]], [[PagedTiffHandler|TIFF]], [[Dia]], [[FLVHandler|FLV/MP4]], [[Mp3Handler|MP3]], [[MMHandler|FreeMind/FreePlane mindmaps]], [[MarkupBabel|LaTeX, Graphviz, Gnuplot, UMLGraph, UMLet]], [[PlantUML]]; SVG rendering of Dia, LaTeX, Graphviz, Gnuplot; JavaScript editor for uploaded SVG files ([[SVGEdit]]); | ||
+ | * Wiki-anything: [[Wikilog|Wiki-blogs, Wiki-forums]], [[Polls|Wiki-polls]], [[MediawikiQuizzer|Wiki-quizzes]], [[S5SlideShow|Wiki-presentations]] and even [[WikiBookmarks|Wiki-bookmarks]] :) | ||
+ | * Built-in permission system ([[IntraACL]]); | ||
+ | * Versioning features: [[Duplicator]], [[PageSnapshots]], [[MW Import&Export|massively improved import/export engine]]; | ||
+ | * Screenshort upload ([[SupaMW]]); batch file upload ([[SWFUpload]]); [[SphinxSearchEngine|Sphinx search]]; [[TikaMW]] for indexing binary (msword, etc) file contents; | ||
+ | * Editing experience: [[WikiEditor]], [[CustisScripts|wikEd, wikifikator (mainly for russian)]], [[LinkAutocomplete|autocomplete for page links and templates]], [[WikiEditorInplace|in-place editing of page sections]], [[SimpleTable]]; | ||
+ | * Optimized [[SemanticMediaWiki]]; | ||
+ | * Many other features and parser extensions. | ||
+ | |||
+ | Mediawiki4Intranet is a «rolling-release»; [[repo.php]] script is used for the updatable deployment (faster than git submodules or composer, allows simple creation of «derived» distributions). | ||
= Bundle contents = | = Bundle contents = | ||
Line 14: | Line 31: | ||
* Base configuration files for easily creating your <tt>LocalSettings.php</tt>. | * Base configuration files for easily creating your <tt>LocalSettings.php</tt>. | ||
− | Most of these is distributed under the GPLv2 license, like the MediaWiki itself. /* I hope the tivoisation | + | 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 == | == MediaWiki == | ||
− | + | 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 | + | 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: | ||
− | * 2011-02-08 | + | * 2014-06-03 → current: '''1.21.10'''. |
+ | * 2014-01-31 → 2014-06-03: '''1.21.5'''. | ||
+ | * 2014-01-14 → 2014-01-31: '''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 → 2011-02-08: '''1.14.1'''. | ||
− | * → 2010-10-09: '''1.13.1''' (doesn't exist in | + | * → 2010-10-09: '''1.13.1''' (doesn't exist in google code / github). |
== Patches == | == Patches == | ||
Line 37: | Line 61: | ||
Mediawiki4Intranet contains many useful extensions, and many of them were created specially for it. | Mediawiki4Intranet contains many useful extensions, and many of them were created specially for it. | ||
− | [[Mediawiki4Intranet | + | [[:Category:Mediawiki4Intranet extensions|View full list of Mediawiki4Intranet extensions]] |
= Installation = | = Installation = | ||
Line 45: | Line 69: | ||
To install '''MediaWiki4Intranet''' on your site, you need: | To install '''MediaWiki4Intranet''' on your site, you need: | ||
− | + | == Get the code == | |
− | + | ||
− | + | You can use one of the following ways: | |
− | + | # 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 == | |
− | + | ||
− | + | First create an empty MediaWiki database: | |
− | + | * Either import <tt>maintenance/tables.sql</tt>: | |
− | + | ** ''At first'' create minimal configuration (LocalSettings.php) | |
− | + | ** Run {{cmd|php maintenance/patchSql.php maintenance/tables.sql}} from the installation directory. | |
− | + | * Or run the MediaWiki installer from <tt>config</tt> folder — the plus is it also does additional environment checks: | |
− | + | ** 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): | ||
<code-php> | <code-php> | ||
<?php | <?php | ||
− | require_once ' | + | require_once 'configs/ServerSettings.php'; # use this under UNIX, use BaseSettings.php under Windows |
$wgDBname = 'wiki'; # database name | $wgDBname = 'wiki'; # database name | ||
$wgDBuser = ''; # login and password for database user | $wgDBuser = ''; # login and password for database user | ||
Line 76: | Line 114: | ||
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. | ||
Line 98: | Line 136: | ||
* Mail и Net_SMTP PEAR packages for e-mail. | * Mail и Net_SMTP PEAR packages for e-mail. | ||
− | Third-party software is also | + | 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). |
− | * PDF: [http://pages.cs.wisc.edu/~ghost/ GhostScript], [http://poppler.freedesktop.org/ Poppler] | + | * PDF: [http://pages.cs.wisc.edu/~ghost/ GhostScript], [http://poppler.freedesktop.org/ Poppler] — бывший [http://www.foolabs.com/xpdf/ Xpdf] ([http://gnuwin32.sourceforge.net/packages/xpdf.htm windows)] |
* DJVU: [http://djvu.sourceforge.net/ djvulibre], [http://netpbm.sourceforge.net/ netpbm] ([http://gnuwin32.sourceforge.net/packages/netpbm.htm windows]). | * DJVU: [http://djvu.sourceforge.net/ djvulibre], [http://netpbm.sourceforge.net/ netpbm] ([http://gnuwin32.sourceforge.net/packages/netpbm.htm windows]). | ||
* LaTeX (формулы <m>…</m>): a TeX distribution, usually [http://www.tug.org/texlive/debian.html TeXLive] in Debian, usually [http://miktex.org/ MiKTeX] on Windows; also [http://dvisvgm.sourceforge.net/ dvisvgm] is needed. | * LaTeX (формулы <m>…</m>): a TeX distribution, usually [http://www.tug.org/texlive/debian.html TeXLive] in Debian, usually [http://miktex.org/ MiKTeX] on Windows; also [http://dvisvgm.sourceforge.net/ dvisvgm] is needed. |
Latest revision as of 12:43, 29 May 2017
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.
Contents
Overview
Mediawiki4Intranet is a MediaWiki distribution suited for corporate («intranet») usage. It was created just as a bundle that we use in our company; it includes 89 extensions, patched core and some maintenance tools and configs.
Notable features available in the basic configuration are:
- Media features: PDF, TIFF, Dia, FLV/MP4, MP3, FreeMind/FreePlane mindmaps, LaTeX, Graphviz, Gnuplot, UMLGraph, UMLet, PlantUML; SVG rendering of Dia, LaTeX, Graphviz, Gnuplot; JavaScript editor for uploaded SVG files (SVGEdit);
- Wiki-anything: Wiki-blogs, Wiki-forums, Wiki-polls, Wiki-quizzes, Wiki-presentations and even Wiki-bookmarks :)
- Built-in permission system (IntraACL);
- Versioning features: Duplicator, PageSnapshots, massively improved import/export engine;
- Screenshort upload (SupaMW); batch file upload (SWFUpload); Sphinx search; TikaMW for indexing binary (msword, etc) file contents;
- Editing experience: WikiEditor, wikEd, wikifikator (mainly for russian), autocomplete for page links and templates, in-place editing of page sections, SimpleTable;
- Optimized SemanticMediaWiki;
- Many other features and parser extensions.
Mediawiki4Intranet is a «rolling-release»; repo.php script is used for the updatable deployment (faster than git submodules or composer, allows simple creation of «derived» distributions).
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-06-03 → current: 1.21.10.
- 2014-01-31 → 2014-06-03: 1.21.5.
- 2014-01-14 → 2014-01-31: 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 / github).
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:
- Get the code bundle (approx. 13 MB)
- 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
- 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).
- PDF: GhostScript, Poppler — бывший Xpdf (windows)
- DJVU: djvulibre, netpbm (windows).
- LaTeX (формулы <m>…</m>): a TeX distribution, usually TeXLive in Debian, usually MiKTeX on Windows; also dvisvgm is needed.
- FLV/MP4-video: ffmpeg (для windows).
- Graphviz, preferably 2.27 or later.
- GNUPlot.
- UMLGraph.
- UMLet.
- Java for UMLGraph, UMLet, PlantUML.
- Sphinx search: Sphinx.