Install MediaWiki as Wikipedia in Linux CentOS 7
Contents
System Requirements
MediaWiki requires PHP 5.5.9+ and either MySQL 5.0.2+, MariaDB, or one of the other three possible stores.
Setup Web Server, Database, and PHP
Step 1 : Install Apache Web Server
Update the server. Install Apache web server. Enable and start it.
[root@qemu01 ~]# yum update [root@qemu01 ~]# yum install httpd [root@qemu01 ~]# systemctl enable httpd.service [root@qemu01 ~]# systemctl start httpd.service
There should be public html folder created at /var/www/html. Just test it with go to that folder.
[root@qemu01 ~]# cd /var/www/html [root@qemu01 html]# pwd
Step 2 : Install MariaDB Database
In this step, we just install MariaDB database. Start it. And setup security.
[root@qemu01 ~]# yum install mariadb-server mariadb [root@qemu01 ~]# systemctl enable mariadb.service [root@qemu01 ~]# systemctl start mariadb [root@qemu01 ~]# mysql_secure_installation
In MariaDB securing steps, we have to provide the answers below for simplicity.
Set root password? [Y/n] Y New password: Enter your password here Re-enter new password: repeat your password Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Step 3 : Install PHP, PHP-MySQL, PHP-MBString, and PHPMyAdmin
PHP is a general-purpose server-side scripting language.
[root@qemu01 ~]# yum install epel-release php php-mysql php-mbstring phpmyadmin
After that, we have to configure the phpMyAdmin configuration file.
[root@qemu01 ~]# vi /etc/httpd/conf.d/phpMyAdmin.conf
In phpMyAdmin.conf file, we need to change 127.0.0.1 to our subnet range address. In this example, we change 127.0.0.1 to 10.129.50.0/24.
... <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require ip 10.129.50.0/24 Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 10.129.50.0/24 Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpMyAdmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require ip 10.129.50.0/24 Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 10.129.50.0/24 Allow from ::1 </IfModule> </Directory> ...
Then restart the Apache web server.
[root@qemu01 ~]# systemctl restart httpd.service
Prepare MediaWiki Sources
Download MediaWiki 1.27.0
The last stable MediaWiki can be downloaded from MediaWiki.
wget https://releases.wikimedia.org/mediawiki/1.27/mediawiki-1.27.0.tar.gz
Put Media Wiki in Web Server
As example, if we're using Centos 7, the web server path is in /var/www/html/.
mv mediawiki-1.27.0.tar.gz /var/www/html/
Extract the File
Extract the tar file and rename it with your wiki name, as example named with wikipedia.
tar xvzf mediawiki-1.27.0.tar.gz
mv /var/www/html/mediawiki-1.27.0 /var/www/html/wikipedia
Run the MediaWiki Installation
Open MediaWiki index.php page at http://[web_server_address]/wikipedia/index.php
and follow the installation requirement there.
Troubleshooting
Problem 1 : LocalSettings.php File Not Readable
Solution : run restorecon command into the wikipedia website folder.
[root@qemu01 ~]# restorecon -r /var/www/html/wikipedia/
Problem 2 : First Login Error (Session Hijacking Protection)
Solution : Change $wgMainCacheType from CACHE_ACCEL to CACHE_ANYTHING as suggested in LocalSettings.php file.
[root@qemu01 ~]# cd /var/www/html/wikipedia [root@qemu01 wikipedia]# vi LocalSettings.php
... ## Shared memory settings #$wgMainCacheType = CACHE_ACCEL; $wgMainCacheType = CACHE_ANYTHING; $wgMemCachedServers = []; ...
Problem 3 : Upload File Error (LocalFileLockError)
Solution : Run setenforce 0 script and then try again.
[root@qemu01 ~]# sudo setenforce 0