Difference between revisions of "Install MediaWiki as Wikipedia in Linux CentOS 7"

From Gejoreuy
Jump to navigation Jump to search
Line 6: Line 6:
  
 
=== Step 1 : Install Apache Web Server ===  
 
=== Step 1 : Install Apache Web Server ===  
[[Install Apache Web Server, PHP & MySQL on CentOS 7]] --> https://hostadvice.com/how-to/how-to-install-lamp-stack-on-centos-7/
 
  
 
Update the server. Install Apache web server. Enable and start it. Then test to access it from a web browser.
 
Update the server. Install Apache web server. Enable and start it. Then test to access it from a web browser.
Line 59: Line 58:
 
</pre>
 
</pre>
  
In phpMyAdmin.conf file, we need to change 127.0.0.1 to our subnet ip address.
+
In phpMyAdmin.conf file, we need to change 127.0.0.1 to our subnet range address.
  
 
<pre>
 
<pre>
Line 70: Line 69:
 
     # Apache 2.4
 
     # Apache 2.4
 
     <RequireAny>
 
     <RequireAny>
       Require ip 127.0.0.1 <code>test</code>
+
       Require ip 127.0.0.1 --> change 127.0.0.1 to subnet range address
 
       Require ip ::1
 
       Require ip ::1
 
     </RequireAny>
 
     </RequireAny>
Line 78: Line 77:
 
     Order Deny,Allow
 
     Order Deny,Allow
 
     Deny from All
 
     Deny from All
     Allow from 127.0.0.1
+
     Allow from 127.0.0.1 --> change 127.0.0.1 to subnet range address
 
     Allow from ::1
 
     Allow from ::1
 
   </IfModule>
 
   </IfModule>
Line 87: Line 86:
 
     # Apache 2.4
 
     # Apache 2.4
 
     <RequireAny>
 
     <RequireAny>
       Require ip 127.0.0.1
+
       Require ip 127.0.0.1 --> change 127.0.0.1 to subnet range address
 
       Require ip ::1
 
       Require ip ::1
 
     </RequireAny>
 
     </RequireAny>
Line 95: Line 94:
 
     Order Deny,Allow
 
     Order Deny,Allow
 
     Deny from All
 
     Deny from All
     Allow from 127.0.0.1
+
     Allow from 127.0.0.1 --> change 127.0.0.1 to subnet range address
 
     Allow from ::1
 
     Allow from ::1
 
   </IfModule>
 
   </IfModule>

Revision as of 16:11, 9 August 2019

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 and Database

Step 1 : Install Apache Web Server

Update the server. Install Apache web server. Enable and start it. Then test to access it from a web browser.

[root@qemu01 ~]# yum update
[root@qemu01 ~]# yum install httpd
[root@qemu01 ~]# systemctl enable httpd.service
[root@qemu01 ~]# systemctl start httpd.service

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

PHP is a general-purpose server-side scripting language.

[root@qemu01 ~]# yum install php php-mysql php-mbstring
[root@qemu01 ~]# systemctl restart httpd.service

Step 4 : Install PHPMyAdmin

In these step, we'll install EPEL release, PHPMyAdmin, and configure the configuration file.

[root@qemu01 ~]# yum install epel-release
[root@qemu01 ~]# yum install phpmyadmin
[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.

...

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1 --> change 127.0.0.1 to subnet range address
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1 --> change 127.0.0.1 to subnet range address
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1 --> change 127.0.0.1 to subnet range address
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1 --> change 127.0.0.1 to subnet range address
     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