Bitnami MediaWiki Installer

NOTE: Before running the commands shown on this page, you should load the Bitnami stack environment by executing the installdir/use_APPNAME script (Linux and Mac OS X) or by clicking the shortcut in the Start Menu under "Start -> Bitnami APPNAME Stack -> Application console" (Windows). Learn more.
NOTE: When running the commands shown on this page, replace the installdir placeholder with the full installation directory for your Bitnami stack.

Description

MediaWiki is the free and open source wiki software that powers Wikipedia. Used by thousands of organizations, it is extremely powerful, scalable software and a feature-rich wiki implementation.

First steps with the Bitnami MediaWiki Stack

Welcome to your new Bitnami application! Here are a few questions (and answers!) you might need when first starting with your application.

What are the system requirements?

Before you download and install your application, check that your system meets these requirements.

How do I install the Bitnami MediaWiki Stack?

Windows, OS X and Linux installer
  • Download the executable file for the Bitnami MediaWiki Stack from the Bitnami website.

  • Run the downloaded file:

    • On Linux, give the installer executable permissions and run the installation file in the console.
    • On other platforms, double-click the installer and follow the instructions shown.

Check the FAQ instructions on how to download and install a Bitnami Stack for more details.

The application will be installed to the following default directories:

Operating System Directory
Windows C:\Bitnami\APPNAME-VERSION
Mac OS X /Applications/APPNAME-VERSION
Linux /opt/APPNAME-VERSION (running as root user)
OS X VM
  • Download the OS X VM file for the Bitnami MediaWiki Stack from the Bitnami website.
  • Begin the installation process by double-clicking the image file and dragging the WordPress OS X VM icon to the Applications folder.
  • Launch the VM by double-clicking the icon in the Applications folder.

What credentials do I need?

You need application credentials, consisting of a username and password. These credentials allow you to log in to your new Bitnami application.

What is the administrator username set for me to log in to the application for the first time?

  • For Windows, Linux and OS X installers, the username was configured by you when you first installed the application.
  • For OS X VMs, the username can be obtained by clicking the Bitnami badge at the bottom right corner of the application welcome page.

What is the administrator password?

  • For Windows, Linux and OS X installers, the password was configured by you when you first installed the application.
  • For OS X VMs, the password can be obtained by clicking the Bitnami badge at the bottom right corner of the application welcome page.

Where is the PHP configuration file?

The PHP configuration file allows you to configure the modules enabled, the email settings or the size of the upload files. It is located at installdir/php/etc/php.ini (Linux and Mac OS X) or installdir/php/php.ini (Windows).

How to start or stop the services?

Linux

Bitnami native installers include a graphical tool to manage services. This tool is named manager-linux-x64.run on Linux and is located in the installation directory. To use this tool, double-click the file and then use the graphical interface to start, stop or restart services. Server log messages can be checked in the "Server Events" tab.

Management tool

The native installer also includes a command-line script to start, stop and restart applications, named ctlscript.sh. This script can be found in the installation directory and accepts the options start, stop, restart, and status. To use it, log in to the server console and execute it following the examples below:

  • Call it without any service names to start all services:

      $ sudo installdir/ctlscript.sh start
    
  • Use it to restart a specific service only by passing the service name as argument - for example, mysql, postgresql or apache:

      $ sudo installdir/ctlscript.sh restart mysql
      $ sudo installdir/ctlscript.sh restart postgresql
      $ sudo installdir/ctlscript.sh restart apache
    
  • Obtain current status of all services:

      $ installdir/ctlscript.sh status
    

The list of available services varies depending on the required components for each application.

Mac OS X

Bitnami native installers include a graphical tool to manage services. This tool is named manager-osx on Mac OS X and is located in the installation directory. To use this tool, double-click the file and then use the graphical interface to start, stop or restart services. Server log messages can be checked in the "Server Events" tab.

Management tool

The native installer also includes a command-line script to start, stop and restart applications, named ctlscript.sh. This script can be found in the installation directory and accepts the options start, stop, restart, and status. To use it, log in to the server console and execute it following the examples below:

  • Call it without any service names to start all services:

    $ sudo installdir/ctlscript.sh start
    
  • Use it to restart a specific service only by passing the service name as argument - for example, mysql or apache:

     $ sudo installdir/ctlscript.sh restart mysql
     $ sudo installdir/ctlscript.sh restart apache
    
  • Obtain current status of all services:

     $ installdir/ctlscript.sh status
    

The list of available services varies depending on the required components for each application.

NOTE: If you are using the stack manager for Mac OS X-VM, please check the following blog post to learn how to manage services from its graphical tool.

Windows

Bitnami native installers include a graphical tool to manage services. This tool is named manager-windows.exe on Windows and is located in the installation directory. To use this tool, double-click the file and then use the graphical interface to start, stop or restart services. Server log messages can be checked in the "Server Events" tab.

Management tool

The Windows native installer creates shortcuts to start and stop services created in the Start Menu, under "Programs -> Bitnami APPNAME Stack -> Bitnami Service". Servers can also be managed from the Windows "Services" control panel. Services are named using the format APPNAMESERVICENAME, where APPNAME is a placeholder for the application name and SERVICENAME is a placeholder for the service name. For example, the native installer for the Bitnami WordPress Stack installs services named wordpressApache and wordpressMySQL.

These services will be automatically started during boot. To modify this behaviour, refer to the section on disabling services on Windows.

How to configure outbound email settings?

Follow these steps:

  • Install two PEAR packages: Mail and Net_SMTP. Go to the console and run the following command.

     $ sudo pear install mail
     $ sudo pear install net_smtp
    
  • Add the following code to the end of the installdir/apps/mediawiki/htdocs/LocalSettings.php file according to your SMTP server settings. This example shows how to configure it using a Gmail account. Replace USERNAME and PASSWORD with your Gmail account username and password respectively.

     $wgSMTP = array(
             'host' => 'ssl://smtp.gmail.com',
             'IDHost' => 'gmail.com',
             'port' => 465,
             'username' => 'USERNAME@gmail.com',
             'password' => 'PASSWORD',
             'auth' => true
     );
    
  • Restart the servers.

To configure the application to use other third-party SMTP services for outgoing email, such as SendGrid or Mandrill, refer to the FAQ.

Troubleshooting Gmail SMTP issues

If you are using Gmail as the outbound email server and you are not able to send email correctly, Google may be blocking sign-in attempts from your apps or devices. Depending on whether or not you use Google Apps, the steps to correct this will differ.

For Google Apps users

If you are a Google Apps user, you will need your administrator to allow users to change the policy for less secure apps. If you are a Google Apps administrator, follow these steps:

  • Browse to the Google Apps administration panel.

  • Click on "Security" and then "Basic settings".

  • Look for the section "Less secure apps" and then click on "Go to settings for less secure apps".

  • Select "Allow users to manage their access to less secure apps".

For other Google users

If you do not use Google Apps, follow the steps in the following sections, depending on whether 2-step verification has been enabled on the account or not.

If 2-step verification has not been enabled on the account, follow these steps:

  • Browse to the "Less secure apps" page and log in using the account you are having problems with. This option is typically required by many popular email clients, such as Outlook and Thunderbird, and should not be considered unsafe.

  • Select the "Turn on" option.

    Security settings

If 2-step verification has been enabled on the account, you have to generate an app password. Follow these steps:

  • Browse to the "App passwords" page.

  • Click "Select app" and choose the app you're using.

  • Click "Select device" and choose the device you're using.

  • Click the "Generate" button.

  • Enter the app password on your device.

  • Click the "Done" button.

Here are other options you may try:

  • Browse to the web version of Gmail and sign in to your account. Once you're signed in, try to enable access for the application again.

  • Browse to the "Unlock Captcha" function page and sign in with your Gmail username and password.

  • Disable IMAP from the Gmail web server interface and enable it again.

    IMAP settings

How to install a plugin on MediaWiki?

Refer to the other sections in this document for specific plugin information.

How to create a full backup of MediaWiki?

The Bitnami MediaWiki Stack is self-contained and the simplest option for performing a backup is to copy or compress the Bitnami stack installation directory. To do so in a safe manner, you will need to stop all servers, so this method may not be appropriate if you have people accessing the application continuously.

NOTE: If you want to create only a database backup, refer to these instructions for MySQL and PostgreSQL.

Backup on Linux and Mac OS X

Follow these steps:

  • Change to the directory in which you wish to save your backup.

     $ cd /your/directory
    
  • Stop all servers.

     $ sudo installdir/ctlscript.sh stop
    
  • Create a compressed file with the stack contents.

     $ sudo tar -pczvf application-backup.tar.gz installdir
    
  • Start all servers.

     $ sudo installdir/ctlscript.sh start
    
  • Download or transfer the application-backup.tar.gz file to a safe location.

You should now download or transfer the application-backup.tar.gz file to a safe location.

Backup on Windows

Follow these steps:

  • Stop all servers using the shortcuts in the Start Menu or the graphical manager tool.

  • Create a compressed file with the stack contents. You can use a graphical tool like 7-Zip or WinZip or just right-click the folder, click "Send to", and select the "Compressed (zipped) folder" option.

  • Download or transfer the compressed file to a safe location.

  • Start all servers using the shortcuts in the Start Menu or the graphical manager tool.

Restore on Linux and Mac OS X

Follow these steps:

  • Change to the directory containing your backup:

    $ cd /your/directory
    
  • Stop all servers.

    $ sudo installdir/ctlscript.sh stop
    
  • Move the current stack to a different location:

    $ sudo mv installdir /tmp/bitnami-backup
    
  • Uncompress the backup file to the original directory:

    $ sudo tar -pxzvf application-backup.tar.gz -C /
    
  • Start all servers.

    $ sudo installdir/ctlscript.sh start
    
IMPORTANT: When restoring, remember to maintain the original permissions for the files and folders. For example, if you originally installed the stack as the root user on Linux, make sure that the restored files are owned by root as well.

Restore on Windows

  • Change to the directory containing your backup:

       $ cd /your/directory
    
  • Stop all servers using the shortcuts in the Start Menu or the graphical manager tool.

  • Uninstall the previous services by executing the following command:

        $ serviceinstall.bat
    
  • Create a safe folder named Backups in the desktop and move the current stack to it. Remember to replace PATH with the right location of your folder:

        $ move installdir \PATH\Backups
    
  • Uncompress the backup file using a tool like 7-Zip or Winzip or just double-click the .zip file to uncompress it, and move it to the original directory.
  • Install services by running the following commands from an elevated command prompt:

      $ cd installdir
      $ serviceinstall.bat INSTALL
    
  • Start all servers using the shortcuts in the Start Menu or the graphical manager tool.

How to upgrade MediaWiki?

It is strongly recommended that you create a backup before starting the update process. If you have important data, it is advisable that you create and try to restore a backup to ensure that everything works properly.

Migrating the database from an old version to a new one

To migrate the database from an old version to a new one, follow these steps:

  • Launch a new MediaWiki cloud server instance.

  • Copy the database backup to the new server.

  • Stop all servers and start only MySQL.

     $ sudo installdir/ctlscript.sh stop
     $ sudo installdir/ctlscript.sh start mysql
    
  • Remove the previous database and create the new one. You can configure the database user password with a secure password.

     $ mysql -u root -p 
     Password: ****
     mysql> drop database bitnami_mediawiki;
     mysql> create database bitnami_mediawiki;
     mysql> grant all privileges on bitnami_mediawiki.* to 'bn_mediawiki'@'localhost' identified by 'DATABASE_PASSWORD';
    
  • Restore the new database:

     $ mysql -u root -p bitnami_mediawiki < backup.sql
    
  • Edit the MediWiki configuration file to update the database user password (the same that you set previously) at installdir/apps/mediawiki/htdocs/LocalSettings.php:

     $wgDBpassword = "DATABASE_PASSWORD";
    
  • Copy the installdir/apps/mediawiki/htdocs/files directory from the old installation to the new one.

  • If you have installed plugins in the previous version, copy the folders from the vendor/plugins directory into the new installation directory, into the plugins directory.

  • Restart the servers.

      $ sudo installdir/ctlscript.sh restart
    

How to upgrade the MediaWiki database?

You can upgrade the MediaWiki database in two ways: from the command line or from the web browser (since version 1.17). Upgrading from the command line is recommended, since this reduces the risk of the upgrade process being interrupted by a timeout or connection reset.

Command-line upgrade
  • Make sure that your web server (such as Apache) and your database sever (such as MySQL) are running.

  • From the command line execute:

     $ cd installdir/apps/mediawiki/htdocs
     $ php maintenance/update.php
    

MediaWiki will inspect the existing schema and update it to work with the new code, adding tables and columns as needed. If you use a shared database, you should pass the --doshared parameter if you want the shared tables to be updated. Otherwise they won't be touched by the update script.

Web browser upgrade
NOTE: If your database is already large in size and in high production usage, then you should not be using the Web updater, as the update process might time out when the script's maximum execution time is reached. In that case you should use the command-line interface (not from the web). Always backup before performing database maintenance.

Follow these steps:

  • Navigate your browser to /mw-config/. For example, if your wiki is at mydomain.com/mediawiki/Main_Page, then navigate to mydomain.com/mediawiki/mw-config/.

  • Select your language and click continue.

  • The existing installation should be detected. Follow the instructions on the screen to upgrade it. If asked for the "upgrade key", open installdir/apps/mediawiki/htdocs/LocalSettings.php file and look for the key assigned to $wgUpgradeKey.

How to enable HTTPS support with SSL certificates?

NOTE: The steps below assume that you are using a custom domain name and that you have already configured the custom domain name to point to your cloud server.

Bitnami images come with SSL support already pre-configured and with a dummy certificate in place. Although this dummy certificate is fine for testing and development purposes, you will usually want to use a valid SSL certificate for production use. You can either generate this on your own (explained here) or you can purchase one from a commercial certificate authority.

Once you obtain the certificate and certificate key files, you will need to update your server to use them. Follow these steps to activate SSL support:

  • Use the table below to identify the correct locations for your certificate and configuration files.

    Variable Value
    Current application URL https://[custom-domain]/
      Example: https://my-domain.com/ or https://my-domain.com/appname
    Apache configuration file installdir/apache2/conf/bitnami/bitnami.conf
    Certificate file installdir/apache2/conf/server.crt
    Certificate key file installdir/apache2/conf/server.key
    CA certificate bundle file (if present) installdir/apache2/conf/server-ca.crt
  • Copy your SSL certificate and certificate key file to the specified locations.

    NOTE: If you use different names for your certificate and key files, you should reconfigure the SSLCertificateFile and SSLCertificateKeyFile directives in the corresponding Apache configuration file to reflect the correct file names.
  • If your certificate authority has also provided you with a PEM-encoded Certificate Authority (CA) bundle, you must copy it to the correct location in the previous table. Then, modify the Apache configuration file to include the following line below the SSLCertificateKeyFile directive. Choose the correct directive based on your scenario and Apache version:

    Variable Value
    Apache configuration file installdir/apache2/conf/bitnami/bitnami.conf
    Directive to include (Apache v2.4.8+) SSLCACertificateFile "installdir/apache2/conf/server-ca.crt"
    Directive to include (Apache < v2.4.8) SSLCertificateChainFile "installdir/apache2/conf/server-ca.crt"
    NOTE: If you use a different name for your CA certificate bundle, you should reconfigure the SSLCertificateChainFile or SSLCACertificateFile directives in the corresponding Apache configuration file to reflect the correct file name.
  • Once you have copied all the server certificate files, you may make them readable by the root user only with the following commands:

     $ sudo chown root:root installdir/apache2/conf/server*
    
     $ sudo chmod 600 installdir/apache2/conf/server*
    
  • Open port 443 in the server firewall. Refer to the FAQ for more information.

  • Restart the Apache server.

You should now be able to access your application using an HTTPS URL.

How to create an SSL certificate?

OpenSSL is required to create an SSL certificate. A certificate request can then be sent to a certificate authority (CA) to get it signed into a certificate, or if you have your own certificate authority, you may sign it yourself, or you can use a self-signed certificate (because you just want a test certificate or because you are setting up your own CA).

Follow the steps below for your platform.

Linux and Mac OS X

NOTE: OpenSSL will typically already be installed on Linux and Mac OS X. If not installed, install it manually using your operating system's package manager.

Follow the steps below:

  • Generate a new private key:

     $ sudo openssl genrsa -out installdir/apache2/conf/server.key 2048
    
  • Create a certificate:

     $ sudo openssl req -new -key installdir/apache2/conf/server.key -out installdir/apache2/conf/cert.csr
    
    IMPORTANT: Enter the server domain name when the above command asks for the "Common Name".
  • Send cert.csr to the certificate authority. When the certificate authority completes their checks (and probably received payment from you), they will hand over your new certificate to you.

  • Until the certificate is received, create a temporary self-signed certificate:

     $ sudo openssl x509 -in installdir/apache2/conf/cert.csr -out installdir/apache2/conf/server.crt -req -signkey installdir/apache2/conf/server.key -days 365
    
  • Back up your private key in a safe location after generating a password-protected version as follows:

     $ sudo openssl rsa -des3 -in installdir/apache2/conf/server.key -out privkey.pem
    

    Note that if you use this encrypted key in the Apache configuration file, it will be necessary to enter the password manually every time Apache starts. Regenerate the key without password protection from this file as follows:

     $ sudo openssl rsa -in privkey.pem -out installdir/apache2/conf/server.key
    

Windows

NOTE: OpenSSL is not typically installed on Windows. Before following the steps below, download and install a binary distribution of OpenSSL.

Follow the steps below once OpenSSL is installed:

  • Set the OPENSSL_CONF environment variable to the location of your OpenSSL configuration file. Typically, this file is located in the bin/ subdirectory of your OpenSSL installation directory. Replace the OPENSSL-DIRECTORY placeholder in the command below with the correct location.

     $ set OPENSSL_CONF=C:\OPENSSL-DIRECTORY\bin\openssl.cfg
    
  • Change to the bin/ sub-directory of the OpenSSL installation directory. Replace the OPENSSL-DIRECTORY placeholder in the command below with the correct location.

     $ cd C:\OPENSSL-DIRECTORY\bin
    
  • Generate a new private key:

     $ openssl genrsa -out installdir/apache2/conf/server.key 2048
    
  • Create a certificate:

     $ openssl req -new -key installdir/apache2/conf/server.key -out installdir/apache2/conf/cert.csr
    
    IMPORTANT: Enter the server domain name when the above command asks for the "Common Name".
  • Send cert.csr to the certificate authority. When the certificate authority completes their checks (and probably received payment from you), they will hand over your new certificate to you.

  • Until the certificate is received, create a temporary self-signed certificate:

     $ openssl x509 -in installdir/apache2/conf/cert.csr -out installdir/apache2/conf/server.crt -req -signkey installdir/apache2/conf/server.key -days 365
    
  • Back up your private key in a safe location after generating a password-protected version as follows:

     $ openssl rsa -des3 -in installdir/apache2/conf/server.key -out privkey.pem
    

    Note that if you use this encrypted key in the Apache configuration file, it will be necessary to enter the password manually every time Apache starts. Regenerate the key without password protection from this file as follows:

     $ openssl rsa -in privkey.pem -out installdir/apache2/conf/server.key
    

Find more information about certificates at http://www.openssl.org.

How to force HTTPS redirection?

Add the following to the top of the installdir/apps/mediawiki/conf/httpd-prefix.conf file:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

After modifying the Apache configuration files:

  • Open port 443 in the server firewall. Refer to the FAQ for more information.

  • Restart Apache to apply the changes.

How to debug Apache errors?

Once Apache starts, it will create two log files at installdir/apache2/logs/access_log and installdir/apache2/logs/error_log respectively.

  • The access_log file is used to track client requests. When a client requests a document from the server, Apache records several parameters associated with the request in this file, such as: the IP address of the client, the document requested, the HTTP status code, and the current time.

  • The error_log file is used to record important events. This file includes error messages, startup messages, and any other significant events in the life cycle of the server. This is the first place to look when you run into a problem when using Apache.

If no error is found, you will see a message similar to:

Syntax OK

How to find the database credentials?

  • Database username: root.
  • Database password: The password entered during the installation process.

How to connect to the MySQL database?

You can connect to the MySQL database from the same computer where it is installed with the mysql client tool.

$ mysql -u root -p

You will be prompted to enter the root user password. This is the same as the application password.

How to debug errors in your database?

The main log file is created at installdir/mysql/data/mysqld.log on the MySQL database server host.

How to change the MySQL root password?

You can modify the MySQL password using the following command at the shell prompt. Replace the NEW_PASSWORD placeholder with the actual password you wish to set.

$ installdir/mysql/bin/mysqladmin -p -u root password NEW_PASSWORD

How to reset the MySQL root password?

If you don't remember your MySQL root password, you can follow the steps below to reset it to a new value:

  • Create a file in /home/bitnami/mysql-init with the content shown below (replace NEW_PASSWORD with the password you wish to use):

     UPDATE mysql.user SET Password=PASSWORD('NEW_PASSWORD') WHERE User='root';
     FLUSH PRIVILEGES;
    

    If your stack ships MySQL v5.7.x, use the following content instead of that shown above:

     UPDATE mysql.user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE User='root';
     FLUSH PRIVILEGES;
    
    TIP: Check the MySQL version with the command installdir/mysql/bin/mysqladmin --version or installdir/mysql/bin/mysqld --version.
  • Stop the MySQL server:

     $ sudo installdir/ctlscript.sh stop mysql
    
  • Start MySQL with the following command:

     $ sudo installdir/mysql/bin/mysqld_safe --pid-file=installdir/mysql/data/mysqld.pid --datadir=installdir/mysql/data --init-file=/home/bitnami/mysql-init 2> /dev/null &
    
  • Restart the MySQL server:

     $ sudo installdir/ctlscript.sh restart mysql
    
  • Remove the script:

     $ rm /home/bitnami/mysql-init
    

How to change the MySQL root password in Windows?

You can modify the MySQL password using the following command at the shell prompt. Replace the NEW_PASSWORD placeholder with the actual password you wish to set.

installdir\mysql\bin\mysqladmin.exe -p -u root password NEW_PASSWORD

How to reset the MySQL root password in Windows?

If you don't remember your MySQL root password, you can follow the steps below to reset it to a new value:

  • Stop the MySQL server using the graphic manager tool. Refer to the how to start or stop the services section.
  • Check the MySQL version:

    installdir\mysql\bin\mysqladmin.exe –version

  • Create a file named mysql-init.txt with the content shown below depending on your MySQL version (replace NEW_PASSWORD with the password you wish to use):
    • MySQL 5.6.x or earlier:

       UPDATE mysql.user SET Password=PASSWORD('NEW_PASSWORD') 
       WHERE User='root';
       FLUSH PRIVILEGES;
      
    • MySQL 5.7.x or later:

       ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD'; 
      
  • Start MySQL server with the following command. Remember to replace PATH with the location in which you have saved the mysql-init.txt file:

     installdir " installdir\mysql\bin\mysqld.exe" --defaults-file=" installdir\mysql\my.ini" --init-file="\PATH\mysql-init.txt" --console
    
    • The --init file option is used by the server for executing the content of the mysql-init.txt file at startup, it will change each root account password.
    • The --defaults-file option is specified since you have installed MySQL using the Bitnami installer.
    • The --console option (optional) has been added in order to show the server output at the console window rather than in the log file.
  • After some minutes, hit Ctrl-C to force the shutdown.
  • Restart the MySQL server from the graphic manager tool.
  • After the server has restarted successfully, delete the mysql-init.txt file.

How to access phpMyAdmin?

You should be able to access phpMyAdmin directly, by browsing to http://127.0.0.1/phpmyadmin.

The username is root for phpMyAdmin, and the password is the one specified by you during the installation process.

How to modify PHP settings?

The PHP configuration file allows you to configure the modules enabled, the email settings or the size of the upload files. It is located at installdir/php/etc/php.ini.

For example, to modify the default upload limit for PHP, update the PHP configuration file following these instructions.

After modifying the PHP configuration file, restart both Apache and PHP-FPM for the changes to take effect:

$ sudo installdir/ctlscript.sh restart apache
$ sudo installdir/ctlscript.sh restart php-fpm

How to modify the allowed limit for uploaded files?

Modify the following options in the installdir/php/etc/php.ini file to increase the allowed size for uploads:

; Maximum size of POST data that PHP will accept.
post_max_size = 16M

; Maximum allowed size for uploaded files.
upload_max_filesize = 16M

Restart PHP-FPM and Apache for the changes to take effect.

$ sudo installdir/ctlscript.sh restart apache
$ sudo installdir/ctlscript.sh restart php-fpm    

How to install Collection extension on MediaWiki?

The Collection extension allows you to organize personal selections of pages in a collection. To do it, the extension uses a public render server where the jobs are sent and processed.

Please keep in mind that if your Mediawiki installation is not public (it is a local installation or it can't be accessed from the Internet), you will need to install your own Render Server. The Collection developers have some suggestions about it here.

To install the Collection plugin, please follow the steps below:

  • Download the latest Collection version from the official Mediawiki extension page.

  • Uncompress the downloaded file in the Mediawiki extensions directory. The command below should create the Collection directory in the Mediawiki extensions directory:

     $ tar -xzf Collection-*.tar.gz -C installdir/apps/mediawiki/htdocs/extensions
    
  • Add the Collection plugin to the Mediawiki LocalSettings.php file:

     $ echo 'require_once "$IP/extensions/Collection/Collection.php";' >> installdir/apps/mediawiki/htdocs/LocalSettings.php
    

Once you have completed all the steps above, you should see new options in the MediaWiki menu:

MediaWiki Collection extension

If you already have your own Renderserver, remember to add the URL in installdir/apps/mediawiki/htdocs/LocalSettings.php, as below:

  $wgCollectionMWServeURL = "http://RENDERSERVER_IP:PORT";

How to install Math extension on MediaWiki?

If you want to install the Math extension on MediaWiki, please follow these steps:

  • Go to the MediaWiki extensions directory:

     $ cd installdir/apps/mediawiki/htdocs/extensions
    
  • Download the extension from https://www.mediawiki.org/wiki/Extension:Math:

     $ wget https://extdist.wmflabs.org/dist/extensions/Math-REL1_25-2998273.tar.gz
    
  • Extract the code:

     $ tar -xzf Math-REL1_25-2998273.tar.gz
    
  • Edit the permissions

     $ sudo chmod 775 Math/
     $ sudo chown -R bitnami:daemon Math/
    
  • Edit the installdir/apps/mediawiki/htdocs/LocalSettings.php file and add this code at the end of the file

     require_once ( "$IP/extensions/Math/Math.php" );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.

     $ cd installdir/apps/mediawiki/htdocs
     $ php maintenance/update.php
    
  • Check that Math extension is installed by visiting the page Special:Version in your MediaWiki installation. You will see something like the image below:

MediaWiki Math extension

How to install MultimediaViewer extension on MediaWiki?

The MultimediaViewer extension gives wiki users a different interface for viewing full-size, or nearly full-size, images in their browser without extraneous page loads or confusing interstitial pages.

To install the MultimediaViewer plugin, please follow the steps below:

  • Download the latest MultimediaViewer version from the official Mediawiki extension page.

  • Uncompress the downloaded file in the extensions directory of Mediawiki. The command below should create the Collection directory in the Mediawiki extensions directory:

     $ tar -xzf MultimediaViewer-*.tar.gz -C installdir/apps/mediawiki/htdocs/extensions
    
  • Add the MultimediaViewer plugin to the Mediawiki LocalSettings.php file:

     require_once "$IP/extensions/MultimediaViewer/MultimediaViewer.php";
    

If you have enabled PageSpeed you will need to disable it for the images directory. To do this, edit the file installdir/apps/mediawiki/conf/htaccess.conf and modify the Directory directive for that directory. The Directory directive should look like this:

  <Directory "installdir/apps/mediawiki/htdocs/images">
  # Protect against bug 28235
  <IfModule rewrite_module>
          RewriteEngine On
          RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
          RewriteRule . - [forbidden]
  </IfModule>
  ModPagespeed off
  </Directory>

How to install ParserFunctions extension on MediaWiki?

If you want to install the ParserFunctions extension on MediaWiki, please follow these steps:

  • Go to the MediaWiki extensions directory:

     $ cd installdir/apps/mediawiki/htdocs/extensions
    
  • Create the ParserFunctions directory:

     $ mkdir ParserFunctions
    
  • Change to the new directory:

     $ cd ParserFunctions
    
  • Download the extension from http://www.mediawiki.org/wiki/Extension:VisualEditor.

     $ wget -O parserfunctions.zip https://git.wikimedia.org/zip/?r=mediawiki/extensions/ParserFunctions&h=refs/heads/master&format=gz && unzip parserfunctions.zip
    
  • Edit the installdir/apps/mediawiki/htdocs/LocalSettings.php file and add this code at the end of the file:

     require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );
    
  • If you want to use the integrated string functionality, add just after that line:

     $wgPFEnableStringFunctions = true;
    
  • Restart the Apache server

     $ sudo installdir/ctlscript.sh restart apache
    

How to install Parsoid extension on MediaWiki?

If you want to install the Parsoid extension on MediaWiki, please follow these steps:

  • Go to the MediaWiki extensions directory:

     $ cd installdir/apps/mediawiki/htdocs/extensions
    
  • Download the extension from https://www.mediawiki.org/wiki/Extension:Parsoid.

     $ wget https://extdist.wmflabs.org/dist/extensions/Parsoid-REL1_25-f5500c1.tar.gz
    
  • Extract the code:

     $ tar -xzf Parsoid-REL1_25-f5500c1.tar.gz
    
  • Edit the installdir/apps/mediawiki/htdocs/LocalSettings.php file and add this code at the end of the file

     wfLoadExtension( 'Parsoid' );
    
  • Restart the Apache server

     $ sudo installdir/ctlscript.sh restart apache
    
  • Check that Parsoid extension is installed by visiting page Special:Version in your MediaWiki page. You will see something like this:

    MediaWiki Parsoid extension

NOTE: If you are using MediaWiki 1.24 or earlier, you will need to add the line below to your LocalSettings.php file instead.
  require_once "$IP/extensions/Parsoid/Parsoid.php";

How to configure plugins that use Python?

Some MediaWiki plugins require Python to function correctly. The MediaWiki installers do not include Python, so you must first download and install Python for your platform.

Once done, some plugins require additional configuration steps on Windows, so you should consult the plugin's documentation for information on additional steps required and how to specify the path to Python.

How to install Semantic Bundle extension?

Semantic Bundle (abbreviated as SB) is a pre-packaged bundle of extensions for use with wikis that are based around the Semantic MediaWiki extension. It is a suitable alternative if you cannot run Composer to install or upgrade SMW (1.9+) and a number of other extensions that require Composer, such as Maps (3.0+). Do not run Composer if you want to install Semantic Bundle.

Follow these steps:

  • Download the ZIP or TGZ archive and unzip it to installdir/apps/mediawiki/htdocs/extensions/. For example, assuming you downloaded the archive in /tmp:

     $ cd installdir/apps/mediawiki/htdocs/extensions/
     $ unzip /tmp/SemanticBundle-20140514.zip
    
  • Change to the extension directory and create the configuration file:

     $ cd installdir/apps/mediawiki/htdocs/extensions/SemanticBundle
     $ cp SemanticBundleSettings.sample.php SemanticBundleSettings.php
    
  • Include the SemanticBundleSettings.php and SemanticBundle.php files in the installdir/apps/mediawiki/htdocs/LocalSettings.php file:

     require_once( "$IP/extensions/SemanticBundle/SemanticBundleSettings.php" );
     require_once( "$IP/extensions/SemanticBundle/SemanticBundle.php" );
    
  • Log in to MediaWiki as an administrator.

  • Navigate to the page at http://DOMAIN/mediawiki/Special:SMWAdmin and click the "Initialize or upgrade tables" button.

  • After successful initialization, edit the installdir/apps/mediawiki/htdocs/extensions/SemanticBundle/SemanticBundleSettings.php file and uncomment the extensions you would like to use.

NOTE: It's strongly recommended to initialize Semantic MediaWiki before you include (uncomment) any of the other SemanticBundle extensions, to avoid potential errors from extensions that require Semantic MediaWiki .

How to install Semantic MediaWiki extension on MediaWiki with Composer?

You can install Semantic MediaWiki using composer. To do so, please run the following commands:

$ cd  installdir/apps/mediawiki/htdocs
$ php installdir/php/bin/composer.phar update
$ php installdir/php/bin/composer.phar require mediawiki/semantic-media-wiki "~2.0"
$ php maintenance/update.php

If the last command (update.php) wasn't successful, please try updating from the browser following these steps.

Finally, enable semantics for your domain, adding this line at the end of your installdir/apps/mediawiki/htdocs/LocalSettings.php. You need to use your own MediaWiki domain instead of example.com:

enableSemantics( 'example.com' );

If you get a warning like this:

Warning: This development build of composer is over 30 days old. It is recommended to update it by running "installdir/php/bin/composer.phar self-update" to get the latest version.

Execute the suggested command and try the steps again. Refer to this page for more information.

How to install VisualEditor extension on MediaWiki?

If you want to install the VisualEditor extension on MediaWiki, please follow these steps:

  • Install git:

     $ sudo apt update
     $ sudo apt install git
    
  • Go to the MediaWiki extensions directory:

     $ cd installdir/apps/mediawiki/htdocs/extensions
    
  • Download the VisualEditor repo. Change REL1_28 for major version branch (e.g. MediaWiki 1.26.1 should use REL1_26):

     $ git clone -b REL1_28 https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git
     $ cd VisualEditor
     $ git submodule update --init
    
  • Edit the installdir/apps/mediawiki/htdocs/LocalSettings.php file and add this code at the end of the file:

     wfLoadExtension( 'VisualEditor' );
    
     // OPTIONAL: Enable VisualEditor in other namespaces
     // By default, VE is only enabled in NS_MAIN
     //$wgVisualEditorNamespaces[] = NS_PROJECT;
    
     // Enable by default for everybody
     $wgDefaultUserOptions['visualeditor-enable'] = 1;
    
     // Don't allow users to disable it
     $wgHiddenPrefs[] = 'visualeditor-enable';
    
     // OPTIONAL: Enable VisualEditor's experimental code features
     //$wgVisualEditorEnableExperimentalCode = true;
    
  • Restart the Apache server:

     $ sudo installdir/ctlscript.sh restart apache
    
NOTE: You will be able to use VisualEditor to create new Wiki Pages, but not to edit them. If you want to use VisualEditor to edit them, you will need to follow the official Parsoid installation guide.

How to optimize MediaWiki?

Enable page caching by adding the following entries to the end of the installdir/apps/mediawiki/htdocs/LocalSettings.php file:

$wgUseFileCache = true; /* default: false */
$wgFileCacheDirectory = "$IP/cache";
$wgShowIPinHeader = false;

Execute this command to set proper directory permissions:

$ sudo chmod g+w installdir/apps/mediawiki/htdocs/cache

For more information, refer to these resources:

How to change the MediaWiki URLs to pretty URLs?

NOTE: Pretty links have been included by default in Bitnami MediaWiki for Unix systems since version 1.22.2-1. It is not possible to include them in in Windows systems, due to the colon (:) in the Special pages URL. This is described at https://issues.apache.org/bugzilla/show_bug.cgi?id=41441.

The following steps should be performed to convert MediaWiki URLs to pretty URLs:

  • Add the following lines to the installdir/apps/mediawiki/conf/httpd-app.conf file, inside the Directory directive

     <Directory "installdir/apps/mediawiki/htdocs">
     ....
     RewriteEngine On
     RewriteBase /mediawiki/
     RewriteRule ^index\.php$ - [S=1]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . /mediawiki/index.php [L]
     ...
     </Directory>
    
  • Add the following lines at the end of the installdir/apps/mediawiki/htdocs/LocalSettings.php file:

     $wgArticlePath = "/mediawiki/$1";
     $wgUsePathInfo = true;
    
  • Restart the server.

All the links will now be "pretty" links.

nativeInstaller