科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道用基于Linux的PHP自建维基Wiki网站(2)

用基于Linux的PHP自建维基Wiki网站(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在Web 2.0革命中,维基(Wiki)的起源比博客还要早。

来源:51cto 2008年1月5日

关键字: Wiki 互联网

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

5.CMS的常规设置

以系统管理员的身份登录,登录后对话框下边会出现“mambo的管理员控制面板”(见图5)。



图5 管理员控制面板

博客的论坛管理员控制面板,一共十一个大版面:帮助、所有内容管理、静态内容管理、首页管理、单元管理、分类管理、媒体管理、菜单管理、用户管理、回收站管理、全局配置。控制模板可以控制CMS的所有管理选项,另外在帮助首页的“FAQ”中有200页的常见问题回答。这样就可以轻松管理网站了。

6.安装Wiki模块

Mambo提供了一个Wiki模块:Media Wiki。官方网站是:http://www.lyquidity.com/mambo/ 。首先下载两个文件:mod_Wikigotopage.zip和com_mamboWiki-0-9-4.zip

#wegt http://mamboforge.net/frs/download.php/7412/mod_Wikigotopage.zip

#wegt http://mamboforge.net/frs/download.php/7144/com_mamboWiki-0-9-4.zip

然后分别安装这两个模块,图6是com_mamboWiki安装成功的界面。



图6 mambo 的Wiki插件安装成功

Wiki插件安装后就可以发布了,就可以看到编辑工作界面,见图7。



图7 Wiki编辑工作界面

mambo CMS在opensourcecms的全球CMS排名中位于第十位(链接:http://www.opensourcecms.com/index.php?option=content&task=view&id=388&Itemid=143 ),这里我们选择它和Wiki插件构建Wiki网站主要是看到它对中文的良好支持。Wiki可以说是一种建站的工具,它为了让更多人参与建设,使用了比HTML容易得多的简化语法来替代复杂的 HTML语法。加上 Web 界面的编辑工具,极大地降低了站点内容维护的门槛。Wiki最适合做百科全书、知识库等整理某一个领域的知识的知识型站点,身处地球不同地区的人可以利用Wiki协同工作写一本书。要知道除了你外,你所在社区的力量是非常惊人的。Wiki与Blog有太多相似之处,也有许多不尽相同的地方。它们两者都降低了超文本写作和发布的难度,都与内容管理系统关系紧密。但它们又有一些本质上的不同。Blog发散性和随意性太强,主题思想没有Wiki那么专一浓厚。Blog注重的是个人的思想,个性化是Blog的最重要特色。Wiki则不同,相对Blog的个人作者,Wiki的作者是群体。Wiki支持的站点一般都有一个严格的共同关注和维护的主题,更新Wiki站点的内容时要求要与主题保持高度的相关性,任何参与进来的写作者都不能跑题和偏题。Wiki的协作是针对同一主题作外延上和内涵上的延伸,将同一个问题探讨阐述解释得很充分很深入,让你在深度和广度上充分深刻地认识它。个性化在这里不是最重要的,信息的完整性和充分性以及权威性才是真正的目标。Wiki使用最多也最合适的就是去共同进行文档、文章或书籍的写作,特别是技术相关的(尤以程序开发相关的)FAQ。

安全策略

1. 合理设置管理员权限

Mambo CMS的系统管理员具有最大的权限,而该权限可能会与其他的板主权限相冲突而造成不可预期的错误,所以最好不要让系统管理员当版主。另外用root权限运行MySQL也不太安全,这里推荐使用其他用户运行MySQL。方法是:

# mysql -u root -p

Enter password:xxxxxxxxx

………

mysql>update user set user="cao" where user="root";

mysql> flush privileges;

mysql>quit

以后就得通过cao账号访问MySQL数据库了。

2. 关闭MySQL远程连接

首先,应该关闭3306端口,这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。关闭网络监听的方法很简单,在mysql/etc/my.cnf文件中的[mysqld]部分,去掉#skip-networking前面的“#”即可。另外要尽量养成在MySQL下输入密码的习惯,因为Shell下面输入的时候可能会被其他人看见。

3. 禁止MySQL导入本地文件

禁止MySQL中用“LOAD DATA LOCAL INFILE”命令。这个命令会利用MySQL把本地文件读到数据库中,然后用户就可以非法获取敏感信息了。为了禁止上述命令,在/chroot/mysql/etc/my.cnf文件的[mysqld]部分加入下面语句:

set-variable=local-infile=0

为了管理方便,一般在系统中的MySQL管理命令如mysql、mysqladmin、mysqldump等,使用的都是系统的/etc/my.cnf文件。

4. 让mambo(Wiki)服务器在监牢中运行

所谓“监牢”就是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。这样即使出现被破坏或入侵,所受的损伤也较小。将软件chroot化的一个问题是该软件运行时需要的所有程序、配置文件和库文件都必须事先安装到chroot目录中,通常称这个目录为chroot jail(chroot“监牢”)。手工完成这一工作是非常麻烦的,此时可以用jail软件包来帮助简化chroot“监牢”建立的过程。Jail官方网站是:http://www.jmcresearch.com/ ,最新版本是1.9a。jail软件包提供了几个Perl脚本作为其核心命令,包括mkjailenv、addjailuser和addjailsw。mkjailenv:创建chroot“监牢”目录,并且从真实文件系统中拷贝基本的软件环境。addjailsw:从真实文件系统中拷贝二进制可执行文件及其相关的其它文件(包括库文件、辅助性文件和设备文件)到该“监牢”中。addjailuser:创建新的chroot“监牢”用户。

5.PHP配置文件的安全设定

phpinfo和get_cfg_var函数主要用于调试程序是否正常,当LAMP服务器安装结束后应当禁止其使用, 编辑php.ini文件加入一行:

disable_functions = phpinfo,get_cfg_var

这样可以避免泄漏系统服务信息。

6.使用.htaccess文件保护

.htaccess文件是Apache服务器上的一个设置文件。它是一个文本文件,可以使用任何文本编辑器进行编写。. htaccess文件提供了针对目录改变配置的方法,即通过在一个特定的文档目录中放置一个包含一个或多个指令的文件(.htaccess文件),以作用于此目录及其所有子目录。 .htaccess的功能包括设置网页密码、设置发生错误时出现的文件、改变首页的文件名(如index.html)、禁止读取文件名、重新导向文件、加上MIME类别、禁止列目录下的文件等。上传.htaccess文件时,必须使用ASCⅡ模式,并使用chmod命令改变权限为:644(RW_R__R__)。每一个放置.htaccess的目录和其子目录都会被.htaccess影响。例如,在/abc/目录下放置了一个.htaccess文件,那么/abc/和/abc/def/内所有的文件都会被它影响,但/index.html不会被它影响,这一点是很重要的。通过.htaccess来保护CMS网站更为方便和安全。因为它不像利用程序实现密码保护时,有可能通过猜测的方法获取密码。利用.htaccess文件实现密码保护,一般是很难破解的。

到此为止,基于mambo CMS系统上的Wiki网站就建立了,由于mambo CMS功能强大,包含系统信息也比较多,所以,用户必须要了解到这个软件有可能会产生一些安全上的漏洞。建议随时注意官方网站:http://www.mamboserver.com/ ,这里不定期会有一些安全技术公告,可以帮助用户的Wiki使用更加安全。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章