MediaWiki: Difference between revisions
→Accelerators: turn on compression for js, css |
php-fpm |
||
| (14 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
I'm using the [http://www.mediawiki.org/wiki/MediaWiki MediaWiki] software from the WikiMedia Foundation to power my wikis. MediaWiki is | I'm using the [http://www.mediawiki.org/wiki/MediaWiki MediaWiki] software from the WikiMedia Foundation to power my wikis. '''The following information is largely [[Debian]]-specific.''' | ||
==Use with Apache== | |||
By default (at least on Debian), MediaWiki's PHP is run within Apache's PHP module <tt>mod_php</tt>. This can only be safely run under the multiprocess [https://httpd.apache.org/docs/2.4/mod/prefork.html mpm_prefork] paradigm. To use the (generally superior) [https://httpd.apache.org/docs/2.4/mod/worker.html mpm_worker] or [https://httpd.apache.org/docs/2.4/mod/event.html mpm_event] modules, one ought employ [https://www.php.net/manual/en/install.fpm.php php-fpm], the PHP "fast process manager" (note that FastCGI is also a thing. I don't know much about it). | |||
==Installing MediaWiki== | ==Installing MediaWiki== | ||
* Have handy the administrator account/password for your MySQL installation. | * Have handy the administrator account/password for your MySQL installation. | ||
** I advise you to install MySQL ''before'' MediaWiki, not as a single <tt>apt</tt> step. | ** I advise you to install MySQL ''before'' MediaWiki, not as a single <tt>apt</tt> step. | ||
| Line 29: | Line 31: | ||
==Postinstallation== | ==Postinstallation== | ||
* [http://www.mediawiki.org/wiki/Project:PD_help/Copying Install help pages] using Import/Export. | |||
** They require the ParserFunctions extension. Be sure to get the proper version for your MediaWiki install. | |||
* Set a wiki logo: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | * Set a wiki logo: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | ||
** <code>$wgLogo = "/mediawiki/skins/common/images/wiki.jpg";</code> with the appropriate path to your logo | ** <code>$wgLogo = "/mediawiki/skins/common/images/wiki.jpg";</code> with the appropriate path to your logo | ||
| Line 35: | Line 39: | ||
** If applicable, set the image background transparent so it'll look better | ** If applicable, set the image background transparent so it'll look better | ||
*** Using the Gimp, add an Alpha layer, select the background with the Magic Wand, and Clear it | *** Using the Gimp, add an Alpha layer, select the background with the Magic Wand, and Clear it | ||
* Support inline equations: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and change | * Support inline equations: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and change | ||
** <code>$wgUseTeX = false;</code> so that it uses <tt>true</tt> instead | ** <code>$wgUseTeX = false;</code> so that it uses <tt>true</tt> instead | ||
| Line 51: | Line 44: | ||
* Disable editing unless logged in: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | * Disable editing unless logged in: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | ||
** <code>$wgGroupPermissions['*']['edit'] = false;</code> | ** <code>$wgGroupPermissions['*']['edit'] = false;</code> | ||
* Disable per-IP pages:<tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | |||
** <code>$wgShowIPinHeader = false;</code> | |||
* Optionally, disable new accounts unless logged in: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | * Optionally, disable new accounts unless logged in: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | ||
** <code>$wgGroupPermissions['*']['createaccount'] = false;</code> | ** <code>$wgGroupPermissions['*']['createaccount'] = false;</code> | ||
| Line 56: | Line 51: | ||
** Load <tt>Mediawiki:mainpage</tt>, and update it to reflect this change | ** Load <tt>Mediawiki:mainpage</tt>, and update it to reflect this change | ||
* Optionally, remove the 'discussion' tab: | * Optionally, remove the 'discussion' tab: | ||
** Edit <tt>mediawiki/ | ** Edit [[MediaWiki:Common.css]], and add the following:<code>#ca-talk { display:none!important; }</code> | ||
$ | ** Ensure <tt>$wgUseSiteCss=true</tt> in LocalSettings.php | ||
===Managing Uploads=== | |||
* Enable uploads: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | |||
** <code>$wgEnableUploads = true;</code> | |||
* Support uploading non-images: <tt>sudoedit /etc/mediawiki/LocalSettings.php</tt> and add | |||
** <pre>$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc', 'pdf', 'ps', 'xls', 'txt', 'svg' );</pre> | |||
** Supposedly, all types can be allowed via: | |||
<pre> | |||
$wgCheckFileExtensions = false; | |||
$wgStrictFileExtensions = false; | |||
$wgVerifyMimeType = false; | |||
$wgFileBlacklist = array(); | |||
$wgMimeTypeBlacklist= array(); | |||
</pre> | |||
* To allow files larger than the default 2M to be uploaded, edit the value of <tt>upload_max_filesize</tt> in <tt>/etc/php.ini</tt> | |||
** This requires a web server restart to take effect | |||
===System strings=== | |||
Most strings in e.g. sidebars can be edited in the Special:AllMessages area. To see what message key a string corresponds to, add "uselang=qqx" to a URI, e.g. https://nick-black.com/dankwiki/index.php?title=User:Dank&uselang=qqx. | |||
==Moving a wiki== | |||
There's a [http://www.mediawiki.org/wiki/Manual:Moving_a_wiki manual entry] on this. My notes follow: | |||
* The uploaded files are '''not''' stored in your database, and need be copied by themselves | |||
** By default, this is the 'images' directory off your wiki toplevel | |||
** Use a copying method that preserves timestamps, such as tar | |||
* Be sure you grab your configuration files, particularly /etc/mediawiki/LocalSettings.php | |||
* You will also likely want to transfer your web server config as it relates to the wiki | |||
* If you're using Mediawiki account permissions only, they'll be stored in your wiki database | |||
** Otherwise, you'll of course need to copy over and prepare this supporting infrastructure | |||
* Export your database with mysqldump as explained in the manual, and import it on the new machine | |||
* If you can't do a database dump/load, you can do an XML export of all your pages | |||
** This won't copy things like account data! | |||
==Maintenance== | ==Maintenance== | ||
| Line 88: | Line 109: | ||
* Download the extension to <tt>/var/lib/mediawiki/extensions</tt> | * Download the extension to <tt>/var/lib/mediawiki/extensions</tt> | ||
* See <tt>/var/lib/mediawiki/extensions/README</tt> for up-to-date information on enabling it | * See <tt>/var/lib/mediawiki/extensions/README</tt> for up-to-date information on enabling it | ||
* Worth noting: [http://www.mediawiki.org/wiki/Extension:Google_Analytics_Integration googleAnalytics], [http://www.mediawiki.org/wiki/Extension:Countdown Countdown] | * Worth noting: [http://www.mediawiki.org/wiki/Extension:Google_Analytics_Integration googleAnalytics], [http://www.mediawiki.org/wiki/Extension:Countdown Countdown], [http://www.mediawiki.org/wiki/Extension:RSS RSSNews] | ||
==Editing== | |||
Wikipedia's tutorials and the Mediawiki help pages are the best references here: | |||
* [http://en.wikipedia.org/wiki/Image_tutorial Wikipedia image tutorial] | |||
I also have [[MediaWiki editing|some information]]. | |||
===Editing permissions=== | |||
Some editing capabilities are by default disabled even for sysops: | |||
<pre> | |||
$wgGroupPermissions['sysop']['deleterevision'] = true; | |||
$wgGroupPermissions['sysop']['editsitecss'] = true; | |||
$wgGroupPermissions['sysop']['editsitejs'] = true; | |||
</pre> | |||
==See Also== | |||
* [http://www.debian-administration.org/articles/137 mod_deflate configuration] for [[Debian]] | |||