本文讲述如何使用Mediawiki搭建个人wiki系统、以及wiki的部分基本操作和设置

Mediawiki Wamp php pdf导出

目录[-]

  • Wiki安装
  • 基本配置
  • 常用插件
  • 备份及优化

日常开发中总会有许多东西需要记录,很多软件都可以做到这一点,例如有道云笔记,或者写博客。但个人偏爱于Mediawiki,因为wiki可定制性强,总给人一种高端大气的感觉。起初对wiki这种东西一无所知,受老总的影响,开始在公司推广wiki,可惜到现在没有推广成功,不过自己倒是喜欢上这东西了。废话少扯,进入正题吧。

首先大致说说wiki是什么吧。在我看来,wiki就是一种学术性的博客,但是更加严谨,相当于字典,也不完全像字典一样拘束与单词,总之,我也说不清楚,形象的说,就是一个文档系统吧。当前有很多wiki软件,例如Wikipedia使用的Mediawiki,以及MoinMoin,还有其他的很多版本;而Mediawiki应该是最广为人知的吧。

Wiki安装

Mediawiki基于php,可以选择MySQL、Sqlite等诸多数据库,在windows上首选wamp server来配置神一般的Php+MySQL环境。本文使用的是Mediawiki1.21.2,Wamp2.4 ,windows8 pro x64的环境。可以建一个专门放网站的目录,例如d:/work/www,将wiki解压到该目录下即可。在wamp安装目录下的alias目录下,新建一个配置文件,例如wiki.conf,内容如下:

1
2
3
4
5
NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "D:/Work/www/mediawiki-1.21.2/"
    ServerName solee.org
</virtualHost>

因为是本机的缘故,我在host中将solee.org解析到127.0.0.1,穷人买不起虚拟主机。这样访问localhost,将会进入Mediawiki的初始化安装界面。该安装程序实际上是引导你生成LocalSettings.php,当然也可以手工设置。建议先自己选择,这样会生成一个LocalSettings.php文件,并执行相应的数据库初始化,将此php下载后放到wiki的根目录下面,直接再访问localhost即可进入wiki。好了,wiki安装就这样简单。

基本配置

wiki配置很丰富,下面介绍几种可能感兴趣的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#个人wiki,禁止创建帐号功能,除非登陆才能访问
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['read'] = false;
#启用详细异常显示.
$wgShowExceptionDetails = true;
#去除底部powered by图标
unset($wgFooterIcons['poweredby']);
#对于没有登录的用户,没有登录的用户移除页面顶部的讨论页链接
$wgShowIPinHeader = false;
#默认在新标签页中打开链接
$wgExternalLinkTarget '_blank';

其他诸如图标、主题、短链接等配置可以自行探索。

常用插件

常用的插件,主要是富文本编辑器了,当个人倾向于使用纯文本编辑器,也就是Mediawiki自己提供的编辑器。默认的工具条很丑,可以在页面右上角的设置->编辑中开启增强功能。

富文本编辑器可选用WYSIWYG,搜索合适的版本下载之后,解压到extensions目录,并在LocalSettings.php中添加一行,加载此拓展:

富文本编辑器

1
require_once"$IP/extensions/WYSIWYG/WYSIWYG.php" );

这样安装好之后,可以在设置中选择喜欢的编辑器,或者选择在文本和富文本编辑器中自由切换。

代码高亮

1.21.2的代码高亮插件已经默认集成了,如果没有集成,可以搜索Mediawiki Geshi安装此插件。

pdf导出

Mediawiki的 pdf导出应该说算是比较头疼的问题了,其实支持pdf导出的插件不少,但是对中文的支持非常不好,目前可以用PdfExport插件比较完美的实现。官方的PdfExport插件已经过时(目前不知道是否更新了),需要进行部分修改:

Mediawiki1.21.2导出,可以使用PdfExport插件+Mpdf进行。当前HtmlDoc等其他后端均不能支持中文。 Mpdf需要配置支持CJK字符

配置LocalSettings.php

1
2
3
4
#pdf导出插件
require_once("$IP/extensions/PdfExport/PdfExport.php");
#使用Mpdf作为PdfExport的后端,但必须配置支持ckj字体
$wgPdfExportMPdf =  $IP '/extensions/Mpdf/mpdf.php'// Path to the main mPDF.php file

配置字体config_font.php(需要将字体添加到字体文件夹中)

        "sun-exta" => array('R' => "Sun-ExtA.ttf",'sip-ext' => 'sun-extb',),"sun-extb" => array('R' => "Sun-ExtB.ttf",),

修改config_cp.php

        CASE "zh":$unifonts = "sun-exta,sun-extb";break;

修改MPdfConverter.php

        $mpdf = new mPDF('zh');$mpdf->SetAutoFont(AUTOFONT_ALL);$mpdf->WriteHTML($html);

修改config.php

        $this->useAdobeCJK = true;

另外,需要注释掉下面的函数调用:

        //wfLoadExtensionMessages('PdfPrint');

其他插件:

1
2
3
4
5
6
#Flash插件
require_once("$IP/extensions/oflash/orificeflash.php");
#视频插件
require_once("$IP/extensions/MediawikiPlayer/MediawikiPlayer.php");
#批量导入插件
require_once("$IP/extensions/MultiUpload/MultiUpload.php");

当然具体的插件需要自己去下载。通常谷歌Mdiawiki  <插件名称>即可找到官方的下载地址。

备注:

1
2
#禁用掉此扩展,否则可能不能正常进入wiki
#require_once"$IP/extensions/LocalisationUpdate/LocalisationUpdate.php" );

备份及优化

备份主要涉及到数据库的备份及Wiki的备份。对于这种非分布式、非云计算(哈哈——)的东西来说,备份就显得尤为重要了。

1
    D:\Prog\wamp\bin\mysql\mysql5.6.12\bin\mysqldump -u root -ppassword solee_wiki_db >F:\wiki.sql

wiki备份直接把wiki的文件夹打个包即可。如果是采取sqlite数据库的话,数据库备份更加简单了。

在windows上一个比较烦人的问题就是,wamp的mysql内存占用甚是大,在我4G内存的机器上吃了500M,这不能忍啊,因此需要优化一下mysql:

[mysqld]
port=3306
max_connections = 100
#加入以下内容
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256

最后来张效果图吧:

如何使用Mediawiki搭建个人wiki系统、以及wiki的部分基本操作和设置相关推荐

  1. 搭建wiki知识库快速搭建PHPWind论坛系统

    搭建wiki知识库&快速搭建PHPWind论坛系统 本教程将教会大家如何使用阿里云ECS快速搭建wiki知识库以及PHPWind论坛系统 基本步骤: 更换操作系统 设置安全策略组 备份原文件 ...

  2. MediaWiki 1.19.2 发布 - 开源 Wiki 系统

    MediaWiki全球最著名的开源wiki程序,运行于PHP+MySQL环境.MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例.目前MediaWiki的开发得 ...

  3. 使用开源软件XWIKI搭建公司内部WIKI系统

    一 应用背景描述 在平时的运维工作中,把常规工作进行文档整理非常重要,无论是平时工作处理或是工作交接,实时的维护文档资料可以提高工作效率.如果采用传统的TXT文档或者Word文档来记录的话修改不太方便 ...

  4. 利用IPFS构建自己的去中心化分布式Wiki系统

    IPFS全称InterPlanetary File System,中文名:星际文件系统,是一个旨在创建持久且分布式存储和共享文件的网络传输协议. 它是一种内容可寻址的对等超媒体分发协议.在IPFS网络 ...

  5. 免费wiki系统php,HDWiki

    软件简介 HDWiki是专为中文用户设计和开发,程序源代码100%完全开放的一个采用 PHP 和 MySQL 数据库构建的高效的中文百科建站解决方案,在尊重版权的前提下能极大的满足站长对于网站程序进行 ...

  6. 自建家居 Wiki 系统(BookStack 服务)

    最近想着家里搭建一个 Wiki 系统,用于记录家人之间的一些小事情.调研了一下现在的一些方案,Confluence.WikiMedia.dokuwiki.wiki.js 等,出于自己的诉求: 开源.免 ...

  7. php wiki 建站,WIKI 建站系统 HDWiki

    软件介绍 HDWiki是专为中文用户设计和开发,程序源代码100%完全开放的一个采用 PHP 和 MySQL 数据库构建的高效的中文百科建站解决方案,在尊重版权的前提下能极大的满足站长对于网站程序进行 ...

  8. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  9. 从0开始搭建坚不可摧的Web系统主流架构

    从0开始搭建坚不可摧的Web系统主流架构 转自:http://mp.weixin.qq.com/s/HKqgdR0qM3FhdGWcWnlpug 主题简介: 1.网站系统架构当前现状 2.Web系统主 ...

  10. apache+tomcat 搭建负载均衡系统

    apache+tomcat+mod_jk 搭建负载均衡系统. 0.os系统采用centos6.8 x64 2.6.32-642.el6.x86_64 1.首先安装好jdk环境本次采用jdk-8u111 ...

最新文章

  1. centos7 pam mysql.so,Centos7下搭建FTP服务器(博主亲测不坑)
  2. [LuoguP1064][Noip2006]金明的预算方案
  3. VMware + CentOS 网络设置为NAT模式
  4. 最长回文子串(Longest Palindromic Substring)
  5. struct.error: cannot convert argument to integer解决办法
  6. arm 基于qcamera实现_面向HPC和笔记本市场 ARM发Cortex A78C增强版
  7. 安卓第三天笔记--通知-进度条-时期
  8. 002-Go通过ioutil 读写文件
  9. 优化美国服务器,美国服务器性能优化
  10. 【整理】牛客网编程题前端篇(较难难度)
  11. Atitit 数据库视图与表的wrap与层级查询规范
  12. 计算机网络——报文格式
  13. 【论文翻译】从零开始PointNet论文分析与代码复现
  14. 电机控制的fast decay与slow decay
  15. Dota数据集切割以及保存为yolo和voc格式——HBB
  16. make px4fmu-v2_default报错:ninja:no work to do
  17. [530]Win10怎么打开注册表编辑器
  18. VS2015下解决:error LNK2019: 无法解析的外部符号 __iob_func
  19. 什么是IssS,PaaS和SaaS及其区别
  20. 妈妈,我再也不要参加美国大学生数学建模大赛了!

热门文章

  1. php对接工行sdk,工商银行-银企直连签约流程
  2. 如何获取ppt内的视频文件
  3. 产品经理——关于色彩搭配!!
  4. ppt制作弹跳的小球动画效果_PPT制作弹跳的小球动画效果实例教程
  5. 【转载】COMSOL Multiphysics 5.3a 安装教程
  6. 极大似然估计的通俗理解
  7. 版式设计——网页排版
  8. Android ndk开发C调用C++
  9. STM32学习(电容触摸按键)
  10. 【力扣】合并两个有序链表