查看“︁建站/MediaWiki”︁的源代码
来自Wired
←
建站/MediaWiki
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
流程已由 <code>1.40.0</code>、<code>1.41.1</code>、<code>1.42.3</code>、<code>1.43.0</code> 版本验证,无需为符合本文创作环境而刻意避免最新版本,只需注意相关文件或路径的版本号差异。 == 我需要做什么? == <blockquote>按照[[#安装框架]]操作,然后享受Mediawiki。 * 优化、调教请移步:'''[[建站/WIKI功能]]''' </blockquote> = 安装框架 = == 框架文件 == <sup>※ 官网:https://www.mediawiki.org/</sup> 下载框架:<syntaxhighlight lang="shell" line="1"> cd /var/www/html # 进入网站根目录 wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.1.zip #下载框架压缩包,如果国内服务器下不动可以本地下载好通过ftp传输 #建议下载最新版本:https://www.mediawiki.org/wiki/Download </syntaxhighlight>解压文件(具体文件名请看自己下载的版本,下同):<syntaxhighlight lang="shell" line="1"> unzip mediawiki-1.41.1.zip # 解压文件,若没有unzip,则运行该命令安装:apt install unzip </syntaxhighlight>移动框架文件到网站资源目录下: * 如果仅此一个站点: ** <syntaxhighlight lang="shell" line="1"> mv mediawiki-1.41.1/* ./ # 将 mediawiki-1.41.1 文件夹内的所有文件和文件夹移动到当前目录(即 html 目录)。 </syntaxhighlight> * 如果是多站点(记得一并[[建站/LAMP#修改站点配置文件-多站点设置|修改apache2配置文件]]): ** <syntaxhighlight lang="shell" line="1"> mv mediawiki-1.41.1 mediawiki # mv {原文件夹名称} {新文件夹名称} 注意,若新文件夹存在,则会放置于新文件夹内而非覆盖/合并。 </syntaxhighlight> 安装需要的PHP依赖<sup>(参考:[[mediawikiwiki:Manual:Installation_requirements#PHP|安装要求]]/[[mediawikiwiki:PHP_configuration#Required|PHP配置]];[[建站/LAMP#安装PHP|安装WEB环境]]时已经装了就不用再重复了)</sup>:<syntaxhighlight lang="shell" line="1"> sudo apt-get install php php-apcu php-common php-intl php-json php-mbstring php-xml libapache2-mod-php php-mysql php-curl -y </syntaxhighlight>重启apache2:<syntaxhighlight lang="shell" line="1"> systemctl reload apache2 </syntaxhighlight> == 初始化设置 == 安装好后访问ip就能看到引导页了,若要通过url访问请先设置好[[建站/域名|域名解析]]。 如果您不习惯纯文本介绍,我在建新站时特意保留了一份截图:[https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_001_%E8%AF%AD%E8%A8%80.avif 语言]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_002_%E7%8E%AF%E5%A2%83%E6%A3%80%E6%9F%A5.avif 环境检查]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_003_%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93.avif 连接到数据库]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_004_%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E7%BD%AE.avif 数据库设置]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_004.5_%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E7%BD%AE_%E5%81%87%E8%8B%A5%E7%94%A8%E5%85%B6%E4%BB%96%E8%B4%A6%E6%88%B7.avif 数据库设置(假若用其他账户)]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_005_WIKI%E5%90%8D%E7%A7%B0%E5%8F%8A%E7%AE%A1%E7%90%86%E5%91%98%E8%B4%A6%E6%88%B7.avif WIKI名称及管理员账户]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_006_%E6%89%A9%E5%B1%95%E7%AD%89%E6%9B%B4%E5%A4%9A%E9%80%89%E9%A1%B9.avif 扩展等更多选项]<sup>(与本文推荐的略有出入)</sup>、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_007_%E7%BB%93%E6%9D%9F%E9%85%8D%E7%BD%AE.avif 结束配置]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_008_%E6%A0%B9%E6%8D%AE%E9%85%8D%E7%BD%AE%E5%88%9B%E5%BB%BA%E7%8E%AF%E5%A2%83.avif 根据配置创建环境]、 [https://scio.eu.org/image/WIKI/%E5%BB%BA%E7%AB%99%E7%9B%B8%E5%85%B3/%E5%88%9D%E5%A7%8B%E5%8C%96%E8%AE%BE%E7%BD%AEMediawiki_009_%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.avif 生成配置文件]。 所有配置都会写入<code>'''LocalSettings.php'''</code>配置文件中,均随时可修改;未提及的为无需变动/修改/添加的设置,直接下一步即可 '''基础信息''': 数据库信息: * <code>数据库名称</code>:自定义即可,不存在的话会创建个新的; * <code>数据表前缀</code>:就是 <code>'''xxx_'''实际表名</code> 多个服务共用数据库可设置,否则建议留空; * 填写数据库的<code>root账户</code>及<code>密码</code>。 站点信息: * <code>站点名称</code>、<code>管理员用户名</code>、<code>密码</code>、<code>邮箱</code>(无需真实); '''进阶设置''': <u>用户权限配置文件</u>:<code>仅限授权编辑者</code>,游客只能浏览、无法注册账户,管理员可后台建立账户; <u>电子邮件设置</u>:私人wiki取消勾选即可,如果需要邮件推送功能,需要配置邮件SMTP服务器; <u>皮肤</u>: <code>Vector</code> 、 <code>MonoBook</code> 比较舒服,后者虽信息利用率更高,但功于窄点的侧边栏与小点的字体,且ui太古老,所以我设前者为默认; * 目前默认启用的还是 Vector 2010,也是截图示例的样子,设置里可以启用2022版本的<sup>(维基百科新的默认皮肤是这个)</sup>,诸如侧边栏支持折叠的目录等挺好,但不好看。 <u>拓展程序</u>:具体用途见选项旁的“更多信息”或于官网搜索,这里只说必要安装的,根据需求可选的(具体见[[建站/WIKI功能]])。 * <u>特殊页面</u>: ** '''<code>[[mediawikiwiki:Extension:Replace_Text|ReplaceText]]</code>'''(<code>[[特殊:替换文本]]</code>|全局批量替换):以整个wiki为单位进行替换内容; *** 执行速度可能没那么快,确认勾选了<code>显示编辑记录</code>的话可以到<code>特殊:最近更改</code>查看进度; *** 默认的搜索无法查询到url,可以用它替代搜索功能,但这个页面仅限有权限的用户使用。 * <u>编辑器</u>: ** '''<code>[[mediawikiwiki:Help:VisualEditor/User_guide|VisualEditor]]</code>'''(可视化编辑):mediawiki的灵魂; *** 没typora我就不会用markdown,没它我也不会用mediawiki,源代码编辑器及模板/模块/拓展等功能是它的上限,而可视化编辑器就是它的下限,上限极高、下限极低,对于文本创作,可视化编辑器足矣。 *** '''<u>另外两个</u>'''是增强源代码编辑器体验的工具,'''<u>建议一并启用</u>''',如果要编辑表格的样式或使用模板等还是要用到的。 * <u>解析器钩子</u>: ** 不一定会用,但复杂点的功能几乎离不开的; *** [[mediawikiwiki:Extension:ParserFunctions|'''<code>ParserFunctions</code>''']](函数解析器):详见[[mediawikiwiki:Help:Extension:ParserFunctions|官方文档]],装上以防万一。 *** [[mediawikiwiki:Extension:TemplateData|<code>'''TemplateData'''</code>]](模板):创建具有固定格式的内容框架(文本/表格/信息框)。 *** <code>'''[[mediawikiwiki:Extension:Scribunto|Scribunto]]'''</code>(模块):可以嵌入lua语言代码,以实现很多高级功能,要想使用还请参考[[建站/WIKI功能/功能实现#模块|#模块]]配置权限。 ** [[mediawikiwiki:Help:Cite#book_referencing|'''<code>Cite</code>''']](脚注):详见官网,不支持换行(可以输入四个横线渲染出分割线实现换行)!一般都是引用链接而不是填写信息;如果有引用,默认会渲染到文末,可以在源代码编辑器下用“ <code><nowiki><references /></nowiki></code>”指定插入的位置;配合[[建站/WIKI功能/功能实现#鼠标悬浮显示引用文本|#鼠标悬浮显示引用文本]]体验更佳。 * <u>垃圾预防</u>:'''<code>[[mediawikiwiki:Extension:ConfirmEdit|ConfirmEdit]]</code>'''(防垃圾邮件):主要是防止恶意猜密码登陆的行为,但验证码比较简单,要自定义见官网。也可以参考[[mediawikiwiki:Extension:AbuseFilter|AbuseFilter]]、[[mediawikiwiki:Extension:SpamBlacklist|SpamBlacklist]]、[[mediawikiwiki:Extension:TitleBlacklist|TitleBlacklist]]。 <u>图像和文件上传</u>: * 勾选<code>启用文件上传</code>,已删除文件目录可以留空,默认在 <code>/网站根目录/images/deleted</code> 文件夹中,如果要删除无用文件也别动这个文件夹,用[[建站/WIKI功能]]提到的维护工具; * <code>即时共享资源</code>类似于跨wiki链接,可以引用[[commons:Main_Page|维基共享资源]]的内容,具体见:[[建站/WIKI功能/功能实现#嵌入外部WIKI的图片|#嵌入外部WIKI的图片]]。 <u>个性化</u>:图标与侧边栏标志可以先记住位置以后再更换图像(可以修改路径、也支持jpg/png等常用格式); ----接着不断继续即可,最后会下载“<code>LocalSettings.php</code>”文件,将其放置于mediawiki框架的根目录下,便大功告成了! * 除了ftp传输外,也可以复制里面的内容,并通过ssh访问服务器,在网站根目录下:<code>nano LocalSettings.php</code> 并粘贴内容(ctrl+shift+v)、保存(ctrl+s)、退出(ctrl+x)。 == 可能的问题 == '''不能将上传内容存储至暂存处''': 没有上传文件夹(<code>./images/</code>)的写入权限,在网站根目录下运行:<syntaxhighlight lang="shell" line="1"> sudo chown -R www-data:www-data ./images/ sudo chmod -R 755 ./images/ </syntaxhighlight> '''网站跳转IP/http而非域名/https''': 初始化设置的时候是用的IP或未配置ssl,在配置文件(<code>LocalSettings.php</code>)修改成你想要的地址,如:<syntaxhighlight lang="php" line="1"> $wgServer = "https://wiki.scio.icu"; </syntaxhighlight> '''添加了拓展文件后,无法访问页面''': 检查拓展文件夹(./extensions)权限,在网站根目录下运行<sup>(分别是给设定的目录下的文件夹755权限、文件644权限)</sup>:<syntaxhighlight lang="shell" line="1"> find ./extensions -type d -exec chmod 755 {} \; find ./extensions -type f -exec chmod 644 {} \; </syntaxhighlight><sup>※ 给文件授予权限时,建议精准到文件夹,如 <code>./extensions/目标扩展</code> 直接给所有文件授权不止缓慢,还有可能打乱需要特定权限的设置(如 [[建站/WIKI功能/功能实现#代码块|#代码块]]、[[建站/WIKI功能/功能实现#模块|#模块]])。</sup> '''文件上传大小限制:''' 默认有文件最大不能上传2MB的限制,修改配置文件:<code>nano /etc/php/<u>8.1</u>/apache2/php.ini</code> ,修改为需要的体积限制(之后记得重启apache2:<code>systemctl reload apache2</code>):<syntaxhighlight lang="php" line="1"> post_max_size = 20M upload_max_filesize = 20M </syntaxhighlight><sup>※ 这两行在配置文件几百行开外,善用nano的查找(ctrl+w)功能。</sup> '''其他可能问题''': * <code>创建缩略图出错:尺寸超过12.5 MP的文件</code>:[[mediawikiwiki:Manual:$wgMaxImageArea#Example_code|Manual:$wgMaxImageArea#Example_code]] * <code>无法渲染webp照片</code>:[[建站/WIKI功能/功能实现#其他_2]] = 打破隔阂 = 可视化编辑器无限降低了Mediawiki的编辑下限,而源代码编辑器及各种附加扩展功能使其上限又很高,两者不是冲突而是共存的,可以在编辑时随意切换。因此我不认为“''我不会使用medaiwiki编辑内容''”会阻挡你前进,我想它的本质应该是“''我不知道从何下手''”,毕竟我们对wiki框架的刻板印象已久,一时或许想不到自己的应用场景。 <big>'''创建页面:'''</big> 您可以'''先把您的首页编辑掉''',当作其他博客框架的“关于我”页面,介绍下您与您的站点,并适当的索引站内其他文章。 您可以先行索引一些不存在的文章,比如:[[不存在的文章(示例用)]],它会显示为红色,我们保存页面后可以点击它<sup>(也可以直接修改url的标题部分)</sup>,会提示“<u>本页面目前没有内容</u>”并询问是否“<u>创建本页面</u>”,我们就可以着手写我们的第一个文章。但当“<code>不存在的文章(示例用)</code>”页面发布后,首页的索引文本或许还是红色,因为服务器端[[建站/WIKI功能/基础功能#刷新页面缓存|#刷新页面缓存]]需要一定的时间。 <big>'''可视化编辑器:'''</big> <sup>※ 官网用户指南见:[[mediawikiwiki:Help:VisualEditor/User_guide/zh|Help:VisualEditor/User_guide/zh]]</sup> 可视化编辑器就像word、typora这类编辑器一般,编辑与渲染在相同的地方,知乎等主流社区的编辑功能亦是如此,区别只是其支持的功能。您可以随意的尝试,以便于了解它们都有什么效果与样式,如果您曾经写了其他文章,也可以重新利用可视化编辑器进行排版并发表。 可视化编辑器适用于文本创作,对于模板等高级功能支持效果并不理想,但对于一般的wikitex语法和部分高级样式,都可以通过复制粘贴的形式嵌入,它会解析部分内容,直接渲染出结果,而不必切换到源代码编辑视图下。 <big>'''分类与页面:'''</big> 您可以参考我对wiki的文章的管理机制:[[Wiki:SCIO系列站点WIKI章程|wiki:SCIO系列站点WIKI章程]],您可以先按照自己的思路去维护索引页,让其随着内容的增多而根据需求慢慢的调成,这是一个过程。 不论单独创建一个索引页, 还是把首页当作索引页,亦或者其他方式,我们没必要考虑的太过深远,未来的事谁也说不准,只要它能满足当下的需求,我们都可以慢慢的进行调整。 <big>'''编辑功能的缺陷:'''</big> 参考:[[建站/框架#劣势]],了解下编辑的缺陷与应对方案。 <big>'''不要管功能,去创作:'''</big> 您是否也有一些系列文章想要编辑,比如您建站的历程?您所喜好的事物?您的待办事项与媒体推荐列表?您的学习笔记?您的心境及想法?这些都是不错的题材,哪怕您目前没有系统的内容可写,就算是一些线索,也总要给其一个机会。这也是系列站点的历程,我也不知道要写什么, 但给自己与线索一些宽容,它们或许会给我们一些惊喜。 Mediawiki有很大的操作空间,但这是我们所需要的吗?不是,只是单纯的用于文字创作,可视化编辑器足矣。我们可以当作那些复杂的功能不存在,先静心于创作,在这个过程中熟悉它所提供的基础功能及界面,当急切的需求某个功能时,再去对症下药。 [[Category:建站]]
返回
建站/MediaWiki
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
搜索
站点信息
更新日志
所有内容
三部曲
互联网
提问的艺术
策略与名词目录
建站
LAMP
WIKI功能
互联网
慢讯
OSINT项目
工具
链入页面
相关更改
特殊页面
页面信息