作为一个完全不懂php的码农,整个过程还是稍微有点难度的。
废话不说先看效果 http://dev.cloudisk.snda.com/w/
看起来还行是吧,至少没有想象中那么差。
好的,如何做?
首先需要准备一台服务器,推荐Linux服务器,搭建起来Lamp,不过本文Windows服务器也可以参考
这个过程相信很多人相当熟悉,但是还是有几个要注意的地方,不熟悉Lamp搭建的阅读者,可以参考其他文章安装部分内容,在这里主要说明一下需要注意的地方
嗯,搭建之前,要去mediawiki官网下载一个最新版本的包(推荐下在tar.gz包),可以点击[这里],笔者使用的是mediawiki-1.20.4版本,新版本可能有所不同,请参见mediawiki官方版本更新说明。什么下好了?我还没说完你怎么就下好了,那……那就下好了吧,在Windows下可以使用WinRAR等工具进行打开,如果是需要放到Linux服务器上,这个tar.gz包先别删掉。
先来了解一下我们安装mediawiki的时候,需要哪些支持
看看根目录打开后,有个index.php,我们察看一下这个文件,会发现这样一段内容,如图
有一行内容大概是这样的 if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) {
就说明我这个版本的mediawiki需要安装5.3.2以上的php才能用,低版本的直接提示版本低打不开页面。吐槽下真坑爹。
好了,开始搭Lamp,熟悉这一步的可以稍微看看参数就跳过了,好让我们开始吧。
神马?你不会装Linux系统?你不知道什么是shell?哦……你按一下Ctrl+W试试看,有惊喜。
好了,我知道你们Linux系统装好了,不管你是什么系统,这里介绍的都是编译安装,如果你喜欢yum、喜欢apt-get,完全没问题。我尽量在这里说明需要注意的地方。如果失败了,还是请循规蹈矩的来。
既然是Lamp,L完了就是a,下个apache2装上吧。
推荐安装到 /usr/local/apache2
这里快要遇到第一个坑了。
因为服务器上可能会有各种其他工作,所以如果在编译apache2的时候有使用--with-mpm模块,请在编译mysql的时候加上 --enable-thread-safe-client.。这是php5.2的一个改进,在php5.2.0之前的版本都不需要mysql启用安全线程。我们刚刚看过,需要的php版本已经在5.2之上,所以这里一定要注意。
阿帕奇其他的问题参见[这里]之类的文章安装起来,然后配置完成,Windows用户可以考虑装个xampp之类的,一次搞定全部。
然后是mysql,mysql安装的时候,请一定要越过第一个坑。
推荐安装到 /usr/local/mysql
如果已经装了mysql,但是不清楚mysql的帐号密码,可以想办法使用safemode跳过并修改mysql表
在lam了之后就是p,下载[php]
这里稍微讲一下安装的编译命令好了。
安装之前,需要安装libxml2,如果使用yum或者apt,别忘了安装php-xml,否则可能出现各种意外。
tar zxvf libxml*.tar.gz
cd libxml*
./configure --prefix=/usr/local/libxml2
make
make install
完成,开始装php,笔者搭建mediawiki的时候用的是php5.4.14
这个
tar zvxf php-*.tar.gz
cd php-*
# 如果你的 mysql、apache等应用装在其他地方请修改这里的路径
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/ local/libxml2
make
make install
成功了吗?没成功?把错误贴到百度去找问题然后解决掉
--with-apxs2=/usr/local/apache2/bin/apxs是为了链接生成libphp5.so
拷贝php配置
cp php-*/php.ini.dist /usr/local/php/lib/php.ini
如果没有php.ini.dist 则把php.ini-development php.ini-production中的任何一个重命名为php.ini.dist即可。
配置httpd.conf
在LoadModule最后一排加上
LoadModule version_module modules/libphp5.so
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容 (.前面有空格)
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
重起apache
/usr/local/apache2/bin/httpd -k restart
写一个测试页面看看
<?php
phpinfo();
?>;
保存为/usr/local/apache2/htdocs/phpinfo.php
打开浏览器[到这里]看看
如果有很长一大串的php信息输出,说明你得到它了(u got it !)
终于要回到我们的mediawiki了,是不是快把正事儿忘了?
上传。然后
tar zvxf mediawiki-*.tar.gz
拷贝到可以被apache解析的目录中
然后通过浏览器访问,OK,一切就绪,可以通过配置,完成你需要的后续工作了。