Manual:Running MediaWiki on GNU/Linux

Required software edit

A Web server with:

These instructions assume you are using Linux and Apache, and that LAMP (Linux, Apache, MySQL, PHP) is already set up on your machine. It is possible to use other database servers such as PostgreSQL 8.1 or later.

Installation (from a Linux perspective) edit

You may prefer to see the general Installation instructions. The following installation steps give a quick overview from a Linux only perspective:

  1. Download MediaWiki: Download or see Download from Git
  2. If you downloaded a gzipped file, unzip the source files in some directory: tar zxvf mediawiki-x.y.z.tar.gz.
    (If you are not an experienced Linux user and you have WinRAR (like WinZip but works with gzipped files) on your Windows system you can cheat a little bit here. You can download the file to your Windows machine, use WinRAR to unzip the gzipped file into a directory in Windows and then use an FTP program like WS_FTP Pro to transfer the entire wiki directory for you. afaik, alternatively you can do this with 7-zip from 7-zip.org, which is open source with no nag-ware.)
  3. The new web-based install usually does not require root access. If for some reason you are using the old installation you might need to use commands such as: su - and mv /path_to_mediawiki_unzip_dir/. At this point you should also read the README, RELEASE-NOTES, INSTALL inside the mediawiki-x.y.z directory. However, keep in mind that either those files or this guide may be outdated, in which case someone else would appreciate your updates to this page after you're done :)
  4. Move the directory into your web directory: e.g. mv mediawiki-x.y.z /usr/local/apache/htdocs/wiki or mv mediawiki-x.y.z public_html/wiki or use your FTP software to do this for you.
  5. Now you need to set up the databases on which you will store your wiki. In Cpanel you can click on MySQL Databases. You will need to Add Db with the name you want to call your database, Add User to create a user with access to this database, then Add User to Db to connect that user to the database. Remember all this information because you will need it when you run the MediaWiki install script. Finally click on phpMyAdmin at the bottom of the MySQL Account Maintenance page in Cpanel to check your information and get MySQL running.
  6. To run the install script, you'll need to temporarily make the 'config' subdirectory writable by the web server. The simplest way to do this on a Unix/Linux system is to make it world-writable by typing: chmod -R a+w mw-config in the directory you intend to install MediaWiki in. To do this you will need a telnet client like PuTTY on your system. Note: On some newer Linux distributions you will also need to change the SELinux file type (see below)
  7. If you run the script and you get an error saying the script is unable to write to the tmp directory you may need to change the permissions for the tmp directory in your root. If you are installing on a new system you may need to change this. Often this directory will be already set up with write permission granted, so you can skip this step and come back if you run into a problem. To change the permissions for the tmp directory go into the root directory and type: chmod -R a+w tmp You typically must have root access in order to change the permissions to this directory. If you get an error message and you don't have root access then you will need to contact your service provider.
  8. At this point you should have Apache and MySQL running (this varies between distributions and setups, see their documentations for specifics). If you follow the steps above you really don't need to worry about this as they will be running automatically. Anyway, the install worked for me.
  9. Go to your browser and surf into the wiki directory. It'll direct you into the config script (if it doesn't, just load up the mediawiki-1.3.0beta4/config/index.php file). Fill out the form...remember you're probably not on an encrypted connection. Gaaah! :)
  10. If all goes well, you should soon be told that it's set up your wiki database and written a configuration file. There should now be a 'LocalSettings.php' in the config directory; move it back up to the main wiki directory, and the wiki should now be working.
  11. Once the wiki is set up, you should remove the config directory, or at least make it not world-writable (though it will refuse to config again if the wiki is set up) using again chmod -R a-w mw-config. If you changed the tmp directory you can probably leave this as is so you can install other software on your system.

SElinux edit

Linux distributions which support SELinux (Security-Enhanced Linux) are becoming more widespread. On such systems, PHP scripts will still be unable to write to the config directory after you have set the normal file permissions. You will also need to use the 'chcon' command to change the SELinux file type. See SELinux for more information.

Platform specific instructions edit

See Manual:OS specific help for installation instructions for several common Linux distributions, as well for instructions for different operating systems.

Related topics edit