Mediawiki
Help resources
Announcements of releases and security updates
https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
Cheatsheet
Keyboard shortcut
https://www.mediawiki.org/wiki/VisualEditor/Portal/Keyboard_shortcuts
- Save: Alt+s (non-mac), Ctr+Option+s (Mac)
- Preview: Alt+p (non-mac), Ctrl+Option+p (Mac)
Install mediawiki on ubuntu
http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_GNU/Linux
Check requirement
php -v mysql -V # capital V
http://localhost/mediawiki setup
- Language
- Welcome to MediaWiki!
- Environmental checks
- Copyright and Terms
- Connect to database - MySQL settings
- Database host: localhost
- Database name: (default is my_wiki)
- Database table prefix: (Leave it empty)
- Database username: root (saved in LocalSettings.php - $wgDBuser, no need to change)
- Database password: (saved in LocalSettings.php - $wgDBpassword)
- Database settings
- Storage engine: InnoDB
- Database character set: Binary
- Name
- Name of wiki: (saved in LocalSettings.php - $wgSitename)
- Administrator account
- Your username: (will be saved in the database)
- Password: (will be saved in the database)
- Email address: (leave it empty)
- Uncheck 'Share data about this installation with MediaWiki developers.'
- Check 'I'm bored already, just install the wiki.'
If we choose 'Ask me more questions', we will get more questions to answer
- Options
- User rights profile: Open wiki/Account creation required/Authorized editors only/Private wiki
- Copyright and license: Creative Commons Attribution/.../No license footer/Select a custom Creative Commons license
- Email settings
- Skins
- Extensions: Gadgets, ImageMap, InputBox, Interwiki, LocalisationUpdate, Nuke, ParserFunctions, PdfHandler, Renameuser, SpamBlacklist, SyntaxHighlight_GeSHi, TitleBlacklist, WikiEditor
- Images and file uploads: Enable file uploads, Logo URL
- Advanced configuration: PHP object caching (APC, APCu, XCache or WinCache)
At the end, we will be notified to download LocalSettings.php file. The new database will be created now.
$ mysql -u root -p -e 'SHOW DATABASES' $ mysql -u root -p -e 'SHOW TABLES' DB_NAME
Enable tex for formula
- http://www.mediawiki.org/wiki/Manual:Enable_TeX
- http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_GNU/Linux
- http://www.siteground.com/tutorials/mediawiki/mediawiki_math.htm
1. The following line is coming from an earlier bookmarked tutorial (not sure if it is needed anymore)
apt-get install mediawiki-math
2. Download Math extension from this link
3. Then you should extract the archive in the "extensions" folder within your MediaWiki installation directory.
4. Next, you need to add the following line to your LocalSettings.php file:
wfLoadExtension( 'Math' );
sudo apt-get install ocaml cd extensions/Math/math make
6. The next step is to execute the "maintenance/update.php" script via shell:
php maintenance/update.php
Done. Go to test it. [Tested on mediawiki 1.22 on Ubuntu 12.04]. Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.
Skins
The default skin is vector.
MobileFrontEnd
- https://www.mediawiki.org/wiki/Extension:MobileFrontend to download the extension and extract it to extensions/ folder
- Go to https://www.mediawiki.org/wiki/Skin:Minerva_Neue to download the MinervaNeue skin and extract it to skins/ folder
cd Downloads wget https://extdist.wmflabs.org/dist/extensions/MobileFrontend-REL1_30-5ecc673.tar.gz wget https://extdist.wmflabs.org/dist/skins/MinervaNeue-REL1_30-7ee8663.tar.gz tar xzvf MobileFrontend-REL1_30-5ecc673.tar.gz -C ../mediawiki-1.30.0/extensions/ tar xzvf MinervaNeue-REL1_30-7ee8663.tar.gz -C ../mediawiki-1.30.0/skins
- Use a table or phone to test the effect. It works. The changes I made to <LocalSettings.php>
wfLoadSkin( 'MinervaNeue' ); # put it in the same section of wfLoadSkin wfLoadExtension( 'MobileFrontend' ); $wgMFAutodetectMobileView = true; $wgMFDefaultSkinClass = 'SkinMinerva'; $wgShowExceptionDetails = true; # debugging use only
Install on Ubuntu 16.04
I follow this guide to install LAMP.
However the SSH setting will be affected since ufw will assume the default port. So I follow this guide to fix the port problem on OpenSSH.
Install mediawiki on debian
Link here [1]
Install mediawiki through Vagrant + VirtualBox
https://www.mediawiki.org/wiki/MediaWiki-Vagrant
Several extensions have an instruction for vagrant engine.
vagrant roles enable mobilefrontend --provision
vagrant enable-role multimediaviewer vagrant provision
Run mediawiki with Docker
- https://www.mediawiki.org/wiki/Docker
- Official Docker repository
- There are different choices on https://hub.docker.com/
- https://hub.docker.com/r/simplyintricate/mediawiki/ (10K+ pull & include Dockerfile) & Setup MediaWiki and Postgres with Docker
- https://hub.docker.com/r/bitnami/mediawiki/ (50K+ pull & include Dockerfile) & Bitnami Docker Image for MediaWiki
- https://hub.docker.com/r/appcontainers/mediawiki/ (100K+ pull, include Dockerfile) & How to setup Mediawiki in seconds using Docker?
Install mediawiki on XAMPP
- https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki_on_XAMPP
- https://lifehacker.com/354005/run-your-personal-wikipedia-from-a-usb-stick
LocalSettings.php
- $wgSitename = "BRB-ArrayTools";
The protocol and server name to use in fully-qualified URLs
- $wgServer = "https://YOURDOMAIN.COM";
- $wgSecureLogin = true;
- $wgLogo = "$wgScriptPath/YOURLOGO.png";
- $wgEnableEmail = false;
Database settings
- $wgDBtype = "mysql";
- $wgDBserver = "localhost";
- $wgDBname = "MYWIKIDB";
- $wgDBuser = "root"; # not the wiki user
- $wgDBpassword = "MYPASSWORD"; # not the password used to log in the mediawiki
Shared memory settings
- $wgMainCacheType = CACHE_ACCEL;
To enable image uploads, make sure the 'images' directory is writable, then set this to true:
- $wgEnableUploads = true;
If you use ImageMagick (or any other shell command) on a Linux server, this will need to be set to the name of an available UTF-8 locale
- $wgShellLocale = "en_US.utf8";
Extensions
- wfLoadExtension( 'SyntaxHighlight_GeSHi' );
- $wgFileExtensions = array('txt','svg','png','gif','jpg','jpeg','doc','xls','mpp','pdf','ppt','tiff','bmp','docx', 'xlsx', 'pptx','ps','odt','ods','odp','odg');
- $wgSVGConverter = 'ImageMagick';
- $wgTrustedMediaFormats = array('text/plain');
- $wgDisableCounters = true;
- $wgLocaltimezone = "America/New_York";
- $wgLocalTZoffset = date("Z") / 60;
- date_default_timezone_set( $wgLocaltimezone );
- require_once("$IP/extensions/Math/Math.php");
- $wgFavicon = "$wgScriptPath/favicon32.ico";
Customize
Customize MediaWiki into Your Ultimate Collaborative Web Site
Uninstall mediawiki
- delete the directory containing the wiki's files
- remove the MySQL database holding your wiki
mysql> DROP DATABASE wikidb;
Mediawiki database
MySQL
See the internal MySQL link.
- It seems not necessary to create a new user for storing the mediawiki database; root is OK
- The mediawiki database administrator information will not be saved to the database
- The mediawiki user account will be written to the database.
Users
The administrator and users information is saved in the 'user' table of the wiki database. The can be seen by looking at the phpMyAdmin page. LocalSettings.php only saved the database name and username/password in order to get an access.
Format
Preformatted text with text wrap
Search 'Customized preformatted' on the Formatting page.
<pre style="white-space: pre-wrap; /* CSS 3 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* IE 5.5+ */ " > YOUR TEXT </pre>
Color format
See https://meta.wikimedia.org/wiki/Wiki_color_formatting_help for a list of common used colors.
Text is red.
<span style="color: red"> Text is red. </span>
Formatting: Superscript and subscript
Use
<sup>1</sup>
or sub keyword.
Syntax highlight
Use the "syntaxhighlight" (for newer versions of mediawiki) or source (for older versions) tag for inline/non-inline syntax highlight. For example,
library(d3Network) Source <- c("A", "A", "A", "A", "B", "B", "C", "C", "D") Target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I") NetworkData <- data.frame(Source, Target) d3SimpleNetwork(NetworkData, height = 800, width = 1024, file="tmp.html")
can be created by
<source lang="rsplus"> library(d3Network) Source <- c("A", "A", "A", "A", "B", "B", "C", "C", "D") Target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I") NetworkData <- data.frame(Source, Target) d3SimpleNetwork(NetworkData, height = 800, width = 1024, file="tmp.html") </source>
Note for some reason, when I use the syntaxhighlight tag (use syntaxhighlight instead of source tag), 'r' is not recognized on my mediawiki 1.22 although 'bash' works.
This syntax highlight extension package https://github.com/artemklevtsov/MediaWiki-SyntaxHighlight seems more complete. It supports markdown, cpp, r, bash, cxx, ... (no Fortran?) languages. But highlight.js library supports even more.
If we need to use code syntaxhighlight with a list, we shall put the beginning "syntaxhighlight" tag immediately after the paragraph instead of a new line. Putting the tag immediately after the paragraph allows an indentation of the code.
Create tables
- http://www.tablesgenerator.com/mediawiki_tables
- https://www.mediawiki.org/wiki/Help:Tables. If the text in the cell should contain a line break, use <br/> instead.
- Tables with alternative row colors; see an example here.
- The following is an example of a table from the main page of UbuntuGuide.org (link were not modified).
Introduction | Installation | Packages and Repositories |
File Managers | ||||
Desktop Add-ons | Virtual Machines | Games and Entertainment |
Internet |
Mediawiki/Apache has no response
sudo /etc/init.d/apache2 restart
Auto timeout
php.ini
See
- http://www.mediawiki.org/wiki/Manual_talk:Configuration_settings#Auto-Logout
- https://www.mediawiki.org/wiki/Manual:FAQ#…do_I_get_logged_out_constantly?
- https://superuser.com/questions/204905/mediawiki-increase-session-timeout
On ubuntu, change /etc/php5/apache2/php.ini.
session.cache_expire=180 session.gc_maxlifetime = 1440 session.cookie_lifetime = 1440
After modifying php.ini, you need to restart apache. sudo /etc/init.d/apache2 restart
'keep me logged in' option
Make sure to check this option on the login screen.
- https://www.mediawiki.org/wiki/%22Keep_me_logged_in%22_extended_to_one_year/en
- https://www.mediawiki.org/wiki/Manual:$wgCookieExpiration
- https://www.mediawiki.org/wiki/Manual:$wgExtendedLoginCookieExpiration
- https://www.mediawiki.org/wiki/Help:Logging_in
- https://webmasters.stackexchange.com/questions/79907/how-to-set-the-keep-me-logged-in-box-to-true-in-mediawiki-specialuserlogin
Errors and symptoms
https://www.mediawiki.org/wiki/Manual:Errors_and_symptoms
Sorry! We could not process your edit due to a loss of session data. You might have been logged out. Please verify that you're still logged in and try May be related to Cookies. See also Discussion.
favicon
Move favicon.ico to the mediawiki folder and include the following line in the <LocalSettings.php>
$wgFavicon = "$wgScriptPath/favicon.ico";
Note that the attribute of the ico file has to be at least 644. If not, just run the following line
chmod 644 favicon.ico
To download a favicon, use the approach here. For example, to download the favicon icon from https://wiki.ubuntu.com/ website, we just open the url https://wiki.ubuntu.com/favicon.ico.
The approach works is based on the assumption that the favicon.ico file name is not changed and usually located under the website root directory.
Change skin
- https://www.mediawiki.org/wiki/Manual:Skins
- http://www.inmotionhosting.com/support/edu/mediawiki/change-media-wiki-appearance/changing-mediawiki-skins
- https://www.hostknox.com/tutorials/mediawiki/skins
Change user's password
https://www.mediawiki.org/wiki/Manual:Resetting_passwords
tackle slowness when saving pages
- https://www.mediawiki.org/wiki/Manual:Performance_tuning
- https://www.mediawiki.org/wiki/User:Aaron_Schulz/How_to_make_MediaWiki_fast
- Slow MediaWiki: Optimize to Enhance Performance Part 1, Part 2
- Alternative PHP Cache (php-apc)
In summary:
1. Install php-apc. sudo apt-get install php-apc
2. nano LocalSettings.php. Change $wgMainCacheType from CACHE_NONE to CACHE_ACCEL.
$wgMainCacheType = CACHE_ACCEL;
3. (optional) sudo /etc/init.d/apache2 reload
Alternatives to mediawiki
3 Alternatives To MediaWiki When Hosting Your Own Wiki
15 best alternative to MediaWiki?
Article size and its limit
By default the size is 2048 KB. You can modify it in LocalSettings.php.
$wgMaxArticleSize = 100; # 100 KB
To view what the size of the current (and other revisions) of the page is, open the page on the frontend and view its history.
Change/move main page title
How to change MediaWiki “Main Page” title?
Extensions
Google Analytics
http://www.mediawiki.org/wiki/Extension:Google_Analytics_Integration#Installation
ImageMap
https://www.mediawiki.org/wiki/Extension:ImageMap
Math
http://www.mediawiki.org/wiki/Extension:Math
However, Ubuntu does not have a support on Mathoid which can convert math to SVG instead of PNG.
MobileFrontEnd
https://www.mediawiki.org/wiki/Extension:MobileFrontend
WikiEditor
https://www.mediawiki.org/wiki/Extension:WikiEditor
The 2nd line is required from my experience
wfLoadExtension( 'WikiEditor' ); $wgDefaultUserOptions['usebetatoolbar'] = 1;
YouTube
https://www.mediawiki.org/wiki/Extension:YouTube
Trouble shooting
Import images
- dumpUploads.php
- importImages.php
$ php maintenance/dumpUploads.php | grep Boxplot images/2/25/Boxplot.svg $ find images -iname *Boxplot* images/thumb/2/25/Boxplot.svg images/thumb/2/25/Boxplot.svg/120px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/180px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/450px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/600px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/1200px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/400px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/240px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/900px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/300px-Boxplot.svg.png images/thumb/2/25/Boxplot.svg/200px-Boxplot.svg.png
# Get a list of uploaded images, save them to a new folder php maintenance/dumpUploads.php | xargs tar cf ~/Downloads/backup_files.tar mkdir ~/Downloads/imagesdir cp ~/Downloads/backup_files.tar ~/Downloads/imagesdir cd ~/Downloads/imagesdir tar xf backup_files.tar find images -type f -exec cp {} . \; rm *.txt rm *.tar rm -rf images # scp imagesdir to my local computer. Then run php maintenance/importImages.php /mnt # where imagesdir has been mounted to /mnt # For some reason, some images are not imported? chown -R www-data:www-data images
Fatal exception of type "Wikimedia\Rdbms\DBQueryError"
Run php update.php.
Backup for offline
https://webmasters.stackexchange.com/questions/28702/how-to-dump-a-mediawiki-for-offline-use
wget -k -p -r -R '*Special*' -R '*Help*' -E http://example.com/wiki
Mediawiki to Markdown
https://github.com/philipashlock/mediawiki-to-markdown
How to Create Your Own Offline Wiki
https://www.wikihow.com/Create-Your-Own-Offline-Wiki
Comparison of wiki hosting services
https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services