目录
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 使用方式
- 新建页面
如果想新建一个 HelloWorld 页面,可在地址栏输入:http://192.168.64.128/wiki/index.php/HelloWorld ,在出现的页面中点击"创建",输入内容后点击"保存页面"即可。
页面支持 MedisWiki 语法。 - 修改导航栏
通过wiki地址index.php/MediaWiki:Sidebar ,如:http://192.168.64.128/wiki/index.php/MediaWiki:Sidebar ,或者在搜索栏中输入"mediawiki:sidebar",进入页面后点击编辑即可,格式如下:
*导航栏名称一
**链接一地址|链接一名称
**链接二地址|链接二名称
*导航栏名称二
**链接一地址|链接一名称
**链接二地址|链接二名称
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即使有也会因为缺少这些功能而难以驾驭数量多、结构复杂的页面。