Wiki站点⽀持⾯向社群的协作式写作,每个⼈都可以发表⾃⼰的见解,或者对共同维护的主题进⾏扩展。Wiki同时也包括⼀组⽀持这种写作的辅助⼯具,可以在Web的基础上对Wiki页⾯的⽂本进⾏创建,更改和发布,⽐做⽹页和更新⽹页简单⽅便得多。下⾯我们来配置Wiki服务器。⼀、安装Linux系统
要配置Wiki服务器我们⾸先要安装⼀个Linux系统,在系统中配置LAMP环境,这⾥我们使CentOS系统,装系统我们就不多说了,简单安装⼀个系统,但是要把编译环境安装好。⼆、配置LAMP环境主要软件包,1. httpd-2.2.17.tar.gz
2. 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.gz
GD库所需要软件包(有⼈说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 .php
AddType application/x-httpd-php-source .phps
找到\"DirectoryIndex index.html\"在index.html 前添加 index.php
3、安装PHP⽀持库,
a.安装jpeg包,让PHP ⽀持GIF,PNG,JPEG
b.安装libxml2
c.安装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;
单位为字节,这个在新(versions 1.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?前⾯加#号(注释掉这⾏)
因篇幅问题不能全部显示,请点此查看更多更全内容