Manual:LocalSettings.php
MediaWiki文件: LocalSettings.php | |
---|---|
位置: | / |
源代码: | 未在Git中 (在安装时创建) |
类: |
LocalSettings.php
文件提供了MediaWiki安装的基本配置设置。
您应该花些时间查看文件中的设置。
该文件一般是由基于Web的MediaWiki安装程序生成,但您可以调整参数,与Apache配合使用。
若将MediaWiki作为维基农场配置,可能会使用一个被称为CommonSettings.php
的文件。
服务器上的位置
LocalSettings.php
文件不是一个Wiki页面且您不能够通过网页浏览器访问它。
相反,它是服务器文件系统中的一个文件。
它的内容是在wiki的初始设置过程中生成的,生成的文件必须手动复制到服务器上。
此文件必须位于您安装MediaWiki的目录中,与文件夹includes/
、skins/
和文件api.php
在同一级目录。
若该文件不在这里,这个Wiki将完全不会工作;若这个Wiki在工作,那么该文件就在这里。
如果您不知道这个文件在哪里,您可以在终端窗口中输入例如命令来查找它,例如:find / -iname LocalSettings.php -print。
(如果你正在使用 Vagrant,另见 MediaWiki-Vagrant#MediaWiki_settings。)
安全
LocalSettings.php
通常包含敏感数据比如数据库登录信息。
这个数据永远不应向公众透露。
由于服务器上某处存在安全漏洞,可能会发生其他用户可以查看文件内容。
为了提高数据的安全性,您应该相应地为此文件设置UNIX权限:服务器用户必须能够访问这个文件。
若与拥有该文件的帐户相同,则可以将权限设置为600。
有时服务器用户不是这个文件的所有者,而在所有者的UNIX用户组中。
这时权限应被设置为640。为了提高安全性,您应尽可能使用最小权限。
此外,您可以创建一个仅在Wiki上使用MySQL用户并在LocalSettings.php
中提供相关的凭据。此外,您还可以配置您的MySQL服务器仅接受来自于本地的连接,这将降低从外部访问使凭据泄露的情况。
另请参阅 手册:保护数据库密码 以了解将 LocalSettings.php
的敏感部分移动到不同目录中的不同文件的方法。
文件内容
当您在编辑LocalSettings.php
文件时,请确保以正确的编码下保存。您应该使用“ANSI as UTF-8”编码(即无字节顺序标记的UTF-8编码)。
LocalSettings.php
文件中包含了PHP代码,主要是变量和其值的定义。更改设置通常意味着更改PHP变量的值。将文件保存到服务器后,您的更改将立即生效:不需要手动“重启”任何东西。尽管在某些情况下,您可能需要清除浏览器的缓存才能看到您所做的更改。
许多默认值在includes/MainConfigSchema.php
中被设定,您不应该去改动它。如果您要更改的变量未在LocalSettings.php
中提及,请从$3中复制相应的行到LocalSettings.php
中并做些相应的更改。
在LocalSettings.php
中,您可以在末尾添加新行。
在该文件中,将有几行内容(例如“require_once "$IP/extensions/ExtensionName.php";
”)指向扩展。
这几行内容允许在wiki中启用相应的扩展。
这些扩展可能需要在LocalSettings.php
中设定更多变量的值,有关进一步的说明,请参阅相应扩展的文档。
像MediaWiki中的大多数PHP文件一样,LocalSettings.php
文件并不以关闭的PHP标签?>
结束。这样可以防止管理员意外地在此标签之后添加新信息。PHP没有关闭标签工作正常。
倘若您有一个在维基农场上的MediaWiki,您可能并没有编辑(可能也没有阅读的权限)LocalSettings.php
文件的权限(例如参见[1])。Wiki Farm的公司可能愿意或不愿做出您所期望的更改。也许他们希望在维基农场的所有维基上保持多数相同的配置。
可用参数概览
请参阅配置设置索引以及设置文件中包含的说明,以获取所有相关变量的帮助。以下列出了最重要的变量以及多数需要的功能的简短列表。
标准设置
安裝路徑
$IP (安装路径)变量保存了你的 wiki 基本安装的本地文件路径。
从 MediaWiki 1.18 开始,系统会自动设置 $IP。
不再需要在 $IP
中手动设置 LocalSettings.php
。
$IP
将默认为当前工作目录,无需手动定义即可使用。
尝试将 $IP
(或 MW_INSTALL_PATH
)设置为 LocalSettings.php
可能会产生意外结果。
网站名称
$wgSitename 保存您安装wiki时设置的名称。这个名字在整个系统中被多次包含如通过MediaWiki:Pagetitle。例如,维基百科的标语“维基百科,自由的百科全书”就使用了这个设置。
网站名称的变格
一些界面的翻译已备妥以應對站点名称的变化。 您可以在变量$wgGrammarForms 中设置正确的单词形式(例如,请参阅$wgSitename 文档页面)。
脚本路径
$wgScriptPath 是访问主要MediaWiki脚本的URL路径前缀,它是MediaWiki的中央核心代码。 这一设置应该与Apache的设置相符合,尤其是如果您使用了Apache的URL重写规则。
服务器名称
$wgServer 包含服务器的基本 URL,包括协议,但没有尾部斜杠,也没有子目录(如果有)。 当 wiki 从它运行的本地主机、Intranet 或 Internet 访问时,电子邮件通知和一些其他计算消息通常会通过不同的 URL 传送。
从 MediaWiki 1.34 开始,$wgServer
必须设置为 LocalSettings.php。
在此之前,MediaWiki 尝试自动检测服务器的名称,$wgServer
是可选的,以覆盖自动检测。
如果您wiki服务器在互联网上的地址是www.example.com ,那么请加入类似如下的一行:
$wgServer = 'http://www.example.com';
magic word 变量 {{SERVER}}
可用于维基页面; 它等于 $wgServer
的值; 然而,在维基媒体系列中,使用相对网址的维基,它不会完全展开,例如这里显示//www.mediawiki.org,既不能点击也不能复制粘贴到地址栏 照原样。
您还可以使用协议相对 URL,如下所示。
使用协议相对网址时,请务必设置 $wgCanonicalServer
。
对于代码中需要具有协议和主机名的源的某些地方,需要 $wgCanonicalServer
。
$wgServer = '//www.example.com';
$wgCanonicalServer = 'https://www.example.com';
脚本名称
$wgScript 是主要(索引)MediaWiki PHP 脚本的名称,默认名为 index.php
。 更改脚本名称可能不是一个好主意。 但是,如果您有这样做的冲动,那么这里就是您进行更改的地方。 确保你知道你在做什么。
文章路径
$wgArticlePath 是访问 MediaWiki 页面时使用的路径。 该路径应包含主脚本的路径(通常使用 $wgScript
)并使用 $1
占位符作为文章名称。
路径应包含主脚本的路径(通常使用 $wgScript
),并使用 $1
占位符作为文章名称。
如果您使用 Apache 重写规则来创建漂亮且简短的 URL,您可能需要调整 $wgArticlePath
以找到正确的路径。
请注意, wgArticlePath 用于从 MediaWiki 中构建 URL。
如果您在这里犯了错误,内部链接将不正确显示,而您仍然可以通过手动指定正确的 URL 来访问主页。
有关 URL 配置的更多信息,请参阅 手册:短链接 。
典型值为:
"$wgScript/$1"
|
用分隔符“/”传递文章名称 |
"$wgScript?title=$1"
|
将文章名称作为参数传值(旧风格) |
"/mypath/$1"
|
自定义路径。使用 Apache 重写规则将“mypath”转换为访问主脚本的正确路径 |
样式表位置
使用 $wgStylePath 将 URL 路径设置为 MediaWiki 安装的样式表 (CSS) 所在的位置。 $wgStyleDirectory 应该指向同一个地方,但请注意,这是一个本地文件系统路径,用于访问文件系统的内部脚本。
上传位置
上传目录是存放用户上传文件的地方。 $wgUploadPath 指定 URL 路径,$wgUploadDirectory 指向本地文件系统路径。
徽标
$wgLogo 指定在所有 MediaWiki 页面的左上角显示哪个图形标志。 这些步骤替换 /wiki/skins/common/images/ 目录中的默认标志,将 /wiki 替换为您安装 MediaWiki 软件的目录的路径。
See Manual:常见问题解答 for how to change the logo.
联络信息
$wgEmergencyContact 是出现问题时要联系的用户的电子邮件地址。此电子邮件地址用于向其发送内部错误报告。作为管理员,您应该在此处包含您的电子邮件地址。
$wgPasswordSender 是将密码发送给忘记密码的用户时,电子邮件“发件人”的电子邮件地址。选择一个人们可以在遇到麻烦或困惑时回复的地址。
数据库设置
MediaWiki 需要访问数据库(使用 MySQL 或 PostgreSQL)来存储页面、修改、用户信息和更多内容。
$wgDBserver 包含托管数据库的主机名。 在大多数情况下,这只是“localhost”,因为数据库运行在同一系统上,但对于分布式安装,您需要填写运行数据库的计算机的完全限定域名。
$wgDBname 是 MediaWiki 使用的数据库的"数据库名称"。 单个 MySQL 或 PostgreSQL 安装可以存储多个数据库,您甚至可以在单个服务器上运行多个 MediaWiki 安装。 确保您在此处声明了正确的数据库名称,并为同一数据库服务器上的不同 wiki 安装使用不同的数据库名称。
$wgDBuser 和 $wgDBpassword 包含 MediaWiki 用于访问数据库的登录名和密码。 确保指定的用户具有适当的访问权限,以便能够操作数据库服务器上的 wiki 表。
另请参阅 手册:保护数据库密码 ,了解将 LocalSettings.php
的敏感部分移动到不同目录中的其他文件的方法。
用户权限
$wgGroupPermissions 是一个关联数组,用于控制为不同用户组创建和编辑页面的权限。在此数组中,可以创建自定义权限级别,并且可以设置不同用户组的权限级别。有关可用不同权限和用户组的更多信息,请参阅 Help:User rights 。
强制链接首字母大写
默认情况下,任何页面名称都不能以小写字母 罗马字母:为了做到这一点,第一个字母被转换为大写;如果链接目标、包含的页面、图像或类别的名称以小写字母开头,则实际目标等是以相应大写字母开头的页面。
或者,页面名称可以以小写字母开头,此外还可以以大写字母、数字等开头。为此,您必须调整$wgCapitalLinks 。将其设置为 false 允许使用小写字符,true 选择默认行为。
启用子页面
在LocalSettings.php
中,子页面是使用$wgNamespacesWithSubpages 在每个命名空间的基础上启用的。例如,要在主命名空间中启用子页面,请执行以下操作:
$wgNamespacesWithSubpages[NS_MAIN] = 1;
图像上传
在用户被允许将文件上传到 MediaWiki 系统之前,您必须先启用该功能。請确保Apache Web服务器进程的上载目录已正确配置并可写入。然后将 $wgEnableUploads 设置为 true,以允许在web用户界面中上传。
即,这是 includes/DefaultSettings.php 中的一些示例代码,用于放在LocalSettings.php
之中:
$wgUploadPath = "$wgScriptPath/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images
$wgUploadDirectory = "$IP/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images
## To enable image uploads, make sure the above '$wgUploadPath' directory is writable by Apache User or group.
## ''(i.e. chmod og+w uploads images)'' then the following should be true:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
## If you want to use image uploads under safe mode, create the directories images/archive, images/thumb and
## images/temp, and make them all writable. Then uncomment this, if it's not already uncommented:
$wgHashedUploadDirectory = false;
如果您希望能够动态调整图像大小以支持缩略图,MediaWiki 需要一个有效的 ImageMagick 安装。
在系统上安装并测试 ImageMagick 后,将 $wgUseImageMagick 设置为 true。
确保 $wgImageMagickConvertCommand 指向安装中 convert
命令的正确位置,该命令可由 web 服务器进程执行,并且 $wgMaxShellMemory 足够大。
请参阅手册:图像管理#图像缩略图 了解详细信息和故障排除。
此外,您可能希望修改已接受的扩展列表,该列表存储在 $wgFileExtensions 内:
$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'ogg', 'doc', 'xls', 'ppt', 'mp3', 'sxc', 'pdf' ];
如果 ImageMagick 输出类似于以下内容的错误消息:
致命错误:mime_magic 无法初始化,magic 文件在 includes/MimeMagic.php 不可用,第 506 行
然后尝试将以下行添加到 LocalSettings.php
:
$wgMimeDetectorCommand = "file -bi";
跨wiki支持
MediaWiki内置了跨wiki支持,但你需要配置内部链接所需使用的前缀。
该前缀通常与$wgSitename
相同,但一旦你需要更改,可将$wgLocalInterwikis
变量设置为你想要的名称。
用户界面语言
MediaWiki 允许使用多种本地化用户界面语言,而不是默认的英语。如果你想以非英语语言运行你的 wiki,请将 $wgLanguageCode
变量设置为适当的语言代码(例如,"es"表示西班牙语,"zh"表示漢語等)。
您可以通过目录languages/i18n中的文件使用任何一种语言。例如,如果您找到了es.json
,那么就可以用 "es"
来表示西班牙语。不要使用带大写字母的 "Es"
。虽然这看起来似乎可行,但并非所有文本都會被翻译。
maintenance
文件夹,然后输入 php rebuildMessages.php --rebuild
。 在 Windows 环境下,PHP 文件夹可能不在 PATH
环境变量中,因此必须在 php 前加上程序路径。并非所有语言都支持。 请参阅TranslateWiki上的翻译统计,了解支持哪些语言以及支持程度的最新列表。 该列表反映的是 MediaWiki 核心的当前状态,因此根据你使用的版本可能会有差异。
设置网站的版权
- $wgRightsPage 是维基站点上涉及版权的页面。一般來說,它就是Project:版权 。
- $wgRightsUrl 是描述许可证详细信息的页面。(例如,对于GNU FDL来说,这會是
http://www.gnu.org/licenses/fdl.html
)。 - $wgRightsText 是页脚中「内容在......下可用」之后的文字。它将链接到
$wgRightsPage
中指定的页面。 - $wgRightsIcon 是放置在页脚左侧的图片的 URL。
$wgRightsPage
不是空的,版权/许可声明中的链接将链接到您网站上的该页面。若$wgRightsPage
是空的,则版权/许可声明中的链接将指向$wgRightsUrl
。想要修改网站的版权声明,请在LocalSettings.php
中添加类似内容:
$wgRightsPage = "YourWiki:Copyright";
$wgRightsText = "copyright YourWiki";
從此以後,請编辑MediaWiki:Copyright以提供适当的信息,它是使用其中的"$1"
来标明链接到版权页的位置。
例如:设置一個知识共享 许可
设置知识共享许可协议的步骤如下:
- 选择许可证: http://creativecommons.org/choose/
- 检查返回的 HTML 代码,例如:
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
<img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights30.png" />
</a>
This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>.
- 对于
$wgRightsURL
,输入第一个锚点的href信息:
$wgRightsUrl = "http://creativecommons.org/licenses/by-nc-sa/3.0/";
- 对于
$wgRightsText
,输入第二个锚点链接的文本(在Wiki变量中添加"a",以获得语法更正确的版本)
$wgRightsText = "a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License";
- 对于
$wgRightsIcon
,在第一个锚点中输入img链接的src信息。您需要将徽章复制到自己的网站,而不是使用知识共享网站上的徽章。
$wgRightsIcon = "http://creativecommons.org/images/public/somerights30.png";
自定义命名空间
通过声明$wgExtraNamespaces 、修改$wgNamespacesWithSubpages 和$wgNamespacesToBeSearchedDefault ,可以在MediaWiki安装中添加额外的命名空间;通过声明$wgNamespaceAliases 数组,可以添加命名空间别名。 請留意不要在该命名空间中设置任何已命名的页面,例如,如果您有一个名为"Technical:Support "的页面,而您创建了Technical: 命名空间,那么该页面不仅会丢失,而且您也无法将其从 Special:Allpages中移除。 要解决这个问题,请删除命名空间,将"Technical:Support"移至主空间的"Support",删除重定向,重新插入命名空间,然后将其移回"Technical:Support"。 请参见自定义命名空间 以获取更多相关信息。
皮肤
站点的默认皮肤可以通过$wgDefaultSkin 进行修改。
参见
- LocalSettingsGenerator.php 源代码,在安装过程中生成
LocalSettings.php
的初始内容。 - 维基家族可以共享同一个LocalSettings.php 。
- 手册:保护数据库密码 - 数据库密码和
LocalSettings.php
文件安全指南。