一个计算机技术爱好者与学习者

0%

MediaWiki安装与配置

1. MediaWiki简介

MediaWiki全球最著名的开源wiki程序,运行于PHP+MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。MediaWiki的开发得到维基媒体基金会的支持。

本文,就来研究一下MediaWiki的安装和配置,数据库和Web程序位于不同的主机。主要参考Ubuntu 16.04 安装 MediaWikiManual:Running MediaWiki on Debian or Ubuntu

2. 环境准备

2.1. 数据库

数据库使用mysql,下面在主机A(IP为10.0.0.19)中进行安装配置。
1、安装
sudo apt-get install mysql-server mysql-client
安装过程中设置数据库root密码。

2、sudo mysql -u root -p登录mysql,如下配置:

1
2
3
4
5
create database wikidb;
create user 'wiki'@'%' identified by 'voidking';
grant all privileges on wikidb.* to 'wiki'@'%';
flush privileges;
quit;

3、sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,修改绑定IP

1
bind-address            = 0.0.0.0

4、重启mysql
sudo service mysql restart

5、测试登录
mysql -u wiki -h 10.0.0.19 -p

2.2. Apache和PHP

在主机B中安装Apache和PHP

1
sudo apt-get install -y apache2 php php-mysql libapache2-mod-php php-xml php-mbstring 

3. 安装部署

在主机B(IP为10.0.0.20)中安装mediawiki,步骤如下。

1、下载mediawiki

1
2
cd /tmp/
wget https://releases.wikimedia.org/mediawiki/1.32/mediawiki-1.32.1.tar.gz

2、解压重命名

1
2
3
tar -xvzf /tmp/mediawiki-*.tar.gz
sudo mkdir /var/lib/mediawiki
sudo mv mediawiki-*/* /var/lib/mediawiki

3、创建链接

1
sudo ln -s /var/lib/mediawiki /var/www/html/mediawiki

4、重启apache
sudo service apache2 restart

5、端口映射
正常情况下,此时mediawiki的访问地址为:

1
2
http://10.0.0.20/mediawiki/
http://10.0.0.20/mediawiki/mw-config/index.php

但是主机B的IP无法直接访问,所以参考《iptables实现端口映射》进行端口映射,映射后mediawiki的访问地址为:

1
2
http://172.16.101.144:2080/mediawiki/
http://172.16.101.144:2080/mediawiki/mw-config/index.php

6、测试访问
访问映射后的地址,浏览器居然不解析php文件,直接写下载php文件。这是mediawiki的bug吗?测试一下,在/var/www/html中创建index.php,内容为:

1
2
3
<?php
phpinfo();
?>

浏览器访问http://172.16.101.144:2080/index.php,正常解析。猜测是mediawiki的锅,换了五个版本的mediawiki,居然存在同样的问题。莫非,是因为设置了端口映射?

参考《Linux下使用VirtualBox》,访问linux图形界面,然后输入firefox启动火狐浏览器,访问地址:

1
2
http://10.0.0.20/mediawiki/
http://10.0.0.20/mediawiki/mw-config/index.php

正常解析页面,看来是确实是因为端口映射。

7、在浏览器中进行mediawiki的初始化,主要是mysql相关配置,按照主机A中的mysql配置来填写。

8、完成后下载LocalSettings.php,拷贝LocalSettings.php到/var/lib/mediawiki/目录中。

9、测试访问

1
2
http://172.16.101.144:2080/mediawiki/index.php/Main_Page
http://10.0.0.20/mediawiki/index.php/Main_Page

外部通过端口映射访问,内部通过真实IP访问,都正常。至此,大功告成,nice。

4. 书签

TPC-W官网

TPC-W-University of Wisconsin

TPC-W安装与配置(威斯康星大学Java版)