1. MediaWiki简介
MediaWiki全球最著名的开源wiki程序,运行于PHP+MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。MediaWiki的开发得到维基媒体基金会的支持。
本文,就来研究一下MediaWiki的安装和配置,数据库和Web程序位于不同的主机。主要参考Ubuntu 16.04 安装 MediaWiki和Manual: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 | create database wikidb; |
3、sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
,修改绑定IP
1 | bind-address = 0.0.0.0 |
4、重启mysqlsudo 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 | cd /tmp/ |
2、解压重命名
1 | tar -xvzf /tmp/mediawiki-*.tar.gz |
3、创建链接
1 | sudo ln -s /var/lib/mediawiki /var/www/html/mediawiki |
4、重启apachesudo service apache2 restart
5、端口映射
正常情况下,此时mediawiki的访问地址为:
1 | http://10.0.0.20/mediawiki/ |
但是主机B的IP无法直接访问,所以参考《iptables实现端口映射》进行端口映射,映射后mediawiki的访问地址为:
1 | http://172.16.101.144:2080/mediawiki/ |
6、测试访问
访问映射后的地址,浏览器居然不解析php文件,直接写下载php文件。这是mediawiki的bug吗?测试一下,在/var/www/html中创建index.php,内容为:
1 |
|
浏览器访问http://172.16.101.144:2080/index.php
,正常解析。猜测是mediawiki的锅,换了五个版本的mediawiki,居然存在同样的问题。莫非,是因为设置了端口映射?
参考《Linux下使用VirtualBox》,访问linux图形界面,然后输入firefox
启动火狐浏览器,访问地址:
1 | http://10.0.0.20/mediawiki/ |
正常解析页面,看来是确实是因为端口映射。
7、在浏览器中进行mediawiki的初始化,主要是mysql相关配置,按照主机A中的mysql配置来填写。
8、完成后下载LocalSettings.php,拷贝LocalSettings.php到/var/lib/mediawiki/目录中。
9、测试访问
1 | http://172.16.101.144:2080/mediawiki/index.php/Main_Page |
外部通过端口映射访问,内部通过真实IP访问,都正常。至此,大功告成,nice。