• 信步漫谈之Wiki知识库——搭建mediawiki



    1 目的

    • 使用 LAMP (Linux,Apache,MySQL和PHP)在 CentOS 7 上安装 MediaWiki 的方式和遇到的问题和遇到的问题
    • MediaWiki 的使用方式
    • MediaWiki 词条编写的语法

    2 资源

    系统:CentOS 7.7.1908-Minimal(本文服务器地址:192.168.64.128)
    Mediawiki版本:mediawiki-1.35.0.tar.gz(mediawiki各版本下载地址

    3 安装LAMP

    • 关闭防火墙
    # systemctl stop firewalld.service
    # systemctl disable firewalld.service
    
    • 启用epel和remi存储库以使用最新的PHP 7.x版本安装LAMP
    # yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    # yum install epel-release
    
    • 禁用安装php5.4以从remi存储库安装php7.3
    # yum-config-manager --disable remi-php54
    # yum-config-manager --enable remi-php73
    
    • 继续安装Apache , MariaDB和PHP以及运行MediaWiki所需的必要扩展
    # yum -y install httpd
    # yum -y install mariadb-server mariadb-client
    # yum install php php-mysql php-pdo php-gd php-mbstring php-xml php-intl texlive
    
    • 启动并启用服务
    # systemctl start httpd
    # systemctl enable httpd
    # systemctl start mariadb
    # systemctl enable mariadb
    
    • 运行 MariaDB 安全配置
    # mysql_secure_installation
    
    • 重新启动Apache Web服务器
    # systemctl restart httpd
    

    4 创建数据库

    # mysql -u root -p
    
    • 创建 media_wiki 数据库,如需独立用户访问,则创建用户分配权限,也可直接使用 root 访问
    # CREATE DATABASE media_wiki;
    # CREATE USER 'wiki'@'localhost' identified by '123456';
    # GRANT ALL PRIVILEGES on media_wiki.* to 'wiki’@'%';
    # FLUSH PRIVILEGES;
    # QUIT;
    

    5 安装 MediaWiki

    • 将下载的安装包上传到 /opt/mediawiki 目录,解压到 /var/www/html 目录下,重命名为 wiki
    # cd /opt/mediawiki
    # tar -zxvf mediawiki-1.35.0.tar.gz -C /var/www/html
    # cd /var/www/html
    # mv mediawiki-1.35.0 wiki
    
    • 重启 httpd 服务
    systemctl restart httpd
    

    6 MediaWiki 初始配置

    访问 MedisWiki 应用程序(http://192.168.64.128),并根据提示进行安装即可。

    • 选择语言(中文)
    • 配置数据库名称和用户密码
    • 配置管理员账号、密码、邮箱
    • 直到最后一步安装成功,提示下载 LocalSettings.php
    • 将 LocalSettings.php 拷贝至 wiki 的根目录(index.php的同级目录)
    • 完成安装

    7 MediaWiki 使用方式

    *导航栏名称一
    **链接一地址|链接一名称
    **链接二地址|链接二名称
    
    *导航栏名称二
    **链接一地址|链接一名称
    **链接二地址|链接二名称
    

    8 MediaWiki 词条编辑语法

    基本编辑语法如下,详细请见 MediaWiki 文档

    == Heading Example ==
    === SubHeading 1 ===
    ==== List Example ====
    * List 1
    * List 2
    * List 3
    ** List 3.1
    ** List 3.2
    *** List 3.2.1
    *** List 3.2.2
    ==== Number List Example ====
    # Number 1
    # Number 2
    # Number 3
    ## Number 3.1
    ### Number 3.1.1
    ==== Indent Example ====
    No Indent!
    : Indent 1
    :: Indent 2
    ::: Indent 3
    ==== List ====
    ;Item 1 : Description 1
    ;Item 2 : Description 2
    ;Item 3 : Description 3
    === SubHeading 2 ===
    ==== Link Example ====
    *[[Link 1]]
    *[[Link 2]]
    *[[首页]]
    *[[#Link|页面锚点]]
    *[http://www.google.com Google]
    *[mailto:someone@example.com mailto]
    *[[media:test.txt]]
    
    ==== Font Example ====
    *''斜体
    *'''黑体
    *'''''斜体加黑体
    *''''左右各一个单引号''''
    
    === SubHeading 3 ===
    ==== 用线分割文本 ====
    This is the first line.
    ----
    This is the second line.
    ==== Text Example ====
    <pre>
    abcdefg [[main]]
    haha
    haha
    </pre>
    ==== HTML Example ====
    <center>Center Align</center>
    ==== Table Example ====
    {| class="wikitable" border="1"
    |-
    ! header 1
    ! header 2
    ! header 3
    |-
    | row 1, cell 1
    | row 1, cell 2
    | row 1, cell 3
    |-
    | row 2, cell 1
    | row 2, cell 2
    | row 2, cell 3
    |}
    

    9 遇到的问题及解决

    • 安装过程提示:yum-config-manager: command not found
      原因:系统默认没有安装这个命令
      解决:这个命令在 yum-utils 包里,通过命令 yum -y install yum-utils 安装即可

    10 相关知识

    • 运行 mysql_secure_installation 会执行几个设置
      a)为root用户设置密码
      b)删除匿名账号(生产环境建议删除)
      c)取消root用户远程登录(root 账号是否允许远程登录)
      d)删除test库和对test库的访问权限(是否删除 test 库)
      e)刷新授权表使修改生效(刷新使用修改立即生效)

    • 为什么 MedisWiki 不支持 markdown 语法?(来源于网络)
      作为维基百科的载体,mediawiki 语言的设计有以下两个特点

      • 将页面关联起来,构建一个知识网络。
      • 使用可定制的标记。

      和早年的rtf格式一样,markdown语言实际上只是一种富文本格式,因此markdown不需要考虑各个文档之间的关系,它的链接语法也无法与mediawiki相比,更没有为页面的复用与可定制的链接设计专门的语句。下面的这些语句不可能从mediawiki迁移到markdown:

      • 用于实现页面模板、定制格式的嵌入包含{{}}
      • 用于实现页面分类带多个参数的内部链接[[]]
      • 像“宏”一样在模板内提供基本逻辑功能的解析器函数{{#}}

      因此markdown就无法实现mediawiki 的某些基本功能,难以表达某些复杂格式的文本,纯markdown的wiki即使有也会因为缺少这些功能而难以驾驭数量多、结构复杂的页面。

    11 参考资料(感谢)

  • 相关阅读:
    cocos2d-x关于CCTableView的“乱序问题”的理解
    线段树
    goldengate 简单配置 oracle to oralce
    iphone缩小uIImage图片
    基本排序算法小结
    Qt4创建工程的几种方法:linux系统
    velocity中的velocityCounter不起作用的原因
    autotools入门笔记(一)
    cp命令的实现
    AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字)
  • 原文地址:https://www.cnblogs.com/alfredinchange/p/14174786.html
Copyright © 2020-2023  润新知