当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux环境下快速搭建维基网站
通常我们将Wiki翻译为“维基”,到底何为Wiki?Wiki一词来源于夏威夷语的“weekeeweekee”,原本是“快点快点”(quickquick)的意思。Wiki是一种在线多人协作的超文本系统写作工具。Wiki站点支持面向社群的协作式写作,每个人都可以发表自己的见解,或者对共同维护的主题进行扩展。Wiki同时也包括一组支持这种写作的辅助工具,可以在Web的基础上对Wiki页面的文本进行创建,更改和发布,比做网页和更新网页简单方便得多。第一个Wiki网站诞生于1995年,创始人WardCunningham为方便其创建的社群的交流建立了一个工具-波特兰模式知识库(PortlandPatternRepository)。在建立这个系统的过程中,WardCunningham创立了Wiki这一概念和名称,并且实现了支持这一概念的服务系统。这个系统就是最早的Wiki系统。从1996年至2000年间,波特兰模式知识库围绕着面向社群的协作式写作不断发展,使Wiki的概念不断得到丰富延伸。同时Wiki的概念也得到了广泛传播,出现了许多基于此技术的网站和软件系统。
实际上wiki也真的是既简单又快速,你可以看到wiki每天都在成长。新概念的定义总是让人有点摸不着头脑,wiki也不例外。先看看简单解释:Wiki——一种多人协作的写作工具。Wiki站点可以有多人(甚至任何访问者)维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。Wiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且创建、更改、发布的代价远比HTML文本为小;同时Wiki系统还支持面向社群的协作式写作,为协作式写作提供必要帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供简单的交流工具。与其它超文本系统相比,Wiki有使用方便及开放的特点,所以Wiki系统可以帮助我们在一个社群内共享某领域的知识。
Wiki可以做什么:
想要开始wiki的方式分为两种,一种是到wiki空间提供网站注册,注册完后就可以开始了。另外一种就是在自己的计算机上架设一个wiki,好处是没有储存空间限制,缺点是整个过程稍微麻烦一点,还有必须要有不错的上传频宽,当造访人数不多时,家用的ADSL就够用了,但如果有一天你的wiki红透半边天,那么上传速度缓慢的ADSL恐怕会让你的读者感到痛苦。虽然在自己的计算机上架设wiki好象有缺点,但是自由度相对的也比较大,这里,我们就教你如何十分钟在你的计算机上架设好wiki。
一、准备工作
首先配置一个基于Apache的LAMP服务器和ImageMagicK软件,后者主要用于对图像进行转换、编辑、组合、特殊处理等,是一款非常好用的图像处理工具。它支持对多种格式的图像进行处理,最多支持的图像格式有157种格式,包括目前流行的TIFF、JPEG、PNG、PDF、PhotoCD及GIF等。ImageMagicK还支持动态图像创建,这一点非常适合在Web页面上使用。使用MMCache加速PHP:
由于PHP的程序代码去调用了太多的函式库,而这些函式库每次调用都需要由硬盘读出来,有没有办法提升PHP的执行速度。如果我们可以将这些在硬盘里面的函式库先读到高速缓存中(Cache),由于内存的速度可比硬盘快多了。如此一来的话,当然可以提升不少速度。这里我们介绍一款授权在GPL上面的可以对PHP程序代码进行快取并且予以优化的软件,那就是MMCache官方网站在:http://www.turcksoft.com/。目前MMCache最新版本:2.4.6。
1、软件下载和安装
tar-xvfturck-mmcache-2.4.6.tar
cdturck-mmcache-2.4.6
./configure--enable-mmcache=shared--with-php-config=$PHP_PREFIX/bin/php-config
make;makeinstall
修改/usr/local/lib/php.ini文件,加入以下内容:
mmcache.compress=”1”
然后建立临时取数据目录:
#chmod0777/tmp/mmcache
从新启动Apache服务器:
#/usr/local/httpd/bin/apachectlstart
安装MMCache后网页速度明显加快了,具体数据可以查看:http://sourceforge.net/projects/turck-mmcache/对比报告。
二、搭建维基网站1.维基引擎的选择
MediaWiki全球最著名的开源wiki引擎,运行于PHP+MySQL环境。从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。目前MediaWiki的开发得到维基媒体基金会的支持。MeidaWiki一直保值着持续更新,当前最新版本为1.4.13(2006-1-5)和1.5.6(2006-1-19)稳定版本。MediaWiki的原作者为德国的MagnusManske。为什么要选择mediawiki来做wiki网站?
1.经受过重量级应用的考验,功能丰富却架设简单。
2.全世界最大的wiki项目维基百科是使用mediawiki的成功范例,数据量、访问量都超级庞大mediawiki的功能非常丰富,支持多语言版本,充分满足知识站点的需要。
3.运行环境要求很低,架设过程简洁,即使新手也可以迅速建立自己的站点。
4.最大的wiki程序社区:mediawiki是目前应用最广的wiki程序,数以万计的网站在使用它,很容易找到范例站点有大量的热心参与人员参与研究,资料多,容易找到互相交流的朋友。例如QQ群3680101(技术群)。持续开发,程序特性功能不断完善,保证未来的支持mediawiki是受到维基媒体基金会支持的开源项目,在功能、性能、安全方面将不断优化。
版本选择:
1.5.X:具备目前最多特性的新版本。与1.4.X相比,一些管理问题尚不够稳定;从1.4.X升级过来也有诸多不便的细节,例如丢失大量的mediawiki变量的本地化信息(变量改了)
1.4.X:目前最为稳定完善的系列。
所以最后选择:1.4.6版本。
2.wiki软件下载:
#cdvar/www/html
#wegthttp://keihanna.dl.sourceforge.net/sourceforge/wikipedia/mediawiki-1.4.6.tar.gz
#tarvxfmediawiki-1.4.6.tar.gz
#mvmediawiki-1.4.6wiki“建立一个目录”
3.建立数据库:
#mysql–uroot–p
Enterpassword:xxxxxxxxx
YourMysqlconnectionidis3toserverversion:4.11
Type‘help;’or‘\h’forhelp.Type‘\c’toclearthebuffer.
Mysql>createmediawikidatabase;“为建立数据库”
QueryOK,1rowaffected(0.01sec)
Mysql>grantallmediawikiprivilegesonmediawiki.*tomediawiki@localhostidentifiedby‘76543981’;“将建立的mediawiki权限给mediawiki帐号,并且设定密码”
mysql>exit
Bye
4.开始安装:
(1)
#cd/var/www/html/wiki#进入到Apache服务器的确省目录中#
#chmoda+w(777)config#赋予文件和目录的可以执行权限#
以上内容主要以下部分:为了读者填写方便笔者把它作一个列表:
填写结束后按“install”按钮进行安装,系统如果出现图2表示安装成功,如果有错误(错误处会用红色标出)会自动退回到图1的对话框让你从新设定。
Wiki以平和信任的观点来对待所有愿意接触它,了解它和壮大它的人,其根本理念就认为上认为不会有人故意破坏Wiki网站。Wiki是全开放的,万一有陌生人来网站上乱搞怎么办?别担心,所有的Wiki页面都可以进行版本控制,你随时都可以找回之前的正确版本,有效地保护内容不会丢失。Wiki最高管理权限是Sysop用户,所以要合理设置其登录口令。口令系统安全的第一道防线,但常常因为系统管理员对于“小概率事件”的错误印象变得很脆弱。用单词作密码是根本架不住暴力攻击的。黑客们经常用一些常用字来破解密码。曾经有一位美国黑客表示,只要用“password”这个字,就可以打开全美多数的计算机。其它常用的单词还有:account、ald、alpha、beta、computer、dead、demo、dollar、games、bod、hello、help、intro、kill、love、no、ok、okay、please、sex、secret、superuser、system、test、work、yes等。好的口令根本不是指口令本身,而是指这种方法:设置的密码容易记住,但很难被破解。我们所说的密码是指多个密码,这样即使有人猜出了其中一个口令,也不知道你的所有口令。以下是口令设置方面的准则,可以帮你创建无法被猜中但又容易记住的密码。选择核心短语。开始要选一个至少5个单字长的短语。这可以是某首歌的头一行、一句引语或者是书名——只要你记在脑海中的都行。然后利用该短语创建核心口令,通常的办法是取每个单词的头一个字母。比如tcith,这是书名《TheCatintheHat》的头一个字母组成的口令。这个简单的步骤可以保护你,以免有人运行所谓的字典式攻击:字典里面的每个单字(还有许多专有名称)都被试过,直到正确的单字被找到为止,电脑可以在很短时间内完成字典式攻击。密码设置和原则:
.htaccess文件是Apache服务器上的一个设置文件。它是一个文本文件,可以使用任何文本编辑器进行编写。首先在要设置存取控制的目录(如htdocs)下建立一个文件,文件名可以自行设定,一般服务器都会设置为.htpasswd,该文件是不能由HTTP读取的。.htpasswd文件中的每一行代表一个使用者,使用者的名字及经过加密的密码以冒号:分隔。
3.以安全模式运行PHP
以安全模式运行PHP是使PHP脚本安全使用的好方法,特别是在允许用户使用自己开发的PHP脚本时。使用安全模式会使PHP在运行函数时检查是否存在安全问题。include、readfile、fopen、file、unlink、rmdir等等:被包含的文件或者该文件所在目录的所有者必须是正在运行的脚本的所有者;
Mysql_Connect:这个函数用可选的用户名连接MySQL数据库。在安全模式下,用户名必须是当前被执行的脚本的所有者,或运行httpd的用户名(通常是nobody)。
HTTPAuthentication:包含HTTP验证代码脚本所有者的用户ID(数字型)会自动加到验证域。这样可以防止有人通过抓取密码的程序来欺骗同一个服务器上的HTTP验证脚本。
4.根据需要对系统服务进行控制
服务是一种在系统后台运行的应用程序类型,它与Linux守护进程类似。如果可能的话,尽量使用本地账号而不是域账号作为服务账号,因为如果某人物理上获得了服务器的访问权限,他可能会转储服务器的LSA机密,并泄露密码。如果你使用域密码,森林中的任何计算机都可以通过此密码获得域访问权限。而如果使用本地账户,密码只能在本地计算机上使用,不会给域带来任何威胁。一个基本原则告诉我们,在系统上运行的代码越多,包含漏洞的可能性就越大。你需要关注的一个重要安全策略是减少运行在你服务器上的代码。这么做能在减少安全隐患的同时增强服务器的性能。在Linux中缺省运行的服务有很多,但是有很大一部分服务在大多数环境中并派不上用场。关闭MySQL的网络功能,mysqld进程启动时,会自动寻找/etc/my.conf这个配置文件。绑定网络地址需要通过命令行参数进行控制。比如,在/etc/init.d/mysql脚本中找到以下代码:
#mysql-uroot-p
Enterpassword:xxxxxxxxx
………
mysql>updateusersetuser="cao"whereuser="root";
mysql>flushprivileges;
mysql>quit
Bye
总结:
LAMP和mediawiki可以组成一个优秀的维基网站,可以在互联网上运行,也可以在Linux局域网中运行。有了维基一个用户就可以低成本地发布、更新和维护自己的维基网站。在预算短缺的今天,LAMP+mediawiki组成维基网站无疑具备明显的价格优势。
评论 (0) All