Manual:Running MediaWiki on Red Hat Linux

Introduction
This article gives detailed instructions for people who want to run MediaWiki on a Red Hat Linux platform.

''Important note: you should consider moving to Fedora Core, as Red Hat Linux is now only supported by the Fedora Legacy project. If you run Red Hat Linux on a public-facing server, you SHOULD NOT use anything other than version 7.3 or version 9, and enable Fedora Legacy on your box if you are using one of those two versions.''

For information on running MediaWiki on Fedora Core, see Manual:Running MediaWiki on Fedora Core.

Prerequisites: Quick Installation of Apache, MySQL and PHP
The major difficulties to installing Mediawiki lie in the correct installation of Apache, MySQL and PHP. The official way to do it in RHEL v4 is to subscribe to the Red Hat Web Application Stack 1.0 Beta subchannel in the Red Hat Network. If this is not available, this can be obviated by using the xampp which contains all three of these, properly configured for use by MediaWiki.

This can be found at: http://www.apachefriends.org/en/xampp.html

Alternatively you can install the three packages separately from your Red Hat or via any third party compilation and packaging effort. In that case you'll want to read a good tutorial on setting up a so-called LAMP environment.

One such tutorial, for Redhat 9, using yum, can be found at:

http://users.tkk.fi/~tkarvine/lamp-linux-apache-mysql-php.html

Install MediaWiki on Red Hat Enterprise Linux 6 or CentOS 6.4
Almost everything must be done as superuser.

Install operating system packages
Using the Red Hat package system: yum install httpd php php-mysql php-gd mysql-server php-xml mysql

Database (MySQL) post-install configuration
Start MySQL and secure it service mysqld start mysql_secure_installation

Log into MySQL monitor: mysql -u root -p

Create the wiki user: CREATE USER 'wiki'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED'; Remember the 'wiki' password for MySQL that you create here. You will need it when setting up the wiki database. You can test it with: mysql -u wiki -p

CREATE DATABASE database name; For example: CREATE DATABASE wikidatabase; To view if it was created: SHOW DATABASES;

Grant privileges: GRANT ALL PRIVILEGES ON *.* TO 'wiki'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED' WITH GRANT OPTION; FLUSH PRIVILEGES; exit For example: GRANT ALL PRIVILEGES ON wikidatabase.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'Pippo123456?' WITH GRANT OPTION; FLUSH PRIVILEGES; exit

To display what has been granted: SHOW GRANTS;

Autostart webserver and database daemons (services)
Make sure Apache and MySQL start on boot

chkconfig httpd on chkconfig mysqld on

Install mediawiki tarball ("sources")
You can install mediawiki directly from the mediawiki web site (recommended), see below for installing pre-built packages from EPEL.

Download mediawiki directly (the current version as of this writing, may have changed since) in some directory of your choice. Here I put it in /root.

cd /root wget http://releases.wikimedia.org/mediawiki//mediawiki-.tar.gz Also it works with: curl -O http://releases.wikimedia.org/mediawiki//mediawiki-.tar.gz

(Optional, but recommended) Download the GPG signature for the tarball and verify the tarball's integrity: curl -O http://releases.wikimedia.org/mediawiki//mediawiki-.tar.gz.sig gpg --verify mediawiki-.tar.gz.sig mediawiki-.tar.gz

Install. Use a symlink for easy upgrades. cd /var/www tar -zxf /root/mediawiki-.tar.gz ln -s mediawiki-/ mediawiki

(alternative) Install MediaWiki as an RPM from EPEL
As an alternative to the above recommended install, EPEL maintains a pre-built package (.rpm file). The repository is located here: Fedora Project Extra Packages for Enterprise Linux (EPEL). This package may be one or more versions behind the current stable MediaWiki branch. However, many RHEL and CentOS users find EPEL is a good source for packages not included in the base system.

First, configure your Red Hat (CentOS) installation to recognize the EPEL package repository, following these instructions: add the EPEL repository as a source for your package manager.

List the available EPEL mediawiki packages: yum list 'mediawiki*' or, if you want descriptions of each package yum info 'mediawiki*' Then install those that you choose with a command like yum install packagenames go here, blank separated

Webserver (Apache) post-install configuration
Setting up Apache can be done in numerous ways according to your preferences. In this example I simply change Apache to look at /var/www by default, so the link to the wiki will be http://server/mediawiki. This is convenient for running more than one site on the server. If you only need mediawiki running on the server, change instances of /var/www below to /var/www/mediawiki (Also it works with: /var/www/mediawiki-). Open /etc/httpd/conf/httpd.conf and search for and change these three lines:

DocumentRoot "/var/www"     <-- this is the SECOND "<Directory" entry, not the 'root' one DirectoryIndex index.html index.html.var index.php

Changing the /var/www to /var/www/mediawiki assumes you did the following: cd /var/www ln -s mediawiki-/ mediawiki chown -R apache:apache /var/www/mediawiki- Also it works with: chown -R apache:apache /var/www/mediawiki Restart Apache

service httpd restart

Firewall configuration
You also want to open ports in your firewall using system-config-firewall-tui Enable both the https and http services (follow the instructions of the configuration interface).

Security (selinux) configuration
On a default Red Hat (or CentOS) install, the selinux package will be installed and enabled. You can check this using this command: getenforce If the command displays "enforcing" then you must either disbale selinux (not recommended), or set the correct selinux context for the MediaWiki files, running these commands as root: restorecon -FR /var/www/mediawiki-/ restorecon -FR /var/www/mediawiki You can check for the correct context with ls -lZ /var/www/ The media directories and links should have this context: system_u:object_r:httpd_sys_content_t:s0

(alternative) Disabling security (selinux)
If you are determined to disable selinux (instead of configuring it properly as detailed above), go to /etc/selinux and modify conf making it either "permissive" or "disabled." I also had to create a link to /usr/share/mediawiki-/load.php in my /var/www/mediawiki directory and change the ownership on the /usr/share/mediawiki- directory to apache.apache.

Final comments
And you're good to go. Point a browser at http://servername/mediawiki and follow the instructions.

RHEL 5.4 + Nginx + Mediawiki With HTTPS
RHEL 5.4 + Nginx + Mediawiki With HTTPS