Wiki站点支持面向社群的协作式写作,每个人都可以发表自己的见解,或者对共同维护的主题进行扩展。
Wiki同时也包括一组支持这种写作的辅助工具,可以在Web的基础上对Wiki页面的文本进行创建,更改和发布,比做网页和更新网页简单方便得多。
下面我们来配置Wiki服务器。
一、安装Linux系统要配置Wiki服务器我们首先要安装一个Linux系统,在系统中配置LAMP环境,这里我们使CentOS系统,装系统我们就不多说了,简单安装一个系统,但是要把编译环境安装好。
二、配置LAMP环境主要软件包,1.httpd-2.2.17.tar.gz2.mysql-5.0.20a.tar.gz(这个版本是已编译好的压缩包,解压后稍做配置即可使用)3.php-5.2.17.tarr.gz安装php所需的软件包(其中libxml2是安装php5必须的.)1.libxml2-(version).tar.gz2.libxslt-(version).tar.gz3.curl-(version).tar.gzGD库所需要软件包(有人说PHP源码包里自带了GD2.0.28和zlib,只要安装GD的三个支持包:jpg,png和freetype,但是我们还是下载)1.gd-(version).tar.gz2.freetype-(version).tar.gz3.jpegsrc.v6b.tar.gz4.libpng-(version).tar.gz5.zlib-1.2.3.tar.gz以上软件的版本自行决定,不一定是越高越好将下载好的软件都传到LINUX服务器上1、安装MySQL解压MySQL原码包解压后进入到解压出的文件夹中为保证数据安全我们在安装系统时做一个分区专门用来存储数据上图中的/data就是专门用来存放数据的,我样把数据库也安装到该分区中所以在做原码编译时要配置一下导原码的安装目录用./configure–prefix=/data/local/mysql来配置MySQL的安装路径开始配置安装文件,等一会,当配置完成后会出现如下界面接下来开始编译原代码,使用make命令,编译过程是通过gcc来编译的,所以在安装系统时记得要把编译环境安装好编译过程一堆我们看不懂的东东,不管他,这个时间会长点,等吧编译完成后用“make install”命令进行安装安装完成后将配置文件复制过来新建一个mysql用户和组切换到mysql的安装目录,并修改目录权限启动MySQL到这里mysql就算安装并启动完毕了,但是还有一些工作也是必须要做的,比如设置root 密码、让mysql开机自启动:设置mysql的root密码:设置MySQL开机自启动2、安装Apache安装完成后,启动服务启动后在浏览器中输入http://IP地址出现下图则表示服务安装成功打开/data/local/apache/conf/httpd.conf,找到找到"AddType application/x-gzip.tgz"(第294行),在它的下面添加AddType application/x-httpd-php.phpAddType application/x-httpd-php-source.phps找到"DirectoryIndex index.html"在index.html前添加index.php3、安装PHP支持库,a.安装jpeg包,让PHP支持GIF,PNG,JPEGb.安装libxml2c.安装PHP配置完成后会出现如下图按要求运行运行完后会问你要不要发送报告PHP也安装完成了。
修改PHP的配置文件新建一个php页面保存好后,重启apache服务重启后在浏览器中输入http://X.X.X.X/index.php如出现PHP的相信息则说明PHP安装成功。
三、安装Wiki解压出mediawiki,并将解压出的文件重命名并复制到/data目录中进入Mysql创建Wiki数据库将建立的wiki权限给wiki帐号,并且设定密码grant all on wiki.*to wiki@localhost identified by‘zte123’;建好用户和数据库后退出数据库,进入到Wiki目录中准备安装,并给config文件赋权同时修改apache的配置文件httpd.conf将主目录改为Wiki目录修改完成后重启apache服务打开浏览器输入http://X.X.X.X,如下图,点击setup the wiki进入到wiki的安装界面在site config中填入服务器的相关信息准备安装填写完成后点击最后面的“Install MediaWiki”按钮,进行安装,当出现如下图则表示Wiki 安装成功。
注意这段话在config目录下会自动生成一个LocalSettings.php的本地配置文件。
把它LocalSettings.php 移动到上级目录中。
然后点击图中页面右下角处:“this Link”链接就可以看到完成安装的wiki 首页了到此为止,我们初步建立wiki网站。
FAQ在打开php页面时如果碰到以下问题安装MediaWiki之后,生成的LocalSettings.php文件中自动记录了部分本地配置信息,多数mediawiki的参数设置改变,需要手动修改该文件,对这个文件所做的手动修改需要记录一下,以便日后升级时重建这些设置,为安全起见,请留意设置LocalSettings.php访问权限以禁止他人查看内容,这里介绍的都是些基本的设置:∙$wgDisableUploads:默认为true,禁止通过浏览器界面上传文件。
如需上传图片,请改为false,同时(通过FTP工具等方式)将上传目录设置为允许网络写入。
(1.5.x 之后,该选项变为$wgEnableUploads:先把前面的#去掉;和旧版本相反true是允许上传,false是禁止通过浏览器界面上传文件.)∙$wgUseImageResize:如果需要支持运行中改变图片大小(例如thumbnail缩略图功能),请设为true。
∙$wgUseImageMagick:如果ImageMagick软件运行正常,请将本变量设为true,同时,请确认$wgImageMagickConvertCommand变量指向服务器运行convert命令的正确位置。
启用Mediawiki的图片上传功能1.设置images文件夹为可写2.在配置文件LocalSettings.php中找到1.$wgEnableUploads=true;设置为true。
这样就启用了MediaWiki的图片上传功能MediaWiki上传图片和使用图片MediaWiki上传图片上传页面的地址是:Special:Upload,也可以先进入特殊页面,然后进入上传文件页面。
在该页面中上传图片,设置好文件名和描述,上传成功以后就可以在文章中使用了。
MediaWiki使用图片在要插入图片的位置输入:1.[[Image:file.jpg]]就可以显示对应的图片了。
MediaWiki限制上传文件大小在localsettings.php增加下面一行1.$wgMaxUploadSize=5020;单位为字节,这个在新(versions1.9.3到 1.12)版本中已经不起作用啦,要在php环境中进行限制,那么还有个警告大文件上传的警示大小是在DefaultSetting.php中的,默认为150k,如果嫌烦,可以调大些(建议不用调)。
MediaWiki引用外部图片在localsettings.php增加下面一行即可(可能引起安全问题):1.$wgAllowExternalImages=true;通过图片URL进行上传(使用可被公开访问的图片链接进行远程图片上传(这个功能很酷,不过只有操作员才可以用,嘿嘿,安全考虑,这样很有必要呢))在localsettings.php增加下面一行(可能引起安全问题):1.$wgAllowCopyUploads=true;开启其他文件上传开启其他文件上传,比如doc,pdf,ppt,docx,pptx打开wiki根目录中的includes/DefaultSettings.php,修改$wgFileExtensions,此变量默认仅支持'png','gif','jpg','jpeg'四种,修改为$wgFileExtensions=array('png','gif','jpg','jpeg','doc','ppt','pdf');上传过程出现错误提示“该文件包含或具有一个不正确的扩展名。
请检查此文件并重新上传”,比如,已经在wgFileExtensions中设置了允许上传ppt类型,为什么还是上传不了,打开wiki根目录中的includes/DefaultSettings.php,将$wgVerifyMimeType修改为false;一了百了,但会把pptx当zip处理,word,ppt都是正常的取消MIME类别”application/zip”的文件格式限制当上传pdf的时候没有问题,但是上传docx或者zip格式的文件时就会提示:不可以上传这个文件,因为Internet Explorer会将它侦测为“application/zip”,它是一种不容许以及有潜在危险性之文件类型。
同上面找到“includes/DefaultSettings.php”默认配置文件修改$wgMimeTypeBlacklist的值$wgMimeTypeBlacklist=array(#HTML may contain cookie-stealing JavaScript and web bugs‘text/html’,‘text/javascript’,‘text/x-javascript’,‘application/x-shellscript’,#PHP scripts may execute arbitrary code on the server‘application/x-php’,‘text/x-php’,#Other types that may be interpreted by some servers‘text/x-python’,‘text/x-perl’,‘text/x-bash’,‘text/x-sh’,‘text/x-csh’,#Client-side hazards on Internet Explorer‘text/scriptlet’,‘application/x-msdownload’,#Windows metafile,client-side vulnerability on some systems‘application/x-msmetafile’,#A ZIP file may be a valid Java archive containing an applet which exploits the#same-origin policy to steal cookies‘application/zip’,//by baicailin);在’application/zip’前面加#号(注释掉这行)。