MediaWiki
Introduction¶
MediaWiki is a popular open source Wiki software engine powering sites such as Wikipedia, Fandom, and wikiHow, among others.
Prerequisites and assumptions¶
The following are the minimum requirements for using this procedure:
- The ability to run commands as the root user or use
sudo
to elevate privileges - Familiarity with a command-line editor. The author is using
vi
orvim
here, but substitute in your favorite editor
Installing Apache¶
Apache is the web server you will use. Install it with:
dnf -y install httpd
Next, open the corresponding firewall ports:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Installing PHP¶
Note
If you are running Rocky Linux 8.x or 9.x, substitute "8" or "9" next to the release in the Remi package install line.
To install PHP, you need first to install the EPEL (Extra Packages for Enterprise Linux):
dnf -y install epel-release && dnf -y update
You also need the Remi repository. Install it with the following:
dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
Then install PHP and the required modules:
dnf install -y dnf install php84-php-fpm php84-php-intl php84-php-mbstring php84-php-apcu php84-php-curl php84-php-mysql php84-php-xml
Enable PHP with:
systemctl enable --now php84-php-fpm.service
Installing MariaDB¶
You need MariaDB for the database. Install it with:
dnf install mariadb-server
Next enable the systemd
service and run the setup wizard:
systemctl enable --now mariadb
mysql_secure_installation
When asked for the root password press Enter :
Enter current password for root (++enter++ for none):
Answer n to unix_socket
authentication:
Switch to unix_socket authentication [Y/n] n
Answer Y to changing the root password and enter the needed root password:
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove the anonymous users and disallow remote root
logins:
Remove anonymous users? [Y/n] Y
...
Disallow root login remotely? [Y/n] Y
Remove access to the test database and reload privilege tables:
Remove test database and access to it? [Y/n] Y
...
Reload privilege tables now? [Y/n] Y
Login to MariaDB with:
mysql -u root -p
Enter the root password you created earlier.
When you are in the MariaDB console, create the database for MediaWiki:
MariaDB [(none)]> create database mediawiki;
Next, create the MediaWiki user:
MariaDB [(none)]> create user 'mediawiki'@'localhost' identified by 'nchauhan11';
Grant privileges on the MediaWiki database:
grant all privileges on mediawiki.* to 'mediawiki'@'localhost';
Finally, flush the privileges with:
MariaDB [(none)]> flush privileges;
Installing MediaWiki¶
Go to the /var/www/
directory and download MediaWiki:
cd /var/www/
wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.0.zip
Unzip and move MediaWiki:
unzip mediawiki-1.44.0.zip
mv mediawiki-1.44.0/* html/
Set the correct SELinux permissions:
chown -R apache:apache /var/www/html
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
restorecon -Rv /var/www/html
Enable Apache:
systemctl enable --now httpd
Next, open a browser to http://your_ip
(Replace your_ip
with your IP address):
Select your language and click Continue:
Check to see if the PHP configuration is correct, scroll down and click Continue:
Now, enter the database information as follows:
Database host:
localhost
Database name (no hyphens):
mediawiki
(or the database created in the MariaDB step)Database username::
mediawiki
(or the user created in the MariaDB step)Database password: The password you created in the MariaDB step
Click Continue:
In the MediaWiki version installation page, enter the following:
URL host name: The URL you want
Name of wiki: The Wiki name you want
Administrator account/Your username: The admin username you want to use
Administrator account/Password (again): The admin password you want to use
Administrator account/Email address: The email address of the admin user
Optionally, you can also select Ask me more questions to fine-tune the Wiki. For simplicity's sake, just select I'm bored already, just install the wiki and click Continue:
Click Continue to install the Wiki:
MediaWiki will set up the databases. When it finishes, click Continue:
Your browser will download a LocalSettings.php
file. You will upload this to your server with sftp
.
As an example, the author will use their Fedora 42 laptop to upload this file. To do so:
sftp root@your_ip
(Enter password)
cd /var/www/html
put LocalSettings.php
Finally, click enter your wiki:
You now have a fresh MediaWiki installation.
Conclusion¶
While MediaWiki is best known for powering Wikipedia, it is useful as a content management system where users need the ability to edit pages. MediaWiki is a good open source alternative to Microsoft's SharePoint.
Author: Neel Chauhan
Contributors: Steven Spencer