Manual:FAQ/zh: Difference between revisions
Zhangjintao (talk | contribs) No edit summary Tag: Added PHP closing tag |
|||
Line 1: | Line 1: | ||
{{FAQ header |
{{TNT|FAQ header}} |
||
<br clear="{{dir|{{pagelang}}|left|right}}" /> |
|||
===怎样让首页(mainpage)不显示Tagline?=== |
|||
{{TNT|shortcut|FAQ}} |
|||
<center>本FAQ是英文版[https://www.mediawiki.org/w/index.php?title=Manual:FAQ&oldid=1940597 的译本],可能不是最新的.</center> |
|||
==一言以蔽之== |
|||
=== MediaWiki, Wikimedia(维基媒体基金会), Wikipedia(维基百科)和wiki间的区别是什么?=== |
|||
===我应该怎样安装MediaWiki?=== |
|||
这个问题经常被问到,请参阅[[Special:MyLanguage/Differences between Wikipedia, Wikimedia, MediaWiki, and wiki|Wikipedia、Wikimedia、MediaWiki 和 wiki 的区别]]页面获得更详细的答案. |
|||
MediaWiki的安装可能需要花费您10到30分钟的时间,其中包括上传/复制文件到服务器,并运行安装脚本配置软件——参见[[Installation/zh|安装]]。 |
|||
=== 我能将MediaWiki用于某个用途么? === |
|||
您可以在分发包的<tt>'''INSTALL'''</tt>文件中找到详细的安装指南。 |
|||
MediaWiki是自由软件,这意味着你可以以任意方式使用它而不需要法律上的许可.你的wiki上的内容可以采用不同的协议.当然,作为支持维基百科运行的软件而发展起来的项目,我们鼓励你使用一个自由许可证授权你的wiki上的内容,但是这不是必须的. |
|||
如果你希望修改MediaWiki软件,没有问题!但是这里有一些限制,[http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 查看GNU 通用公共许可证第二版的全文了解详细信息.]因为MediaWiki是免费使用的,在适用的法律允许的范围内没有担保责任。 |
|||
==安装和设置== |
|||
===到哪里里下载MediaWiki?=== |
|||
[[Download|点击这里前往下载页.]]你会下载到一个[[:en:Tar (computing)|.tar]][[:en:gzip|.gz]]归档文件. 你也可以 [[download from Git|通过Git从我们的版本库中下载]] . |
|||
===如何安装MediaWiki?=== |
|||
安装MediaWiki的预计时间为10到30分钟,包括上传与复制文件,和运行设置脚本.请参阅[Manual:Installation guide|安装指南]],你也可以在那里找到'''系统需求'''. |
|||
===能通过软件包管理器安装MediaWiki吗?=== |
|||
===我如何打包安装MediaWiki?=== |
|||
大部分Linux发行版都会以分发包的格式提供MediaWiki软件。MediaWiki开发团队认为您应该向您的Linux发行版提供者咨询安装与配置的事宜。负责维护这些分发包的独立社群和公司应该向您提供安装指南。 |
大部分Linux发行版都会以分发包的格式提供MediaWiki软件。MediaWiki开发团队认为您应该向您的Linux发行版提供者咨询安装与配置的事宜。负责维护这些分发包的独立社群和公司应该向您提供安装指南。 |
||
<!-- add links here for the distributions? For example: |
|||
但是请注意因为软件源中的MediaWiki可能不是最新的,所以请密切关注你所使用的扩展的兼容性。 |
|||
Debian: |
|||
apt-get install mediawiki |
|||
:''另请参阅: [[Software bundles|MediaWiki软件套装(英文)]]'' |
|||
Redhat: |
|||
yum install mediawiki |
|||
===我能在一个服务器上运行多个MediaWiki网站吗?=== |
|||
--> |
|||
===我能在一台服务器上安装多个MediaWiki吗?=== |
|||
只要满足下列条件,您就可以在一台服务器上安装多个wiki: |
只要满足下列条件,您就可以在一台服务器上安装多个wiki: |
||
Line 26: | Line 38: | ||
要了解这些选项的相关信息,可分别参见'''[[Manual:$wgDBname|$wgDBname]]'''与'''[[Manual:$wgDBprefix|$wgDBprefix]]'''。 |
要了解这些选项的相关信息,可分别参见'''[[Manual:$wgDBname|$wgDBname]]'''与'''[[Manual:$wgDBprefix|$wgDBprefix]]'''。 |
||
要了解设置wiki家族的相关信息,可参见[[Manual:Wiki family |
要了解设置wiki家族的相关信息,可参见[[Special:MyLanguage/Manual:Wiki family|Manual:Wiki家族]]。 |
||
要了解将多个wiki设置为使用相同服务器、数据库与资源的其他方法,参见来自[http://www.steverumberg.com/wiki/index.php/WikiHelp Steve Rumberg]([http://web.archive.org/web/20070715020649/http://www.steverumberg.com/wiki/index.php/WikiHelp 存档])用户的更深层的解释与进一步的意见。 |
要了解将多个wiki设置为使用相同服务器、数据库与资源的其他方法,参见来自[http://www.steverumberg.com/wiki/index.php/WikiHelp Steve Rumberg]([http://web.archive.org/web/20070715020649/http://www.steverumberg.com/wiki/index.php/WikiHelp 存档])用户的更深层的解释与进一步的意见。 |
||
===MediaWiki能在安全模式下工作吗?=== |
|||
可以,但其功能会受到一定限制。参见[[Special:MyLanguage/Safe mode|安全模式]]。 |
|||
===MediaWiki |
===MediaWiki需要Shell访问吗?=== |
||
终端访问([[W:zh:Secure Shell|SSH]]访问)在安装MediaWiki的过程中并不是必须的,但我们'''强烈推荐'''你这么做。如果不能进行终端访问,您可能难以对您的wiki进行备份,或难以将它升级到更新的版本。如果完全脱离终端访问,您将不能完成一些维护任务。 |
|||
可以,但其功能会受到一定限制。参见[[Safe mode|安全模式]]。 |
|||
===如何安装扩展?=== |
|||
===MediaWiki需要终端访问吗?=== |
|||
参见[[Manual:Extensions]]获取安装插件与编写插件的相关信息。参见[[:Category:Extensions|Category:插件]]以寻找已有的插件。 |
|||
终端访问(SSH访问)在安装MediaWiki的过程中并不是必须的,但我们'''强烈推荐'''你这么做。如果不能进行终端访问,您可能难以对您的wiki进行备份,或难以将它升级到更新的版本。如果完全脱离终端访问,您将不能完成一些维护任务。 |
|||
===如何添加额外的名字空间?=== |
|||
===我应该怎样安装插件?=== |
|||
参阅[[Special:MyLanguage/Manual:Using custom namespaces|Creating a custom namespace]]. |
|||
参见[[Manual:Extensions]]获取安装插件与编写插件的相关信息。参见[[Extension Matrix|插件矩阵]]与[[:Category:Extensions|Category:插件]]以寻找已有的插件。 |
|||
=== |
===如何启用文件上传?=== |
||
文件上传是MediaWiki常用的功能之一,但在目前所有的发行版中都被默认关闭了。要启用它们,首先要让网站服务器上的上传文件夹(默认为<code href="w:Secure Shell">images</code>)可被写入(chmod 777或允许Apache用户写入内容,等等),然后在LocalSettings.php中将'''[[Manual:$wgEnableUploads|$wgEnableUploads]]'''设为<code>true</code>值(例如“$wgEnableUploads = true;”)。如果你在上传时遇到了一个"failed to mkdir" (无法创建文件夹)错误,你可能需要调整你的服务器上的文件权限。 |
|||
要增加[[Manual:Namespace|名字空间]],请修改您的'''[[Manual:LocalSettings.php|LocalSettings.php]]'''文件,并通过'''[[Manual:$wgExtraNamespaces|$wgExtraNamespaces]]'''变量来增加名字空间。您可以将下列代码加到上述文件中以增加“Portal”名字空间及其对应的讨论名字空间: |
|||
:''也请参阅:[[Manual:Configuring file uploads]]'' |
|||
:<tt>$wgExtraNamespaces = array(100 => "Portal", 101 => "Portal_talk");</tt> |
|||
===如何在MediaWiki中显示数学公式?=== |
|||
{{note/zh}}请使用下划线来替代空格,例如<tt>Portal_talk</tt>。否则,名字空间将不能被正确地定义! |
|||
MediaWiki允许用户插入数学公式。参见[[Manual:Math]]获取安装指南。 |
|||
=== 如何设置我的Wiki的时区? === |
|||
===我应该怎样启用上传功能?=== |
|||
:''请参阅: [[Manual:Timezone]]'' |
|||
文件上传是MediaWiki常用的功能之一,但在目前所有的发行版中都被默认关闭了。要启用它们,首先要让网站服务器上的上传文件夹(默认为<tt>images</tt>)可被写入(chmod 777或允许Apache用户写入内容,等等),然后在LocalSettings.php中将'''[[Manual:$wgEnableUploads|$wgEnableUploads]]'''设为<tt>true</tt>值(例如“$wgEnableUploads = true;”)。参见'''[[Manual:Configuring file uploads|Manual:配置文件上传]]'''获取进一步的信息。 |
|||
=== |
===如何强制刷新一个缓存页面?=== |
||
在texvc软件的协助下,MediaWiki允许用户插入数学公式。texvc使用LaTeX来描述数学公式。参见[[Manual:Math]]获取安装指南。 |
|||
有时您需要刷新被缓存的页面,比如当页面的导航栏发生了变化后。在页面的动态URL后加上<code href="w:Secure Shell">&action=purge</code>即可。 |
|||
===我怎样才能刷新被缓存的页面?=== |
|||
有时您需要刷新被缓存的页面,比如当页面的导航栏发生了变化后。在页面的动态URL后加上<code>&action=purge</code>即可。 |
|||
例如:http://www.mediawiki.org/w/index.php?title=Main_Page&action=purge |
例如:http://www.mediawiki.org/w/index.php?title=Main_Page&action=purge<p>或在页面的短型URL后加上<code>?action=purge</code>:</p><p>例如:[http://www.mediawiki.org/wiki/Main_Page?action=purge http://www.mediawiki.org/wiki/Main_Page?action=purge]</p> |
||
:''也请参阅:[[Manual:Purge]], [[Manual:Parameters to index.php]]''. |
|||
=== 如何完全停用缓存? === |
|||
或在页面的短型URL后加上<code>?action=purge</code>: |
|||
将下列语句加入LocalSettings.php即可: |
|||
例如:http://www.mediawiki.org/wiki/Main_Page?action=purge |
|||
[[Manual:$wgEnableParserCache|$wgEnableParserCache]] = false; |
|||
[[Manual:$wgCachePages|$wgCachePages]] = false; |
|||
===如何允许上传其他格式的文件?=== |
|||
参见:[[Manual:Purge|Manual:刷新缓存]]、[[Manual:Parameters to index.php|Manual:传给index.php的参数]] |
|||
MediaWiki 使用'''[[Manual:$wgFileExtensions|$wgFileExtensions]]来限定允许上传的文件格式.''' |
|||
例如,要允许用户上传PDF格式文件,请将下面一行增加到你的LocalSettings.php中: |
|||
例如,要允许用户上传PDF文件,将下列语句加入LocalSettings.php即可: |
|||
<source lang="php"> |
<source lang="php"> |
||
$wgFileExtensions[] = 'pdf'; |
$wgFileExtensions[] = 'pdf'; |
||
</source> |
</source> |
||
可以像下面这样一次添加多个文件类型: |
|||
{{note/zh}}如果要允许用户上传多种类型的文件,语法会有所不同。 |
|||
要实现这种需求,请仿造下方使用数组来允许png、gif、jpg、jpeg、pdf与txt文件上传的做法。 |
|||
<source lang="php"> |
<source lang="php"> |
||
$wgFileExtensions = |
$wgFileExtensions = array_merge($wgFileExtensions, array( 'pdf', 'txt', 'mp3' )); |
||
</source> |
</source> |
||
:''也请参阅:[[Special:MyLanguage/Manual:Configuring file uploads]]'' |
|||
=== |
==="文件已损坏或者扩展名不正确"=== |
||
有些用户报告说,在向已允许扩展名列表中增加文件格式后,软件会发生错误。出错后的文字类似于下方: |
有些用户报告说,在向已允许扩展名列表中增加文件格式后,软件会发生错误。出错后的文字类似于下方: |
||
:''文件已损坏或存在无效扩展名。请重新检查并上传文件。'' |
:''文件已损坏或存在无效扩展名。请重新检查并上传文件。'' |
||
'''可能的解决方案:'''<ul>*设定'''[[Manual:$wgMimeDetectorCommand|$wgMimeDetectorCommand]]'''的值,例如:在Unix或Linux,您可以将它设为 <dl> :<code>$wgMimeDetectorCommand = "file --brief --mime";</code></dl> |
|||
'''可能的解决方案:''' |
|||
*设定'''[[Manual:$wgMimeDetectorCommand|$wgMimeDetectorCommand]]'''的值,例如:在Unix或Linux,您可以将它设为 |
|||
*:<tt>$wgMimeDetectorCommand = "file --brief --mime";</tt> |
|||
*编译/安装PHP插件'''[http://pecl.php.net/package/fileinfo fileinfo]''' |
*编译/安装PHP插件'''[http://pecl.php.net/package/fileinfo fileinfo]''' |
||
**Fedora - yum install php-pecl-Fileinfo |
**Fedora - yum install php-pecl-Fileinfo |
||
</ul> |
|||
:''也请参阅:[[Manual:Mime type detection]]''.code> |
|||
===安装程序没创建一个管理员用户?=== |
|||
参见'''[[Manual:Mime type detection|Manual:Mime类型探测]]'''获取进一步的信息。 |
|||
{{anchor|Initial user was not created by installer}}<!-- previous title, should remain an alias --> |
|||
===初始用户并未由安装程序创建=== |
|||
有时,安装程序有可能不能成功地创建默认用户,或者用户表因为某种原因丢失了。有两种解决此问题的方案: |
|||
有时可能因为安装程序没有成功运行或是用户表丢失的缘故导致没有管理员账户,这里有几个修复的方法: |
|||
====maintenance/createAndPromote.php==== |
====maintenance/createAndPromote.php==== |
||
*确保已正确设定<tt>AdminSettings.php</tt>(参见<tt>AdminSettings.sample</tt>) |
|||
*在终端运行<tt>maintenance/createAndPromote.php</tt> |
|||
*对于1.16以前版本的MediaWiki,确保<code>[[AdminSettings.php]]</code> 配置正确(参阅<code>AdminSettings.sample</code>) |
|||
这样会创建一名新的用户,并将其提升为管理者。要获取帮助信息,可在运行脚本时加上参数<tt>--help</tt>。 |
|||
*在shell中运行 <code>[[Manual:createAndPromote.php|maintenance/createAndPromote.php]] --username <新用户名> --password <密码></code> . 要让新创建的用户既成为管理员又成为行政员,加入<code>--bureaucrat</code> 参数. |
|||
这会创建一个新用户并授予管理员权限,运行 <code>createAndPromote.php</code><code>--help</code>获得帮助. |
|||
====修改数据库==== |
|||
*使用正规手段注册一个新帐户([[Special:Userlogin]])。 |
|||
*在[[Special:Preferences|Special:参数设置]]中查出用户ID。 |
|||
*在数据库运行以下SQL查询: |
|||
**MediaWiki 1.5及更高版本:<br /> <code>INSERT INTO user_groups ( ug_user, ug_group ) VALUES ( ''<id>'', 'bureaucrat' ), ( ''<id>'', 'sysop' );</code> |
|||
**MediaWiki 1.4:<br /> <code>UPDATE user_rights SET ur_rights = 'sysop,bureaucrat' WHERE ur_user = <id>;</code> |
|||
**MediaWiki 1.3及更低版本:<br /> <code>UPDATE user SET user_rights = 'sysop,bureaucrat' WHERE user_id = <id>;</code> |
|||
上方的<code>''<id>''</code>应被修改为您先前在参数设置中查到的用户ID。 |
|||
====在数据库中修改==== |
|||
===我如何才能重置密码?=== |
|||
您可以使用<tt>maintenance/changePassword.php</tt>[[Manual:Maintenance scripts|维护脚本]]来重置一名用户的密码。 |
|||
*用一般方法注册一个账户 ([[Special:UserLogin]]). |
|||
'''您必须在命令行下运行该脚本。'''换句话说,请登录到安装wiki的服务器,然后进入命令行提示符。进入安装目录,然后进入maintenance子目录。运行下列命令: |
|||
*在 [[Special:Preferences]] 中查看用户ID. |
|||
*在数据库中执行下列SQL语句: |
|||
**<code>INSERT INTO user_groups ( ug_user, ug_group ) VALUES ( ''<id>'', 'bureaucrat' ), ( ''<id>'', 'sysop' );</code> |
|||
::<code>''<id>''</code>.用你刚刚查阅的用户ID替换. |
|||
::注意: 如果LocalSettings.php中定义了 <code>$wgDBprefix</code> ,记得加在表名前.例如 <code>$wgDBprefix</code> = "XYZ"时的表名是 <code>XYZuser_groups</code>. |
|||
====临时允许任何人修改用户权限,然后给初始化时创建的用户分配权限==== |
|||
php changePassword.php --user=someuser --password=somepass |
|||
{{TNT|Warning|最好在进行这项操作时关闭你的wiki的外部访问,因为此时你的wiki更容易受到破坏.}} |
|||
这里可见的“somepass”就是您将要设置的密码,而“someuser”就是您将修改其密码的用户名,该用户名应出现在数据库的“user”表中。 |
|||
为了能修改用户权限,这个操作的关键是允许所有用户修改权限. |
|||
您同样可以使用直接修改数据库的老办法。假设变量<var>$wgPasswordSalt</var>已被设为true值(默认),您可以在'''MySQL'''中运行下列SQL查询: |
|||
*用一般方法注册一个账户 ([[Special:UserLogin]]),然后登录. |
|||
*在LocalSettings.php中加入下面一行 |
|||
<blockquote><code>$wgAddGroups['user'] = true;</code></blockquote> |
|||
*在 [[special:userrights]]中将新创建的用户添加到管理员与行政员组. |
|||
*.将刚刚添加的<code>$wgAddGroups['user'] = true;</code> 删除 |
|||
*Remove the <code>$wgAddGroups['user'] = true;</code> line from your LocalSettings.php . This step is '''very important''', as until you remove it anyone can alter permissions, which is bad. |
|||
=== 如何重置密码?=== |
|||
<source lang="sql"> |
|||
: ''参阅 [[Manual:Resetting passwords]]'' |
|||
UPDATE user SET user_password = MD5(CONCAT(user_id, '-', |
|||
MD5('somepass'))) WHERE user_name = 'someuser'; |
|||
===如何创建或修改跨wiki链接?=== |
|||
: ''参阅'' ''[[Manual:Interwiki]]'' |
|||
===如何让显示的URL更短?=== |
|||
<sup>(例如用 /wiki/Article_Name as opposed 取代 /w/index.php?title=Article_Name)</sup> |
|||
:''参阅'' ''[[Manual:Short URL]]'' |
|||
=== 我能像目录一样组织页面吗,像/wiki/subdir/PageName这样? === |
|||
:''参阅'' ''[[Manual:$wgNamespacesWithSubpages]], [[Help:Subpages]]'' |
|||
===下载和使用MediaWiki是免费的吗?=== |
|||
是的,在[https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6 自由软件]意义下的自由。参见[[Project:Copyrights]]了解本站已有内容在许可协议方面的问题。 |
|||
===如何管理用户权限?=== |
|||
<span id="How_do_I_administrate.2Fmanage_my_users.3F"><!-- compatibility anchor --></span>参见[[Manual:User rights|Manual:用户权限]]与[[Manual:User rights|Manual:用户权限管理]]获取常见的信息。参见[[Manual:Preventing access|Manual:访问控制]]获取限制访问的方法与措施。 |
|||
====如何阻止匿名用户编辑页面?==== |
|||
建议修改<code>[[Manual:$wgGroupPermissions|$wgGroupPermissions]]</code>. 添加下面一行到<code>[[LocalSettings.php]]</code>: |
|||
<source lang="php">$wgGroupPermissions['*']['edit'] = false;</source> |
|||
通过[[Extension:AbuseFilter]],管理员可以临时阻止匿名编辑. |
|||
:''也请参阅:[[Manual:Preventing access#Restrict anonymous editing|阻止访问]], [[Manual:User rights]]''. |
|||
====如何阻止匿名用户创建页面?==== |
|||
*添加下面一行到<code>[[LocalSettings.php]]</code>的最下面: |
|||
<source lang="php">$wgGroupPermissions['*']['read'] = false;</source> |
|||
也请参阅 [[Manual:$wgWhitelistRead]]. 参阅[[Manual:Preventing access#Restrict viewing of all pages]] for more information. |
|||
====如何阻止创建账户?==== |
|||
*添加下面一行到<code>[[LocalSettings.php]]</code>的最下面: |
|||
<source lang="php">$wgGroupPermissions['*']['createaccount'] = false;</source> |
|||
参阅[[Manual:Preventing access#Restrict account creation]] for more information. |
|||
====如何在注册时要求提供电子邮件地址?==== |
|||
:''参阅[[Manual:$wgEmailConfirmToEdit]]'' |
|||
===如何让MediaWiki只读?=== |
|||
{{MW 1.5|and after}} |
|||
:''参阅[[Manual:$wgReadOnly]]'' |
|||
=== 如何修改默认的用户设置? === |
|||
{{MW 1.4|and after}} |
|||
MediaWiki 将默认的用户选项保存在语言文件中,例如<code>languages/Language.php</code>.但是和DefaultSettings.php一样,别修改它,做参考就好. |
|||
在Language.php查找你要修改的选项,例如: |
|||
<source lang=php> |
|||
/* private */ $wgDefaultUserOptionsEn = array( |
|||
... |
|||
'searchlimit' => 20, |
|||
... |
|||
) |
|||
</source> |
</source> |
||
这里可见的“somepass”就是您将要设置的密码,而“someuser”就是您将修改其密码的用户名,该用户名应出现在数据库的“user”表中。 |
|||
要改成50的话,在LocalSettings.php里添加: |
|||
{{note/zh}}CONCAT字符串中的<tt>user_id</tt>是一项列名,不应被替换为'someuser'。 |
|||
<source lang=php> |
|||
$wgDefaultUserOptions = array( 'searchlimit' => 50 ); |
|||
</source> |
|||
注意是设置[[Manual:$wgDefaultUserOptions|$wgDefaultUserOptions]],而不是$wgDefaultUserOptionsEn. |
|||
要改变默认搜索的名字空间,在LocalSettings.php里设置[[Manual:$wgNamespacesToBeSearchedDefault|$wgNamespacesToBeSearchedDefault]].例如要默认搜索主名字空间和分类名字空间: |
|||
{{note/zh}}如果您得到了'dbname.user table does not exist'错误,请检查[[Manual:LocalSettings.php|LocalSettings.php]]文件,并特别注意[[Manual:$wgDBprefix|$wgDBprefix]]变量的值。如果该变量不为空,请尝试重复执行上述命令,并将SQL查询<tt>UPDATE</tt>子句中的<tt>user</tt>替换为<tt>$wgDBPrefix_user</tt>。 |
|||
<source lang=php> |
|||
$wgNamespacesToBeSearchedDefault = array( |
|||
NS_MAIN => true, |
|||
NS_CATEGORY => true, |
|||
); |
|||
</source> |
|||
某些情况下,你在改变默认设置后希望改变现有用户的设置. |
|||
要这样做的话,在maintaince目录运行[[Manual:userOptions.php|userOptions.php]]. 第一次运行建议加入 "--dry" 参数(这个参数用来模拟运行,不会修改数据库。)。 |
|||
如果您使用的是'''PostGreSQL''',请使用下列查询替代: |
|||
php userOptions.php --dry --nowarn searchlimit --old 20 --new 50 |
|||
<source lang="sql"> |
|||
UPDATE mwuser SET user_password = |
|||
另外,在进行实际操作前建议备份数据库。 |
|||
md5(user_id || '-' || md5('somepass')) WHERE user_name='someuser'; |
|||
:''也请参阅:[[Manual:$wgDefaultUserOptions]] |
|||
===如何优化MediaWiki的运行速度?=== |
|||
:''请参阅: [[Manual:Performance tuning]]'' |
|||
===如何启用搜索建议?=== |
|||
:''请参阅: [[Manual:Enabling autocomplete in search box]]'' |
|||
==升级== |
|||
:''请参阅: [[Manual:Upgrading]]'' |
|||
<!-- {{#lst:Manual:Upgrading|FAQ}} --> |
|||
==移动== |
|||
===能把我的wiki移动到另一台电脑上吗?=== |
|||
应该可以,实质上就是备份你的安装然后"还原"到一台新电脑上.然后对配置进行一些适当的调整以适合新服务器的需要. |
|||
===那么,如何做?=== |
|||
参阅 [[Manual:Moving a wiki]]. |
|||
==定制界面== |
|||
===如何修改左上角的标志?=== |
|||
左上角的标志是由''[[Manual:LocalSettings.php|LocalSettings.php]]''中的[[Manual:$wgLogo|$wgLogo]]选项决定. |
|||
有两个方法可以修改: |
|||
# 通过标准上传界面向你的wiki上传一张图片,这样以后修改起来也容易,所以你可能希望保护它防止被篡改. |
|||
#: 向''LocalSettings.php''添加$wgLogo参数, 例如: |
|||
#: <source lang="php">$wgLogo = "{$wgUploadPath}/6/62/mylogo.png";</source> |
|||
# 或者向服务器直接上传一张图片. |
|||
#: 向''LocalSettings.php''添加$wgLogo参数, 例如: |
|||
#: <source lang="php">$wgLogo = "{$wgScriptPath}/mylogo.jpg";</source> |
|||
#: (这个例子中图片和LocalSettings.php在一个文件夹中.) |
|||
要改变某些页面的标志,覆盖#p-logo的background-image属性,或者使用像[[Extension:LogoFunctions]]这样的扩展. |
|||
{{TNT|caution|别覆盖默认的logo (<code>/skins/common/images/wiki.png</code>); 因为升级时会被覆盖.}} |
|||
{{TNT|tip| 135x135px 或 150x150px是合适的logo大小. 最大的logo大小是 ~160x160px(Vector), ~155x155px(Monobook). 过大的部分会被裁剪.}} |
|||
===如何编辑wiki的CSS?=== |
|||
别直接编辑像main.css一类的CSS文件,因为这样会使你日后的升级变得困难.要改变全站的样式,编辑[[MediaWiki:Common.css]],要改变特定皮肤的样式(例如Monobook),编辑[[MediaWiki:Monobook.css]].这些页面的内容会覆盖main.css中的值. |
|||
===如何隐藏左侧的导航栏=== |
|||
换句话说,你希望内容占据全部的宽度来隐藏logo和左侧导航? |
|||
要隐藏它们,将下面的代码添加到[[MediaWiki:Common.css]]中. |
|||
<source lang="css"> |
|||
#column-content { margin: 0 0 .6em 0; } |
|||
#content { margin: 2.8em 0 0 0; } |
|||
#p-logo, .generated-sidebar, #p-lang, #p-tb, #p-search { display:none; } |
|||
#p-cactions { left: .1em; } |
|||
</source> |
</source> |
||
要只在用户按下F11时隐藏,将下面的代码添加到 [[MediaWiki:Common.js]]: |
|||
您还可以尝试使用'''[[Extension:Password Reset|重设密码插件]]'''。 |
|||
<source lang="javascript" enclose="div"> |
|||
===我怎样在我的Wiki里创建跨wiki链接?=== |
|||
document.onkeydown = function( e ) { |
|||
====数据库专家需要的答案==== |
|||
if( e == null ) e = event |
|||
如果您所感兴趣的外部链接链向维基百科,而您希望使用前缀“wp”来链向它(前缀“wikipedia”是链向Wikipedia的默认跨wiki前缀,参见[[Help:Interwiki linking|Help:跨wiki链接]]获取其他默认前缀),运行下列SQL查询来在您的数据库中修改[[interwiki table|interwiki表]]: |
|||
if( testKey( e, 122 ) ) { //F11 |
|||
<source lang="sql"> INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('wp', 'http://en.wikipedia.org/wiki/$1', '0', '0');</source> |
|||
appendCSS('#column-content {margin: 0 0 .6em 0;} #content {margin: 2.8em 0 0 0;} #p-logo, .generated-sidebar, #p-lang, #p-tb, #p-search {display:none;} #p-cactions {left: .1em;} #footer {display:none;}'); |
|||
$1代表外部wiki中的条目名称。 |
|||
return false; |
|||
} |
|||
} |
|||
function testKey( e, intKeyCode ) { |
|||
===='''一般用户需要的答案'''==== |
|||
if( window.createPopup ) |
|||
在图形化的SQL程序中(例如PhpMyAdmin),进入[[interwiki table|interwiki表]]。选好要插入的那一列,在[[Interwiki table#iw_prefix|iw_prefix]]项中,填入你想要的跨wiki前缀;在[[Interwiki table#iw_url|iw_url]]项中,填入'''外部'''wiki的基本URL并加上“$1”,$1的含义已在上方数据库专家答案中解释过。[[Interwiki table#iw_local|iw_local]]与[[Interwiki table#iw_trans|iw_trans]]则均为默认值零(0)。您将它们留为0即可。 |
|||
return e.keyCode == intKeyCode |
|||
else |
|||
return e.which == intKeyCode |
|||
} |
|||
</source> |
|||
=== 如何隐藏页面底部的分类列表? === |
|||
'''更多相关的信息''',参见[[Help:Interwiki linking|Help:跨wiki链接]] |
|||
添加这一行到你wiki的[[MediaWiki:Common.css]]中 |
|||
<source lang="css">.catlinks { display: none; }</source> |
|||
===我能自定义左侧顶部的标志吗,如果可以的话,怎样做?=== |
|||
===='''简单答案'''==== |
|||
* 要修改标志的图片,参阅[[#如何修改左上角的标志?|上节]]. |
|||
安装[[Extension:SpecialInterwiki|Special:Interwiki]]插件。然后您就可以通过Special:Interwiki特殊页面来添加或移除跨wiki入口了。 |
|||
* 要修改样式,在样式表中为#p-logo选择器定义样式即可,默认的样式像这样: |
|||
<source lang="css"> |
|||
===我怎样才能让我的基本URL更短?(例如:是“/wiki/条目名”而不是“/w/index.php?title=条目名”) === |
|||
#p-logo { |
|||
参见[[Manual:Short URL|Manual:短URL]]。 |
|||
z-index: 3; |
|||
position: absolute; /*needed to use z-index */ |
|||
top: 0; |
|||
left: 0; |
|||
height: 155px; |
|||
width: 12em; |
|||
overflow: visible; |
|||
} |
|||
</source> |
|||
记住,要编辑你wiki上的[[MediaWiki:Common.css]]一类的页面而不是直接修改核心css文件. |
|||
===MediaWiki.org上所有的内容都是自由下载和使用的吗?=== |
|||
是的,在[[:zh:自由软件|自由软件]]意义下的自由。参见[[Project:Copyrights]]了解本站已有内容在许可协议方面的问题。 |
|||
===如何改变点击左上角的标志后跳转到的页面?=== |
|||
===我如何管理用户权限?=== |
|||
默认情况下点击logo会返回到首页,要指定哪一个页面是首页,编辑[[MediaWiki:Mainpage]]. |
|||
<span id="How_do_I_administrate.2Fmanage_my_users.3F"><!-- compatibility anchor --></span> |
|||
参见[[Manual:User rights|Manual:用户权限]]与[[Manual:User rights|Manual:用户权限管理]]获取常见的信息。参见[[Manual:Preventing access|Manual:访问控制]]获取限制访问的方法与措施。 |
|||
要在点击logo时前往任意的其他页面(不一定是你的wiki),你可以向LocalSettings.php中增加一个hook来覆盖默认设置. |
|||
====我怎样才能禁止匿名用户编写任何页面?==== |
|||
*在LocalSettings.php底部加入<nowiki>$wgGroupPermissions['*']['edit'] = false;</nowiki>语句。 |
|||
参见[[Manual:Preventing access#Restrict anonymous editing|Manual:访问控制#限制匿名编辑]]获取进一步的信息。 |
|||
<source lang=php> |
|||
====我怎样才能禁止匿名用户阅读任何页面?==== |
|||
/* 改变首页的URL为绝对路径 */ |
|||
*在LocalSettings.php底部加入<nowiki>$wgGroupPermissions['*']['read'] = false;</nowiki>语句 |
|||
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 'lfChangeMainPageURL'; |
|||
参见[[Manual:$wgWhitelistRead]]。参见[[Manual:Preventing access#Restrict viewing of all pages|Manual:访问控制#限制对所有页面的查看]]获取进一步的信息。 |
|||
function lfChangeMainPageURL( $sk, &$tpl ) { |
|||
$tpl->data['nav_urls']['mainpage']['href'] = "http://www.your-desired-url.com/"; // Point the main page url to an absolute url |
|||
return true; |
|||
} |
|||
/* Change the main page url used in things like the logo to a url of another page on the wiki */ |
|||
====我怎样才能限制帐户的创建?==== |
|||
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 'lfChangeMainPageURL'; |
|||
*在LocalSettings.php底部加入<nowiki>$wgGroupPermissions['*']['createaccount'] = false;</nowiki>语句 |
|||
function lfChangeMainPageURL( $sk, &$tpl ) { |
|||
参加[[Manual:Preventing access#Restrict account creation|Manual:访问控制#限制帐户创建]]获取进一步的信息。 |
|||
$tpl->data['nav_urls']['mainpage']['href'] = Title::newFromText('ThePage')->getLocalURL(); // Point the main page url to a wiki page's url |
|||
return true; |
|||
} |
|||
</source> |
|||
===改变标志的大小=== |
|||
==升级== |
|||
Note that a tag is on top of the logo so if you are trying to reduce the size of the logo's portlet you will also need to change the #p-logo a and #p-logo a:hover rules. The default setting for these is: |
|||
常用的升级过程说明都能在'''<tt>UPGRADE</tt>'''文件中找到。参见[[Manual:Upgrading|Manual:升级]]。 |
|||
<source lang="css"> |
|||
#p-logo a, |
|||
#p-logo a:hover { |
|||
display: block; |
|||
height: 200px; |
|||
width: 12.2em; |
|||
background-repeat: no-repeat; |
|||
background-position: 35% 50% !important; |
|||
text-decoration: none; |
|||
} |
|||
</source> |
|||
===如何改变地址栏的图标 (favicon)?=== |
|||
===升级有多难?=== |
|||
*把favicon.ico上传到你的服务器的根目录. |
|||
*或者编辑''LocalSettings.php''中的[[Manual:$wgFavicon|$wgFavicon]],增加<code>$wgFavicon = "$wgScriptPath/path/to/your/favicon.ico";</code>. |
|||
参阅[[Manual:$wgFavicon]]获得更多细节. |
|||
如果您只曾修改过LocalSettings.php文件,而且您是从1.5或更新的版本升级的,那么升级的过程将会非常简单。需要人工插手的工作总共只有几分钟。数据库模式修改的时间将根据您数据库的大小而定——如果是一个拥有百万页面的wiki,那么可能会花费几个小时,但如果只有几千个页面,那么通常几秒钟就完成了。 |
|||
''提示: favicon 的大小应为16x16 / 32x32 像素.'' |
|||
在同一个主要版本中的小升级,例如从1.13.0到1.13.1,不需要对数据库作出任何修改。您只需要升级文件就行了。 |
|||
====Rewrite 规则==== |
|||
如果您是从1.4或更早的版本升级的话,那么升级过程可能会有一些复杂,因为新版本不再支持UTF-8以外的字符集,存放大量字符的数据库会面临潜在的大量修改。请阅读<tt>UPGRADE</tt>文件的相关段落获取有关信息。 |
|||
如果你有用URL重写规则从URL中移除"index.php",你也需要为.ico加个例外.把下面一行加入到.htaccess中: |
|||
:RewriteRule .*\.ico$ - [L] |
|||
如果您曾经动过我们的源文件,而且您不愿意让您的修改被覆盖的话,那么升级将变得有些困难。类似[http://www.gnu.org/software/diffutils/diffutils.html diff]和[http://www.gnu.org/software/patch/ patch]这样的工具会很有用。还有一种潜在的问题在于您没有维护您使用的插件。请在升级MediaWiki的同时也升级您的插件。 |
|||
这个规则必须在index.php的规则''之前''. |
|||
===我如何才能从旧版本升级?一步还是逐步?=== |
|||
====注意区分大小写==== |
|||
一步就可完成,直接将您的旧版本升级为最新的稳定版。大量的报告以及自动测试指出,您一步就可以完成升级。 |
|||
记得favicon.ico的文件名全是小写("favicon.ico",而不是"Favicon.ico").大多数的服务器(例如类UNIX系统)可能找不到有大写的文件名. |
|||
===如何定义导航栏?=== |
|||
如果您不相信这个定论,请阅读[[mailarchive:mediawiki-l/2008-October/028975.html|此邮件列表的帖子]]。 |
|||
使用Monobook皮肤的每一个页面左边是导航条,其内容由您的wiki上的'''[[MediaWiki:Sidebar]]''' 页面决定. 定制这些内容的相关信息,请参看[[Manual:Interface/Sidebar]]. |
|||
===如何在每一个页面上放置一个消息(站点通告)?=== |
|||
===我应该备份吗?=== |
|||
在'''[[MediaWiki:Sitenotice]]'''放置一些文本.内容会显示在所有的页面上方. |
|||
你也可以在'''[[MediaWiki:Anonnotice]]'''上放置一些文本,当用户未登录时会出现在页面的上方. |
|||
简短的回答:应该。 |
|||
===如何指定首页?=== |
|||
冗长的回答:这取决于a)你是否重视你的数据,b)创建备份的困难程度以及c)您对MySQL维护与管理的自信程度。 |
|||
默认的首页名称为"首页".编辑'''[[MediaWiki:Mainpage]]'''来改变.有时边栏中的"首页"链接可能没有改变,这时需要编辑'''[[Creating_a_MediaWiki_page| MediaWiki:Sidebar]]'''. |
|||
===如何改变首页的标题?=== |
|||
升级失败可能导致您的数据库陷入同时存在两个版本的不一致状态。有可能发生在将某个重要的数据表移动到临时名称后,但在正确重建数据表前失败。也有可能是将某一列修改为错误的数据类型。因升级而造成的不可恢复的数据遗失非常罕见。通常说来,一名有经验的管理员可以恢复被损坏的数据。 |
|||
用移动页面选项移动首页即可. |
|||
通常你可能期望[[#如何指定首页?|指定哪个页面是首页]]. |
|||
恢复过程通常会十分复杂。如果你漏做了备份,却又跑到支持论坛上寻求帮助以修复因升级造成的损坏,支持论坛上的志愿者们往往就不会对你有什么好感。更好的做法是你应尽量恢复到先前的备份,然后向我们报告在升级过程中造成损坏的[https://bugzilla.wikimedia.org/enter_bug.cgi?product=MediaWiki bug]。 |
|||
===如何在首页隐藏标题?=== |
|||
===我能保留我的LocalSettings.php吗?=== |
|||
MediaWiki默认没有隐藏首页标题的功能(参阅{{phabricator|8129}}),你可以用CSS或者[[Extension:NoTitle|NoTitle extension]]完成. |
|||
可以,但你可能需要作出一些小的修改。LocalSettings.php的格式大致上是向下兼容的。会影响LocalSettings.php兼容性的修改都会在发行日志(RELEASENOTES)的“configuration changes”一节中找到。 |
|||
将下面一行添加到你wiki上的{{blue|MediaWiki:Common.css}}中: |
|||
===在我升级时我的wiki都能保持在线吗?=== |
|||
<source lang="css"> |
|||
可以。 |
|||
body.mainpage.action-view h1.firstHeading, body.mainpage.action-submit h1.firstHeading { display: none; } |
|||
</source> |
|||
如果你的MediaWiki版本非常旧,或是你移动了首页却没更新[[MediaWiki:Mainpage]],或是某些不支持这项设定的皮肤上,这可能无法工作 |
|||
如果你是在小版本间升级,你只需要升级源文件。 |
|||
如果你的皮肤不是使用<code>h1</code>标签和<code>firstHeading</code>类选择器的话,你需要自行调整. |
|||
如果你是在大版本间升级,以下是建议流程: |
|||
If the skin uses a different element for the title than a <code>h1</code> element with class <code>firstHeading</code>, you'll need to find the appropriate CSS selector to apply for that skin. |
|||
===如何隐藏目录?=== |
|||
1. 将新版的MediaWiki解包到一个新的目录下<br/> |
|||
目录 ([[TOC]]) 会在大于四个标题的页面上显示,当然也有办法隐藏. |
|||
2. 在新目录中将LocalSettings.php配置正确,并将所有所需的插件都安装好。<br/> |
|||
3. 在旧目录的LocalSettings.php中配置只读模式 |
|||
==== 某个页面 ==== |
|||
$wgReadOnly = '正在升级到MediaWiki {{MW stable release number}}'; |
|||
: 把魔术字 <code>'''<nowiki>__NOTOC__</nowiki>'''</code> 放在页面上. |
|||
; 所有页面 |
|||
4. 在新目录中运行升级脚本。<br/> |
|||
:用 [[Extension:NoTOC|NoTOC]]扩展 |
|||
5. 将旧目录切换为新目录。 |
|||
:''或者'' |
|||
: 添加<source lang="css">.toc, #toc { display: none; }</source>到[[MediaWiki:Common.css]]. |
|||
; 单个用户 |
|||
==界面修改== |
|||
: 用户可以把同样的规则添加到[[Manual:Interface/Stylesheets |用户样式表]]中(例如 [[Special:MyPage/common.css|common.css]]). |
|||
===我应该怎样修改logo?=== |
|||
{{TNT|MW version|version=1.22 |comment=and before|gerrit change=99430}} |
|||
出现在每一页左上方的logo是在''[[Manual:LocalSettings.php|LocalSettings.php]]''文件中配置[[Manual:$wgLogo|$wgLogo]]变量实现的。 |
|||
: 参数设置中曾经有一个参数可以隐藏目录,这个功能在MediaWiki1.23中被移除了. ([[phab:T54813]]). |
|||
===如何改变界面文字?=== |
|||
有两种方法来修改logo: |
|||
*'''[[Special:Allmessages]]'''提供了一个系统消息的列表,通过编辑对应的消息文字可以进行修改. |
|||
使用你的wiki上传一幅图像并使用它的地址。这样会使得图像的替代变得非常简单,因此如果您要使用这一办法,请保护该图像的页面。 |
|||
*要''关闭''MediaWiki名字空间, 使用 '''[[Manual:$wgUseDatabaseMessages|$wgUseDatabaseMessages]]'''设置. |
|||
*要移除页面底部的''隐私政策''或者''免责声明'',用<code>-</code>替换 '''[[MediaWiki:Privacy]]''' 或 '''[[MediaWiki:Disclaimers]]''' 的内容. |
|||
===如何改变界面文字语言?=== |
|||
然后在''LocalSettings.php''中增加$wgLogo一行,例如: |
|||
要改变默认的界面的语言,在<code>LocalSettings.php</code>改变<code>[[Manual:$wgLanguageCode|$wgLanguageCode]]</code>的值,例如: |
|||
<source lang="php">$wgLanguageCode = "fr";</source> |
|||
$wgLogo = 'http://yourwiki.org/wiki/images/6/62/photoname.jpg'; |
|||
你也许需要[[w:Wikipedia:Bypass_your_cache|绕过浏览器缓存]]来查看更改. |
|||
或者通过其他途径(如FTP)将图像上传到服务器上,然后在''LocalSettings.php''中增加$wgLogo一行,例如: |
|||
新的默认值会对没有更改过这项设置的用户生效. |
|||
$wgLogo = "{$wgScriptPath}/photoname.jpg"; |
|||
[[Extension:UniversalLanguageSelector]]提供了一种让用户自行选择显示语言的方法,[[Extension:Translate]]可以让用户翻译wiki上的内容为其他语言. |
|||
在上面的例子中,图像是与LocalSettings.php文件处于同一目录下的。 |
|||
{{note|旧版本的MediaWiki可能不会更改现有用户的设置,现有用户可能需要修改自己的[[Help:Preferences|参数设置]]. |
|||
将这一行放在LocalSettings.php的末尾通常是较好的做法,特别是当你为$wgStylePath或$wgUploadPath指定参数后。 |
|||
要修改所有用户的默认设置,运行 [[Manual:userOptions.php|userOptions.php]] [[Manual:Maintenance scripts|维护脚本]]. 下面的例子会把现有用户的默认语言由英文变为法文: |
|||
{{TNT|caution}}请勿只覆盖MediaWiki安装后的默认logo(<code>/skins/common/images/wiki.png</code>);这样在你升级后该文件会被改回。 |
|||
<source lang="php">php userOptions.php language --old en --new fr</source> |
|||
''提示:logo图像的大小应为135 x 135像素。'' |
|||
}} |
|||
===如何去除某个标签(例如"文章"或"编辑")?=== |
|||
===我能定制左上角的logo吗?应该怎样做?=== |
|||
logo位于pBody部分外的portlet块中。可以通过p-logo id来识别出。背景图像是由'''wgLogo'''变量指定的,该变量定义于/includes/DefaultSettings.php中。它的地址相对于网页服务器的根目录,而非系统根目录。在/[[LocalSettings.php]]重定义该变量即可改变图像。如果设置有错,页面将不会出现图像;检查您的网页服务器错误日志,并作出相应的调整。同时,如果logo没有进行修剪,就应亦应确保p-logo的大小能足以盛放它。这需要在样式表中对p-logo样式进行设置(monobook下的Main.css),其默认设置见下: |
|||
''请参阅: [[User:Subfader/Hide_page_tabs]]多获得些功能.'' |
|||
添加下一行到[[MediaWiki:Common.css]]中: |
|||
<source lang="css">li#ca-edit { display: none; }</source> |
|||
查看源代码来知道要移除的标签的选择器ID. |
|||
注意: 这个设置只会在Monobook(或其分支,例如Vector)皮肤上工作,它也不会阻止用户编辑,参阅[[Manual:User rights]]来获得阻止用户编辑的方法. |
|||
===如何增加一个标签?=== |
|||
旧版本的MediaWiki可以通过[[Extension:DynamicTabs]]来实现 (也可以通过[[Manual:Hooks/SkinTemplateNavigation]]编写自己的扩展): |
|||
下面的实例会移除讨论标签并 添加一个回到首页的标签,假设它叫做<code>extensions/AR-Tabs.php</code>: |
|||
{{MW 1.15|and before}} |
|||
<source lang="php"> |
|||
<?php |
|||
if( !defined( 'MEDIAWIKI' ) ){ |
|||
die( "This is not a valid access point.\n" ); |
|||
} |
|||
$wgHooks['SkinTemplateContentActions'][] = 'replaceTabs'; |
|||
function replaceTabs( $content_actions ) { |
|||
unset( $content_actions['talk'] ); // only this to remove an action |
|||
$maintitle = Title::newFromText( wfMsgForContent( 'mainpage' ) ); |
|||
$main_action['main'] = array( |
|||
'class' => false or 'selected', // if the tab should be highlighted |
|||
'text' => wfMsg( 'sitetitle' ), // what the tab says |
|||
'href' => $maintitle->getFullURL(), // where it links to |
|||
); |
|||
$content_actions = array_merge( $main_action, $content_actions ); // add a new action |
|||
return true; |
|||
} |
|||
</source> |
|||
{{MW 1.16|and after}} |
|||
<source lang="php"> |
|||
<?php |
|||
if( !defined( 'MEDIAWIKI' ) ){ |
|||
die( "This is not a valid access point.\n" ); |
|||
} |
|||
$wgHooks['SkinTemplateNavigation'][] = 'replaceTabs'; |
|||
function replaceTabs( $skin, &$links) { |
|||
unset( $links['namespaces']['talk'] ); // Remove the talk action |
|||
$maintitle = Title::newFromText( wfMsgForContent( 'mainpage' ) ); |
|||
$links['namespaces']['main'] = array( |
|||
'class' => false or 'selected', // if the tab should be highlighted |
|||
'text' => wfMsg( 'sitetitle' ), // what the tab says |
|||
'href' => $maintitle->getFullURL(), // where it links to |
|||
'context' => 'main', |
|||
); |
|||
return true; |
|||
} |
|||
</source> |
|||
然后把下面一行添加到LocalSettings.php中: |
|||
<source lang="php">require_once("extensions/AR-Tabs.php");</source> |
|||
====如何去除某个页面上的某个标签?==== |
|||
{{MW 1.9|and after}} |
|||
编辑[[MediaWiki:Common.css]],下面的例子会移除首页上的讨论标签: |
|||
<source lang="css"> |
<source lang="css"> |
||
body.page-Main_Page li#ca-talk { display: none !important; } |
|||
#p-logo { |
|||
</source> |
|||
z-index: 3; |
|||
position:absolute; /*needed to use z-index */ |
|||
top: 0; |
|||
:''也请参阅:[[Manual:Hide page tabs]]'' |
|||
left: 0; |
|||
height: 155px; |
|||
====去除所有页面上的某一个标签==== |
|||
width: 12em; |
|||
{{MW 1.9|and after}}编辑[[MediaWiki:Common.css]],下面的例子会移除所有页面上的讨论标签: |
|||
overflow: visible; |
|||
<source lang="css"> |
|||
#ca-talk { display:none!important; } |
|||
</source> |
|||
其他的标签id还有 '''#ca-history''', '''#ca-viewsource''', '''#ca-view''' (条目), '''#ca-nstab-main''' (首页), '''#ca-viewsource'''. |
|||
下拉菜单里的标签id有 '''#ca-watch''', '''#ca-move''', '''#ca-delete'''. |
|||
===如何对匿名用户隐藏"编辑段落"链接?=== |
|||
改变{{wg|DefaultUserOptions}}的值可以实现, |
|||
编辑{{manual|LocalSettings.php}},加入下面一行: |
|||
<source lang="php">$wgDefaultUserOptions ['editsection'] = false;</source> |
|||
:''另参阅{{a|如何阻止匿名用户编辑页面?}}'' |
|||
===如果 [[Manual:$wgDisableAnonTalk|$wgDisableAnonTalk]]为真,如何去除"关于此IP地址的讨论"按钮?=== |
|||
设置 [[Manual:$wgShowIPinHeader|$wgShowIPinHeader]] 为 false. |
|||
===如何移除"登录/创建账户"链接?=== |
|||
向{{manual|LocalSettings.php}}添加下面的代码可以从个人工具栏中移除"登录/创建账户"链接: |
|||
<source lang=php> |
|||
$wgHooks['PersonalUrls'][] = 'lfRemoveLoginLink'; |
|||
function lfRemoveLoginLink( &$personal_urls, $title ) { |
|||
unset( $personal_urls['login'] ); |
|||
unset( $personal_urls['anonlogin'] ); |
|||
unset( $personal_urls['createaccount'] ); |
|||
return true; |
|||
} |
} |
||
</source> |
</source> |
||
=== |
===如何限制某些操作和访问特殊页面?=== |
||
默认设置上,点击logo后会前往首页。如果您希望修改首页的名称,编辑[[MediaWiki:Mainpage]]即可。如果想要该链接链向任何URL,在Monobook皮肤下,编辑Monobook.php,找到<code><?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?></code>,将之替换为你所需的URL地址,并将<code><?php $this->msg('mainpage') ?></code>替换为你所要显示的链接说明。 |
|||
:'''注意''': MediaWiki 不是为这种用法设计的! |
|||
链向根目录的'''例子''':替换 |
|||
<source lang="PHP"> |
|||
Suppressing actions and special pages can be useful when you want to create the illusion of a static website via a particular URL or VirtualHost, but also have an 'internal' view that is a true wiki. i.e. if you have an inward facing 'view' of your wiki that users can edit, and an outward facing 'view' that should appear like a static website (no history, no discussion, etc., etc.). |
|||
?>href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>" <?php |
|||
?>title="<?php $this->msg('mainpage') ?>"></a> |
|||
After hiding all the appropriate links (参阅above), if you are using the Apache web server, you can disable actions and special pages using the following [http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html rewrite rules]: |
|||
<pre> |
|||
# Lock down the site (disable MediaWiki commands) |
|||
RewriteEngine On |
|||
#RewriteLog /tmp/rewrite.log |
|||
#RewriteLogLevel 9 |
|||
## See http://www.mediawiki.org/wiki/Manual:Parameters_to_index.php#Actions |
|||
RewriteCond %{QUERY_STRING} (.*action=.*) |
|||
RewriteRule .* http://www.my.domain.com? |
|||
RewriteCond %{REQUEST_URI} !^/index.php/Special:Search |
|||
RewriteCond %{REQUEST_URI} ^(.*Special:.*) |
|||
RewriteRule .* http://www.my.domain.com? |
|||
## Catch a trick... |
|||
RewriteCond %{QUERY_STRING} ^(.*Special:.*) |
|||
RewriteRule .* http://www.my.domain.com? |
|||
</pre> |
|||
Above, a request for <code><nowiki>'http://www.my.domain.com/wiki/Page_name?action=edit'</nowiki></code>, for example, will be simply rewritten to <code><nowiki>'http://www.my.domain.com'</nowiki></code>. Similarly any page in the Special namespace (with the exception of Special:Search) will be rewritten to <code><nowiki>'http://www.my.domain.com'</nowiki></code>. '''Remember''', this is only a hack, and isn't intended as a solution for a secure CMS. |
|||
Note that you will need to adjust the above rules to match your specific URL naming schema. |
|||
Other issues to consider when trying to lock down a site like this is the API and POST requests for the wiki content (rather than GET). |
|||
=== 如何编辑系统消息? === |
|||
[[Special:Allmessages]]包含系统消息的列表,可以编辑. |
|||
===如何改变页脚?=== |
|||
:''参阅[[Manual:Footer]] and [[Manual:Configuration settings#Copyright]]'' |
|||
===如何移除页脚中的"Powered by MediaWiki"图像?=== |
|||
编辑[[MediaWiki:Common.css]]: |
|||
<source lang="css"> |
|||
#f-poweredbyico { display: none; } |
|||
</source> |
</source> |
||
为 |
|||
对于Vector皮肤: |
|||
<source lang="PHP"> |
|||
<source lang="css"> |
|||
?>href="/" <?php |
|||
#footer-icon-poweredby { display: none; } |
|||
?>title="Root Page Name"></a> |
|||
</source> |
</source> |
||
对于1.17版的Vector皮肤: |
|||
===Reducing the size of the logo=== |
|||
Note that a tag is on top of the logo so if you are trying to reduce the size of the logo's portlet you will also need to change the #p-logo a and #p-logo a:hover rules. The default setting for these is: |
|||
<source lang="css"> |
<source lang="css"> |
||
#footer-icon-poweredbyico { display: none; } |
|||
#p-logo a, |
|||
#p-logo a:hover { |
|||
display: block; |
|||
height: 200px; |
|||
width: 12.2em; |
|||
background-repeat: no-repeat; |
|||
background-position: 35% 50% !important; |
|||
text-decoration: none; |
|||
} |
|||
</source> |
</source> |
||
对于1.18版的Vector皮肤: |
|||
This simple customization will re-define the size of all of them at once... |
|||
<source lang="css"> |
<source lang="css"> |
||
#footer-poweredbyico { display: none; } |
|||
#p-logo, |
|||
</source> |
|||
#p-logo a, |
|||
#p-logo a:hover { |
|||
在1.17版本中,可以把下面一行添加到{{manual|LocalSettings.php}}中来完全移除Powered by MediaWiki图像: |
|||
height: 75px; |
|||
<source lang=php>unset( $wgFooterIcons['poweredby'] );</source> |
|||
对于1.16及以前的版本,你需要使用hooks: |
|||
<source lang=php> |
|||
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 'lfRemovePoweredBy'; |
|||
function lfRemovePoweredBy( $sk, &$tpl ) { |
|||
unset( $this->data['poweredbyico'] ); |
|||
return true; |
|||
} |
} |
||
</source> |
</source> |
||
There is one more rule controlling the amount of space between the logo and first portlet in the side column - the padding on the top of #column-one. By default this is: |
|||
参阅{{wg|FooterIcons}}获得关于自定页脚图标的更多信息.. |
|||
===如何自订签名消息(例如增加一个回复链接)?=== |
|||
编辑[[MediaWiki:Signature]](用户) 或 [[MediaWiki:Signature-anon]](匿名用户). |
|||
例如 <code><nowiki>[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])</nowiki></code> 会放置一个讨论页链接, <code><nowiki>[[{{ns:user}}:$1|$2]] ([{{fullurl:{{ns:user_talk}}:$1|action=edit§ion=new}} Reply])</nowiki></code> 会放置一个直接增加新段落的链接. |
|||
用户可以通过参数设置自定义自己的签名. |
|||
===能改变标题吗,怎样做?=== |
|||
大部分你希望更改的内容可以在MediaWiki名字空间中找到,前往[[Special:AllMessages]]并搜索你希望更改的文字获得页面的位置,要编辑的话还需要管理员权限. |
|||
要改变在浏览器标题栏中显示的标题,编辑[[MediaWiki:Pagetitle]].在最近的MediaWiki版本中,默认的设置为[[MediaWiki:Pagetitle]] is <nowiki>$1 - {{SITENAME}}</nowiki>. |
|||
记得在改变后清除你的浏览器缓存来查看改变. |
|||
===MediaWiki能自动首字母大写$wgSitename吗?=== |
|||
可以,在LocalSettings.php中改变 <span class="plainlinks">[[Manual:$wgCapitalLinks|$wgCapitalLinks]]</span> 设置即可 . |
|||
===如何在新窗口打开外部链接?=== |
|||
:''参阅[[Manual:Opening external links in a new window]]'' |
|||
===我能阻止MediaWiki格式化文本吗?=== |
|||
用"<nowiki><nowiki></nowiki>"标记包围不希望格式化的文本即可. |
|||
''例子:'' |
|||
<nowiki>svn co <nowiki>http://svn.example.com/myproject/</nowiki></nowiki> |
|||
''结果:''<br/> |
|||
svn co <nowiki>http://svn.example.com/myproject/</nowiki> |
|||
===如何强制用户先预览再提交编辑?=== |
|||
:''请参阅: [[Manual:Force preview]] 和 [[Extension:ForcePreview]]'' |
|||
===如何在编辑页面上增加更多按钮?=== |
|||
:''请参阅: [[Manual:Custom edit buttons]]'' |
|||
===如何在编辑器中增加插入字符的链接?=== |
|||
安装并配置[[Extension:CharInsert]]. |
|||
=== 如何在自己的wiki上使用维基百科的默认皮肤(Vector)? === |
|||
{{MW 1.16|and after}} |
|||
Vector 推出于 1.16版本,在1.17版本中为默认皮肤. 参阅[[Manual:$wgDefaultSkin]] 来设置你wiki的默认皮肤. |
|||
{{MW 1.15|and before}} |
|||
安装[[Extension:Vector|Vector扩展]]来实现更多功能. |
|||
=== 如何在显示打印版本时不显示外部链接? === |
|||
将下面的代码添加到你的wiki上的[[MediaWiki:Print.css]]中: |
|||
<source lang="css"> |
<source lang="css"> |
||
#content a.external.text:after, |
|||
#column-one { padding-top: 160px; } |
|||
#content a.external.autonumber:after { |
|||
content: none; |
|||
} |
|||
</source> |
</source> |
||
If you want to remove the logo completely, comment out the '''wgLogo''' variable. Then set the column-one padding to a small value, such as 21: |
|||
或者你希望在打印版本中为外部链接加下划线: |
|||
<source lang="css"> |
<source lang="css"> |
||
#content a.external { |
|||
#column-one { padding-top: 21px; } |
|||
text-decoration: underline !important; |
|||
} |
|||
</source> |
</source> |
||
===如何改变首页上的标签的名称?=== |
|||
You shouldn't edit the CSS file directly. You need go to <Your Wiki URL>?title=MediaWiki:Monobook.css. Hit edit and make your changes there. The content of MediaWiki:Monobook.css page always overrides the default main.css file's contents. |
|||
{{anchor|How do I change the text of the tab of my wikis main page?}} |
|||
编辑"<code>MediaWiki:Mainpage-nstab</code>". |
|||
===How do I change the icon in the browser's address line (favicon)?如何修改浏览器地址栏的显示图标?=== |
|||
*Simply upload your favicon.ico to the root of your domain/subdomain, make sure file name is in lower case and its name is favicon.ico |
|||
*Alternatively edit the [[Manual:$wgFavicon|$wgFavicon]] setting in ''LocalSettings.php'' and add <tt>$wgFavicon = "$wgScriptPath/path/to/your/favicon.ico";</tt> |
|||
记得清除缓存来查看结果. |
|||
See [[Manual:$wgFavicon]] for more details. |
|||
==基本使用== |
|||
''Tip: The favicon image should be either 16 x 16 pixels or 32 x 32 pixels.'' |
|||
===如何编辑页面?=== |
|||
:''参阅:[[Special:MyLanguage/Help:Editing pages|MyLanguage/Help:Editing pages]]'' |
|||
====Rewrite Rule==== |
|||
If you are using a rewrite rule in .htaccess to remove "index.php" from the URL, you will also need to add an exception for .ico files. Simply add the following rule to your .htaccess: |
|||
===如何创建一个页面?=== |
|||
:RewriteRule .*\.ico$ - [L] |
|||
有几个方法创建一个新页面: |
|||
*创建一个指向它的内部链接,然后点击它. |
|||
This rule must appear ''before'' the index.php rule. |
|||
*转到你希望创建的页面,例如 <code><nowiki>http://www.example.com/index.php?title=New_page</nowiki></code> ,然后点击"'''创建'''" 或 "'''创建源代码'''" 链接. |
|||
在某些wiki上,失败的搜索中会包含创建页面的链接. |
|||
:''也请参阅:[[Special:MyLanguage/Help:Starting a new page|MyLanguage/Help:Starting a new page]]'' |
|||
====大小写==== |
|||
因为许多服务器(例如运行在类UNIX操作系统上的)只能查找小写的文件名,所以请确保上传图标文件的文件名是小写的。也就是说,原文件名为“Favicon.ico"的图标文件,在上传时应将文件名改为"favicon.ico"。 |
|||
===能删除一个旧版本的页面吗?=== |
|||
===我怎么定制导航条?=== |
|||
旧版本会为了方便复查或回退更改而保留在数据库中,不过管理员可能会因为法律原因或为了减少数据库占用的空间而希望删除某些版本. |
|||
使用Monobook皮肤的每一个页面左边是导航条,其内容由您的wiki上的'''[[MediaWiki:Sidebar]]''' 页面决定. 定制这些内容的相关信息,请参看[[Manual:Navigation bar]]. |
|||
*管理员可以删除整个页面再回=恢复某些版本 |
|||
==基本用法== |
|||
*[[Extension:Oversight|Oversight]] (也称作''HideRevision'') 扩展可以用来去除指定的修订历史.(MediaWiki <1.16). |
|||
===我应该怎样编辑页面=== |
|||
*新版的 MediaWikis (1.14+)中,可以启用[[RevisionDelete]](修订版本删除)功能来允许有权限的用户从编辑历史中移除一个版本. |
|||
要编辑一个已经存在的页面,只需要单击这个页面上的'''编辑'''链接即可。对于缺省的 Wiki 布局(MonoBook),这个链接位于页面顶部的标签页。点击以后,用户会看到一个表单,待编辑的wiki页面内容会填充到表单输入区域中,用户编辑完毕后,可以点击表单下方的修改按钮以提交修改。 |
|||
* <code>maintenance/deleteOldRevisions.php</code> [[Manual:Maintenance scripts|维护脚本]] 可以进行大量删除修订版本. |
|||
:''也请参阅:[[Manual:Removing embarrassment]]'' |
|||
相关信息请参见: {{meta|Help:Editing}} |
|||
===如何 |
===如何删除某个页面的某些版本?=== |
||
:''请参阅: [[RevisionDelete]]'' |
|||
有几种方法创建新的wiki页面: |
|||
或者你可以删除整个页面再恢复你需要的版本. |
|||
*在一个已经存在的页面插入一个链接,这时,这个链接对应的页面还不存在,因此显示红色,我们点击这个红色的页面就可以创建新的页面了。 |
|||
*在浏览器地址栏上输入新的页面地址,例如:<nowiki>http://www.example.com/index.php?title=New_page</nowiki>,然后点击'''编辑'''链接。 |
|||
''在某些wiki系统中,搜索页面时如果没有找到任何结果,那么显示搜索结果的页面也会包含一个用于创建新页面的链接。 |
|||
===有没有一个编辑教程?=== |
|||
相关信息请参见[[Help:Starting a new page/zh|帮助:开始新页面]] |
|||
这里和维基媒体计划上有些教程可以参考: |
|||
*本网站上的 [[Help:Editing pages]] |
|||
<!--===How do I delete an old version of a page?===--> |
|||
*Meta上的 [[m:Help:Editing|Editing]] |
|||
===如何删除一个旧版本页面?=== |
|||
* 英文维基百科上的 ''[[:en:Wikipedia:How to edit a page|How to edit a page]]'' |
|||
<!--Old versions of page data are retained in the database and can be accessed via the page history features. This is useful for reviewing changes and correcting or reverting undesirable ones, but in some cases, administrators might want to make this information unavailable, for legal reasons, or to reduce the size of the database.--> |
|||
* 中文维基百科上的 ''[[:zh:Help:编辑页面|Help:编辑页面]] |
|||
旧版本页面被保存在数据库内,并且可通过页面历史被访问到。这对于检查页面的变化和纠正(或撤销)一个不好的页面是很有用的。但在某些情况下,出于合理的理由或为了减小数据库的尺寸,管理员有可能想要删除掉这些旧版本信息。 |
|||
===如何查看某个页面的打印版本?=== |
|||
<!--*Administrators can delete an old revision of a page by deleting the page, and then selectively undeleting revisions to be kept--> |
|||
MediaWiki内置了一套用于打印的css样式表,你可以在你的浏览器中打开打印预览窗口来查看. |
|||
*管理员可以用'''删除页面'''来删除一个旧的页面版本,然后选择性地恢复要保留的版本。 |
|||
*The [[Extension:Oversight|Oversight]] extension (also known as ''HideRevision'') can be used to move harmful revisions out of page histories |
|||
*The <tt>maintenance/deleteOldRevisions.php</tt> [[Manual:Maintenance scripts|maintenance script]] can mass-delete all old revisions of pages and their associated text records. |
|||
*See also: [[Manual:Removing embarrassment]]. |
|||
或者你可以使用边栏的''打印版本''链接(如果启用了[[Extension:Collection|Collection扩展]],则是''打印/导出''). |
|||
===有可用的编辑教程么?=== |
|||
There are several editing tutorials available, mostly on Wikimedia sister projects, such as Wikipedia. There are also markup references, etc. available on ''Meta''. |
|||
=== 如何使用模板? === |
|||
*[[m:Help:Editing|Editing]] help content on ''Meta'' |
|||
:''参阅[[Help:Templates]]'' |
|||
*The ''[[:en:Wikipedia:How to edit a page|How to edit a page]]'' guide on the English Wikipedia |
|||
=== 我能使用[[m:Wikimedia Commons|维基共享资源]]上的多媒体文件吗?=== |
|||
===How do I view the printable form of a page?=== |
|||
是的,鼓励你通过设置[[Manual:$wgUseInstantCommons|$wgUseInstantCommons]]来使用. |
|||
MediaWiki includes stylesheets which automatically style a page appropriately when it is printed; using the print or print preview function within your browser ought to render the page in a printable form. |
|||
:''也请参阅:[[InstantCommons]]'' |
|||
You can also view this printable form using the ''printable version'' link in the toolbox. |
|||
===如使用一个模板作为签名?=== |
|||
==Wiki Importing== |
|||
===Importing from MediaWiki XML dumps=== |
|||
See [[Manual:Importing XML dumps]] |
|||
不建议在签名中使用模板(例如这样({{User:Name/sig}})的签名)或在签名中加入外部链接。服务器在处理签名模版和有外部链接的签名时需要运行额外的进程,而且当你改变外部链接页面时,所有你曾以该签名发言的讨论页都得更新缓存。这可见这些签名对服务器资源的影响。而且,当用户离开计划,无人管理的签名模板亦会成为破坏的目标。至于一般的文本签名,是和讨论页内容一同保存的,消耗的资源不会比注释多,更不用担心模板被破坏的问题。 |
|||
===Importing from other types of wiki software=== |
|||
'''Note:''' The following is directly copied from [http://meta.wikimedia.org/w/index.php?title=MediaWiki_FAQ old meta FAQ]. It might need to be corrected. |
|||
要直接产生您签名模版里面的文字,而不是引用模板: |
|||
#建立一个页面来包含你的签名(例如[[User:Example/sign]]) |
|||
#打开[[Special:Preferences|参数设置]],在参数设置的“您的昵称(签名时用)”字段,填入“{{subst:您的签名模版名称}}”,并且勾选“将签名视为维基文本(不自动生成链接)”。 |
|||
#保存你的参数设置. |
|||
=== 如何加入沙盒功能? === |
|||
大多数情况下,''沙盒''是一个任何用户可以编辑的页面.这只是个你可以自由决定的普通页面,MediaWiki并没有这种核心功能. |
|||
你也许注意到维基百科上的沙盒像是自动清空的,但这不完全对.清空沙盒是由用户(或是机器人)定时完成的. |
|||
=== 如何在个人工具栏(右上角)加入一个沙盒链接? === |
|||
*安装并启用[[Extension:Gadgets|Gadget扩展]]并添加[[w:MediaWiki:Gadget-mySandbox.js|沙盒插件]].你也许希望对所有用户默认启用. |
|||
*或者使用[[Extension:SandboxLink|SandboxLink扩展]] |
|||
=== 如何运行一个多语言wiki? === |
|||
要让你的wiki提供工具进行翻译和自定义界面文字,可以使用[[Extension:Translate|翻译扩展]],[[Help:Extension:Translate|文档在这]]. |
|||
==导入== |
|||
{{update/en}} |
|||
===从MediaWiki XML 转储中导入=== |
|||
:''参阅[[Manual:Importing XML dumps]]'' |
|||
<!-- 从Meta上迁移来的可能已过时的资料 |
|||
===从其他wiki软件迁移=== |
|||
'''Note:''' The following is directly copied from [[m:MediaWiki FAQ|old meta FAQ]]. It might need to be corrected. |
|||
There is some documentation about importing in the UPGRADE file distributed with MediaWiki. |
There is some documentation about importing in the UPGRADE file distributed with MediaWiki. |
||
Line 409: | Line 807: | ||
</pre> |
</pre> |
||
'''Note:''' If your <code>importUseModWiki.php</code> outputs an XML file instead of SQL statements, this probably means you have a rather new version of MediaWiki. In such a case, you |
'''Note:''' If your <code>importUseModWiki.php</code> outputs an XML file instead of SQL statements, this probably means you have a rather new version of MediaWiki. In such a case, you can import the XML file -- 参阅[[Importing a Wikipedia database dump into MediaWiki]], towards the bottom of the page ('Import XML'). Don't forget to rebuild all the tables -- that page also explains how to do that. |
||
--> |
|||
===Importing from other types of files=== |
|||
===从其他类型文件中导入=== |
|||
Here are some info on importing from other types of files: |
|||
有多种可以帮助将HTML或者其他标记语言转化成MediaWiki标记的工具. |
|||
; 开发者和系统管理员工具 |
|||
*[http://xpt.sourceforge.net/techdocs/language/wiki/wikimedia/wkm07-MediaWikiImport/index.html#How_to_migrate_lot_of_text_files Massive text files importing] |
|||
* [http://search.cpan.org/dist/HTML-WikiConverter-MediaWiki HTML::WikiConverter::MediaWiki] - 一个转换HTML成MediaWiki标记的perl模块. |
|||
*[http://xpt.sourceforge.net/techdocs/language/wiki/wikimedia/wkm07-MediaWikiImport/index.html#mass_image_upload_zip_ Massive image files uploading] |
|||
* [[meta:Wikificator|Wikificator]] -转换XHTML至MediaWiki标记的JavaScript工具. |
|||
*[http://xpt.sourceforge.net/techdocs/language/wiki/wikimedia/wkm07-MediaWikiImport/ar01s02.html Tools to converter from html to MediaWiki], [http://xpt.sourceforge.net/techdocs/language/wiki/wikimedia/wkm07-MediaWikiImport/ar01s03.html and this]. |
|||
* The [[Manual:Edit.php|Edit.php]], [[Manual:importImages.php|importImages.php]]和[[Manual:ImportTextFile.php|ImportTextFile.php]] [[Manual:Maintenance scripts|维护脚本]]可以用来导入文本和图像. |
|||
*[http://xpt.sourceforge.net/techdocs/language/wiki/wikimedia/wkm07-MediaWikiImport/ar01s04.html Tools to converter from Microsoft .chm help files to MediaWiki] |
|||
; 用户工具 |
|||
===MediaWiki auto importing script=== |
|||
* [http://labs.seapine.com/htmltowiki.cgi HTML to Wiki Converter] - an online HTML to MediaWiki markup conversion service. (Based on [http://search.cpan.org/dist/HTML-WikiConverter-MediaWiki HTML::WikiConverter::MediaWiki]) |
|||
* [[w:User:Cacycle/wikEd|wikEd]] - a text editor for MediaWiki that can import HTML (including Microsoft Word-generated HTML.) |
|||
;指南 |
|||
*[http://xpt.sourceforge.net/techdocs/language/wiki/wikimedia/wkm07-MediaWikiImport/ar01s04.html Brief notes on converting from Microsoft .chm help files to MediaWiki] |
|||
*[http://openwetware.org/wiki/Converting_documents_to_mediawiki_markup#Word_Documents Notes on converting from Microsoft Office formats to MediaWiki] |
|||
===MediaWiki自动导入脚本=== |
|||
Taken from [http://xpt.sourceforge.net/tools/wiki_import/ wiki_import - MediaWiki auto import script]: |
Taken from [http://xpt.sourceforge.net/tools/wiki_import/ wiki_import - MediaWiki auto import script]: |
||
==== |
====描述==== |
||
The script is designed to import a whole folder of files into MediaWiki, with the folder directory tree mapped as wiki category hierarchy. |
The script is designed to import a whole folder of files into MediaWiki, with the folder directory tree mapped as wiki category hierarchy. |
||
==== |
====功能==== |
||
*economic, build wiki site from existing knowledge base collection without "double-entry" |
*economic, build wiki site from existing knowledge base collection without "double-entry" |
||
*persistent, map folder directory tree as wiki category hierarchy |
*persistent, map folder directory tree as wiki category hierarchy |
||
Line 432: | Line 839: | ||
*versatile, highly customizable |
*versatile, highly customizable |
||
==== |
====快速参考==== |
||
<tt> |
|||
wiki_import.sh $ $Revision: 1.1 $ |
wiki_import.sh $ $Revision: 1.1 $ |
||
Line 452: | Line 859: | ||
-f, --footer include standard footer (article category) |
-f, --footer include standard footer (article category) |
||
-R, --res[=p] add restricted tag in the footer |
-R, --res[=p] add restricted tag in the footer |
||
as '{{<Res Param|Root Category> Restricted}}' |
as '{{<Res Param|Root Category> Restricted}}' |
||
(default=`$_opt_sect') |
(default=`$_opt_sect') |
||
Line 465: | Line 872: | ||
echo ./path/to/file.ext | wiki_import.sh -1 -l -f -s 'Customer Support' -R |
echo ./path/to/file.ext | wiki_import.sh -1 -l -f -s 'Customer Support' -R |
||
</tt> |
|||
For the rest of details, check out [http://xpt.sourceforge.net/tools/wiki_import/ wiki_import]. |
For the rest of details, check out [http://xpt.sourceforge.net/tools/wiki_import/ wiki_import]. |
||
=== 从其他网站(例如维基百科)导入的模板不工作 === |
|||
==更多关于自定义的内容== |
|||
你需要安装一些在导出源wiki上使用的扩展,比如[[Extension:ParserFunctions|ParserFunctions]]和[[Extension:Cite|Cite]].同时确定你复制了需要的[[Manual:Interface/Stylesheets|CSS]]和[[Manual:Interface/JavaScript|JavaScript]]. |
|||
==进一步配置== |
|||
===我如何才能允许用户使用HTML标记?=== |
|||
参见[[Manual:$wgRawHtml|手册:$wgRawHtml]]、[[Manual:$wgGroupPermissions|手册:$wgGroupPermissions]]以及[[Manual:Preventing access|手册:阻止访问]]。 |
|||
===如何让多个wiki使用一个凭据登录?=== |
|||
{{TNT|caution}}该功能极易遭到破坏者滥用 |
|||
如果你正在分割一个wiki为多个,可以使用[[Manual:$wgSharedDB|$wgSharedDB]]和[[Manual:$wgSharedTables|$wgSharedTables]]来让不同的wiki使用同一个用户数据库.你也可以共享那些不依赖于未共享的表或是特定于某个子wiki的表,参阅[[Manual:Shared database]]获得示例和更多信息. |
|||
===如何允许HTML标签?=== |
|||
参见[[Extension:SecureHTML|插件:SecureHTML]]以及[[Extension:HTMLets|插件:HTMLets]]来安全地使用HTML标记。 |
|||
参阅[[Manual:$wgRawHtml]] ,[[Manual:$wgGroupPermissions]] 和 [[Manual:Preventing access]]. |
|||
{{TNT|caution|此功能容易被破坏者滥用}} |
|||
===我如何才能允许用户上传HTML文件?=== |
|||
参见 [[Manual:Allowing HTML Uploads|手册:允行上传HTML文件]]。 |
|||
也请参阅[[Extension:SecureHTML]] 和 [[Extension:HTMLets]],这些方法可以让你更安全的插入HTML. |
|||
{{TNT|caution}}该功能极易遭到破坏者滥用 |
|||
===如何为MediaWiki增加新功能或是修复bug?=== |
|||
==为什么……?== |
|||
改进 (换句话说, [[How to become a MediaWiki hacker|黑掉]])MediaWiki的几个基本步骤是: |
|||
* 安装[[Special:MyLanguage/Gerrit|Git]] |
|||
===…is the Help namespace empty?=== |
|||
* 从Git克隆MediaWiki源码. |
|||
We don't currently have a clean, internationalised set of help pages under a free license. A few developers are hoping to make this possible; however, the Help namespace currently ships in a blank state. You are free to add your own help pages, copy the [[Help:Contents|Public Domain help pages]] or copy certain of the items from ''Meta'', e.g. the user guide or [[m:Help:Contents|MediaWiki Handbook]], these two collections being free to use under the [[:en:GNU Free Documentation License|GNU Free Documentation License]]. |
|||
* 在你的电脑上运行web服务器,PHP和数据库服务器 (设置它们让你窝火? 遇到问题就求救呗~) |
|||
* 在你的电脑上运行MediaWiki (同样让你窝火? 方法同上) |
|||
* 修复问题或是增加你期望的新功能,没啥想法?从 "[[annoying little bug|修复那些恼人的bug]]"开始呗. |
|||
* 编辑源代码和相关的文件 |
|||
* 接着看[[Gerrit/Tutorial]] |
|||
=== 如何运行一个机器人? === |
|||
===…are some of my images not showing up after an upgrade?=== |
|||
:''参阅[[Manual:Bots]]'' |
|||
Several users have reported that, following an upgrade or a moving of their wiki, several images fail to be shown inline. The files exist, and the image description pages show a MIME type of <tt>unknown / unknown</tt> and, in some cases, a warning about potentially dangerous files. |
|||
或许可以试试[[Manual:Pywikibot|Pywikibot]]框架. |
|||
=== 如何设置 noindex nofollow === |
|||
To fix this, run the <tt>maintenance/rebuildImages.php</tt> script from the command line. This will set MIME information for each file in the database. |
|||
在LocalSettings.php中添加 <code>[[Manual:$wgNoFollowLinks|$wgNoFollowLinks]] = false;</code>. |
|||
=== 如何设置一个小型[[w:en:Wiki_farm|wiki 农场]]? === |
|||
===…are all PNG files not being turned into thumbnails?=== |
|||
:''请参阅: [[Manual:Wiki family]]'' |
|||
After upgrading to a more recent version of PHP, it is possible a different MimeMagic.php function is being used to detect file MIME types, particularly the built-in PHP function mime_content_type, which fails to detect PNG files. Search the web for <i>mime_content_type png</i> for |
|||
=== 如何添加[[w:Meta element|meta标签]]? === |
|||
OutputPage类包含一个用来添加meta标签的addMeta方法. |
|||
To add further Meta tags just add further lines as last lines of the function addMetaTags() like: |
|||
=== …is a search for a short keyword giving no hits? === |
|||
By default, MediaWiki uses MyISAM's fulltext matching functionality to allow searching page content. The default settings for this mean that words of less than four characters won't be indexed, so results won't be returned for those queries. |
|||
$out->addMeta ( 'description', 'This is a meta description.' ); |
|||
To alter this behaviour, MySQL needs to be reconfigured to index shorter terms, and MediaWiki's search index table needs to be repaired, to rebuild the indices. |
|||
或者使用像[[Extension:WikiSEO]]一类的扩展. |
|||
*For help on reconfiguring MySQL, see http://dev.mysql.com/doc/refman/4.1/en/fulltext-fine-tuning.html |
|||
*To repair the search index table, run the query <code>REPAIR TABLE searchindex QUICK;</code> against your database |
|||
==为什么...?== |
|||
===…can't I download MediaWiki 1.14?=== |
|||
===…帮助名字空间是空的?=== |
|||
MediaWiki 1.14 is in a development state at present, and has not been packaged into a general release. The code can be [[download from SVN|downloaded from Subversion]] if desired. |
|||
现在帮助名字空间默认是空的.是在你的wiki上还是MediaWiki.org上提供帮助由你决定. |
|||
现在我们还没有一个清除明了,国际化而且自由的文档.不过希望复制一些帮助信息到你的网站?没问题![[Help:Contents]]中的内容在基于MediaWiki搭建的网站上应该都可以使用,而且没有授权问题.参阅[[Project:PD help]],更多的帮助可以在[[m:Help:Contents|元维基上的"MediaWiki Handbook"]]中找到. |
|||
===…doesn't this work? It works on Wikipedia!=== |
|||
Wikipedia and other Wikimedia web sites use the current version of the code in development; at present, this is MediaWiki 1.14alpha. Coupled with the use of several extensions, this means that functionality between these wikis and your particular setup may differ. |
|||
===…升级后某些图像无法显示?=== |
|||
*To obtain the current development code, read [[Important Release Notes#MediaWiki 1.14]] |
|||
有些用户报告说在升级后无法显示某些图片,它们被服务器报告说"MIME类型无效"或"可能有害". |
|||
*To check what version a Wikimedia wiki is running, as well as what extensions are installed, visit the [[Special:Version]] page for that wiki |
|||
可以在终端运行<code>maintenance/rebuildImages.php</code> 来在数据库中设置新的MIME类型. |
|||
===…do I get a '''403 Forbidden''' error after setting permissions on my Fedora system?=== |
|||
Fedora Core enables [[SELinux]] by default. Instructions for setting SELinux permissions for MediaWiki [[SELinux|are available]]. |
|||
===…png格式的图片没有缩略图?=== |
|||
===…do I get logged out constantly? === |
|||
有时升级了PHP版本以后MimeMagic.php函数的工作方式发生了变化,或者内置函数mime_content_type无法识别PNG格式,试着在web上搜索<i>mime_content_type png</i>获得关于如何修复它们的信息. |
|||
This is probably related to cookies or session data, for example a problem with PHP's session.save_path [http://php.net/manual/en/ref.session.php#ini.session.save-path] setting. See [[m:Help:Logging in#Log in problems|Log in problems]]. |
|||
参阅[[Manual:FAQ#"File is corrupt or has an invalid extension"|here]] 获得更多信息. |
|||
===…is it a good idea to keep user accounts?=== |
|||
===…搜索一个wiki内容中的关键字却没有结果?=== |
|||
By default, MediaWiki uses MyISAM's fulltext matching functionality to allow searching page content. The default settings for this mean that words of less than four characters won't be indexed, so will be ignored in searches with older versions of MediaWiki. |
|||
MediaWiki 1.13 and earlier are unable to work around this; you must either [http://dev.mysql.com/doc/refman/4.1/en/fulltext-fine-tuning.html change MySQL's configuration] to index shorter words, or [[download|upgrade]] to a more recent version of MediaWiki. |
|||
Note that some particular words may still not be indexed if they are in MySQL's default stopword list. |
|||
===…不能下载MediaWiki1.27?=== |
|||
MediaWiki {{padright:{{#expr:{{MW stable branch number}}+.01}}|4}} 是在开发中的版本,如果你想尝试的话,你可以[[download from Git|从Git下载]],或者通过 {{mwsnapshots-link}} 下载最新的Tarball. |
|||
===…某个在维基百科中的功能没法在我的wiki上工作?=== |
|||
维基百科(或是Wikimedia的其他网站)运行的是MediaWiki的开发版本(现在是{{CURRENTVERSION}}),这意味着某些功能可能与现在的稳定版并不一致. |
|||
*参阅[[Download from Git]]获得关于下载开发版本的更多信息. |
|||
*在[[Special:Version]]页面获得这个Wiki正在运行的MediaWiki版本. |
|||
===…在Fedora上设置好权限后却得到了一个403错误?=== |
|||
Fedora Core 默认启用[[SELinux]].[[SELinux|参阅这个页面获得关于设置SELinux的更多信息]]. |
|||
===…自动注销了?=== |
|||
这个问题和Cookie或是会话有关,例如PHP中的 session.save_path [http://php.net/manual/en/ref.session.php#ini.session.save-path]. 参阅[[m:Help:Logging in#Log in problems|登录问题?]]获得解决方案. |
|||
===…我的wiki在Sourceforge上不工作? === |
|||
:''参阅[[Manual:Installing MediaWiki on SourceForge.net]].'' |
|||
===…留着账户是个好主意?=== |
|||
At many times you just want to remove a user account out of the wiki either because it belonged to a spammer account or you just feel like it. The appropriate choice is to block the account or rename it if needed. Here is why: |
At many times you just want to remove a user account out of the wiki either because it belonged to a spammer account or you just feel like it. The appropriate choice is to block the account or rename it if needed. Here is why: |
||
Line 535: | Line 977: | ||
quick updates against the database: |
quick updates against the database: |
||
:< |
:<source lang="sql">UPDATE revision SET rev_user = 0 WHERE rev_user = <current_user_id></source> |
||
:< |
:<source lang="sql">UPDATE archive SET ar_user = 0 WHERE ar_user = <current_user_id></source> |
||
What this will do is cause MediaWiki to treat the revisions as having |
What this will do is cause MediaWiki to treat the revisions as having |
||
Line 552: | Line 994: | ||
renaming it using the [[Extension:Renameuser|RenameUser]] extension." |
renaming it using the [[Extension:Renameuser|RenameUser]] extension." |
||
Another option is to give Admins the [[Manual:User_rights|'hideuser']] right, and indefinitely block the user with the ''Hide username from edits and lists'' option selected. |
|||
==反垃圾邮件== |
|||
查看'''[[Manual:Combating spam]]'''获取关于反垃圾邮件的一般信息。 |
|||
[[Extension:UserMerge]] is also useful. |
|||
===从哪可以获取垃圾邮件黑名单以及如何安装?=== |
|||
跟其他官方支持的扩展一样,[[m:Spam blacklist|spam blacklist]]扩展也可以从[[Download from SVN|Subversion]]里找到。请查看[http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/SpamBlacklist/README?view=markup README]及[[Extension:SpamBlacklist|extension page]]这两个文档以获取安装及设置的指南。 |
|||
==反垃圾相关== |
|||
===如何使用$wgSpamRegex来屏蔽多个字符串?=== |
|||
===到那里获得垃圾黑名单?=== |
|||
[[m:Spam blacklist|spam blacklist]]能够[[Download from Git|从Git中获取]],参阅{{git file|project=mediawiki/extensions/SpamBlacklist|file=README|branch=HEAD|text=README}}和[[Extension:SpamBlacklist|扩展的页面]]获得详细信息. |
|||
===如何用$wgSpamRegex阻止多个字符串?=== |
|||
尽管'''$wgSpamRegex'''在过滤页面内容方面非常强大,在正则表达式里添加多个项目可能把事情弄得很糟糕。 |
尽管'''$wgSpamRegex'''在过滤页面内容方面非常强大,在正则表达式里添加多个项目可能把事情弄得很糟糕。 |
||
请考虑使用下面的方法: |
请考虑使用下面的方法:<source lang="php"> |
||
<source lang="php"> |
|||
$wgSpamRegexLines[] = 'display\s*:\s*none'; |
$wgSpamRegexLines[] = 'display\s*:\s*none'; |
||
$wgSpamRegexLines[] = 'overflow\s*:\s*auto'; |
$wgSpamRegexLines[] = 'overflow\s*:\s*auto'; |
||
[...] |
[...] |
||
$wgSpamRegex = '/(' . implode( '|', $wgSpamRegexLines ) . ')/i'; |
$wgSpamRegex = '/(' . implode( '|', $wgSpamRegexLines ) . ')/i'; |
||
</source>这段代码范例很方便的在正则表达式里添加额外的字符串而无须每次都费时费力再做调整。这段代码也展示其他两个很流行的屏蔽一些最常见的垃圾信息攻击的过滤器。 |
|||
</source> |
|||
:''也请参阅:'' [[Extension:SpamRegex]] |
|||
===有没有其他的方法对抗垃圾骚扰?=== |
|||
这段代码范例很方便的在正则表达式里添加额外的字符串而无须每次都费时费力再做调整。这段代码也展示其他两个很流行的屏蔽一些最常见的垃圾信息攻击的过滤器。 |
|||
参阅'''[[Manual:Combating spam]]''' 来了解像Captcha一类的反垃圾骚扰的方法. |
|||
:''参考:'' [[Extension:SpamRegex]] |
|||
== |
==反破坏相关== |
||
参阅'''[[Manual:Combating vandalism]]''' 获得对抗破坏的一些提示 |
|||
===我发现了一个bug或者有功能要求,应该在哪提出呢?=== |
|||
Bug及功能要求应该在[[MediaZilla:|MediaZilla]]提交,这是经我们整合的[[:zh:Bugzilla|Bugzilla]]。为避免重复提交,请在提交前检索数据库。 |
|||
==现在在哪?== |
|||
===我遇到了很诡异的错误。怎么办?=== |
|||
===到哪里提交bug报告和功能请求?=== |
|||
*看看''[[Manual:Errors and Symptoms]] 里有没有提及。'' |
|||
去 [[Phabricator]]提交Bug报告和功能请求. 参阅[[Special:MyLanguage/How to report a bug|How to report a bug]]. |
|||
*尝试寻找更多关于问题的信息,查看''[[How to debug MediaWiki]]''。 |
|||
*查看[[#Still no luck. Where can I ask for help?|section below]]以获取关于如何联络[[developers]]及其它知识丰富的用户的信息。 |
|||
=== |
===发生了一个奇怪的错误,我该怎么办?=== |
||
* 看看''[[Manual:Errors_and_Symptoms]] 里有没有提及。'' |
|||
如果你已经仔细研究了上面的常见问题并且还是找不到答案的话,请尝试以下方法: |
|||
* 尝试寻找更多关于问题的信息,查看''[[How to debug MediaWiki]]''。 |
|||
* 查看[[#有个没提到的问题,怎么办?|下面的章节]]以获取关于如何联络[[Developers|开发者]]及其它知识丰富的用户的信息。 |
|||
=== 我尝试过了,但是没用. === |
|||
*在此网站上查看[[Project:Help|other sources of help]]。 |
|||
:''我遇到了一个问题,我发现FAQ有解决方案,也照着FAQ做了,但是没用!!!'' |
|||
*[[Special:Search|搜索]]此网站的其他内容。 |
|||
*检索[[m:Main Page|Meta]]里所存档的旧文档;有用的开发者文档被保留在Meta.wikimedia.org上的[[m:Category:Pages to be exported to MediaWiki.org|Pages to be exported to MediaWiki.org]]分类里,直到[[m:Meta:MetaProject to transfer content to MediaWiki.org|从MetaProject向MediaWiki转移]]完成。 |
|||
*搜索互联网。 |
|||
*[[How to become a MediaWiki hacker|如何成为MediaWiki高手]] |
|||
*查看[[#Still no luck. Where can I ask for help?|下面的小节]],了解如何联络开发人员以及其他知识丰富的用户。 |
|||
十有八九是你没[[#如何强制刷新一个缓存页面?|清除缓存]],有一个非常简单的方法可以访问一个未缓存的页面.在你的地址栏上<code>?title=</code>的后面随便输入个标题,按下Enter键,看看会不会遇到相同的问题. |
|||
===还是不行。现在该去哪寻求帮助?=== |
|||
*在[[Project:Support desk]]上提问。 |
|||
MediaWiki使用服务器端和客户端缓存,所以简单清除客户端缓存并不够.[[#如何强制刷新一个缓存页面?|刚刚提到的清除缓存]]一节有指导. |
|||
*写邮件给[[mail:mediawiki-l|mediawiki-l邮件列表]] (也可以先搜索一下[[mailarchive:mediawiki-l/|文件存档]])。 |
|||
*在我们的IRC频道([[:en:Freenode|Freenode]]网络,'''[irc://irc.freenode.net/mediawiki #mediawiki]'''频道)里直接向[[developers|开发者]]提问。 |
|||
或许你该检查别的: |
|||
* 你编辑的是正确的文件吗?试着在你编辑的文件里乱写一通,有什么坏掉了吗? |
|||
** phpinfo.php(一个只包含 <code><?php phpinfo() ?></code> 的文件)是调试的好工具,把它上传到你的服务器上,打开它,查找php.ini中指定的文件位置. |
|||
* 你有把设置放在正确的部分吗?你有在php.ini中创建重复的目录吗?记得把新的设置加到LocalSettings.php的最下面(而不是最上面!) |
|||
* 如果你有创建 .htaccess, 请确定AllowOverrides打开了吗? 可以问问你的主机商. |
|||
===有个没提到的问题,怎么办?=== |
|||
如果你已经仔细研究了上面的常见问题并且还是找不到答案的话,请尝试以下方法: |
|||
* 在此网站上查看[[Project:Help|other sources of help]]。 |
|||
* [[Special:Search|搜索]]此网站的其他内容。 |
|||
* 检索[https://meta.wikimedia.org/wiki/Main%20Page Meta]里所存档的旧文档;有用的开发者文档被保留在Meta.wikimedia.org上的[https://meta.wikimedia.org/wiki/Category:Pages%20to%20be%20exported%20to%20MediaWiki.org Pages to be exported to MediaWiki.org]分类里,直到[https://meta.wikimedia.org/wiki/Meta:MetaProject%20to%20transfer%20content%20to%20MediaWiki.org 从MetaProject向MediaWiki转移]完成。 |
|||
* 搜索互联网。 |
|||
* [[How to become a MediaWiki hacker|深挖源码]]. |
|||
* 查看[[Manual:FAQ/zh#Still no luck. Where can I ask for help?|下面的小节]],了解如何联络开发人员以及其他知识丰富的用户. |
|||
===运气不好,没有得到帮助咋办?=== |
|||
* 在[[Project:Support_desk]]上提问。 |
|||
* 写邮件给[[mail:mediawiki-l|mediawiki-l邮件列表]] (也可以先搜索一下[https://lists.wikimedia.org/pipermail/mediawiki-l/ 文件存档])。 |
|||
* 在我们的IRC频道([https://en.wikipedia.org/wiki/Freenode Freenode]网络,'''[[irc:mediawiki|#mediawiki]]'''频道)里直接向[[Developers|开发者]]提问。 |
|||
===推荐阅读=== |
===推荐阅读=== |
||
*[http://www.catb.org/~esr/faqs/smart-questions.html 提问的智慧] 注:请使用代理访问.本文含有中文版 |
* [http://www.catb.org/~esr/faqs/smart-questions.html 提问的智慧] 注:请使用代理访问.本文含有中文版 |
||
*[http://www.chiark.greenend.org.uk/~sgtatham/bugs.html 如何有效的报告BUG] 注:本文含有中文版 |
* [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html 如何有效的报告BUG] 注:本文含有中文版 |
||
*[http://workaround.org/getting-help-on-irc 如何使用IRC频道获得有价值的帮助] |
* [http://workaround.org/getting-help-on-irc 如何使用IRC频道获得有价值的帮助] |
||
*书名: ''MediaWiki Administrators' Tutorial Guide''(mediawiki站长指导),作者:Mizanur Rahman,ISBN 1904811590 |
|||
*[[Books about MediaWiki]] |
|||
=== 参考 === |
|||
<references /> |
|||
{{Languages}} |
{{Languages}} |
Revision as of 13:06, 19 December 2015
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/40/OOjs_UI_icon_speechBubbles-ltr.svg/45px-OOjs_UI_icon_speechBubbles-ltr.svg.png)
- mediawiki-l,MediaWiki邮件列表。
- #mediawiki 連線 - IRC聊天频道。
- 服务台
关于MediaWiki使用的常见问题解答(FAQ)。 如果您的问题既没有在此处也没有在MediaWiki技术文档或MediaWiki用户文档中得到回答,请在支持场所询问。 | ![]() |
一言以蔽之
MediaWiki, Wikimedia(维基媒体基金会), Wikipedia(维基百科)和wiki间的区别是什么?
这个问题经常被问到,请参阅Wikipedia、Wikimedia、MediaWiki 和 wiki 的区别页面获得更详细的答案.
我能将MediaWiki用于某个用途么?
MediaWiki是自由软件,这意味着你可以以任意方式使用它而不需要法律上的许可.你的wiki上的内容可以采用不同的协议.当然,作为支持维基百科运行的软件而发展起来的项目,我们鼓励你使用一个自由许可证授权你的wiki上的内容,但是这不是必须的.
如果你希望修改MediaWiki软件,没有问题!但是这里有一些限制,查看GNU 通用公共许可证第二版的全文了解详细信息.因为MediaWiki是免费使用的,在适用的法律允许的范围内没有担保责任。
安装和设置
到哪里里下载MediaWiki?
点击这里前往下载页.你会下载到一个.tar.gz归档文件. 你也可以 通过Git从我们的版本库中下载 .
如何安装MediaWiki?
安装MediaWiki的预计时间为10到30分钟,包括上传与复制文件,和运行设置脚本.请参阅[Manual:Installation guide|安装指南]],你也可以在那里找到系统需求.
能通过软件包管理器安装MediaWiki吗?
大部分Linux发行版都会以分发包的格式提供MediaWiki软件。MediaWiki开发团队认为您应该向您的Linux发行版提供者咨询安装与配置的事宜。负责维护这些分发包的独立社群和公司应该向您提供安装指南。
但是请注意因为软件源中的MediaWiki可能不是最新的,所以请密切关注你所使用的扩展的兼容性。
- 另请参阅: MediaWiki软件套装(英文)
我能在一个服务器上运行多个MediaWiki网站吗?
只要满足下列条件,您就可以在一台服务器上安装多个wiki:
- 您的每一个wiki使用各自不同的数据库
或者
- 您的每一个wiki的数据库前缀不相同(如果您用的是PostgreSQL,在不同的模式或用户下,也能达到这一效果)
要了解这些选项的相关信息,可分别参见$wgDBname与$wgDBprefix。
要了解设置wiki家族的相关信息,可参见Manual:Wiki家族。
要了解将多个wiki设置为使用相同服务器、数据库与资源的其他方法,参见来自Steve Rumberg(存档)用户的更深层的解释与进一步的意见。
MediaWiki能在安全模式下工作吗?
可以,但其功能会受到一定限制。参见安全模式。
MediaWiki需要Shell访问吗?
终端访问(SSH访问)在安装MediaWiki的过程中并不是必须的,但我们强烈推荐你这么做。如果不能进行终端访问,您可能难以对您的wiki进行备份,或难以将它升级到更新的版本。如果完全脱离终端访问,您将不能完成一些维护任务。
如何安装扩展?
参见Manual:Extensions获取安装插件与编写插件的相关信息。参见Category:插件以寻找已有的插件。
如何添加额外的名字空间?
参阅Creating a custom namespace.
如何启用文件上传?
文件上传是MediaWiki常用的功能之一,但在目前所有的发行版中都被默认关闭了。要启用它们,首先要让网站服务器上的上传文件夹(默认为images
)可被写入(chmod 777或允许Apache用户写入内容,等等),然后在LocalSettings.php中将$wgEnableUploads设为true
值(例如“$wgEnableUploads = true;”)。如果你在上传时遇到了一个"failed to mkdir" (无法创建文件夹)错误,你可能需要调整你的服务器上的文件权限。
如何在MediaWiki中显示数学公式?
MediaWiki允许用户插入数学公式。参见Manual:Math获取安装指南。
如何设置我的Wiki的时区?
- 请参阅: Manual:Timezone
如何强制刷新一个缓存页面?
有时您需要刷新被缓存的页面,比如当页面的导航栏发生了变化后。在页面的动态URL后加上&action=purge
即可。
例如:http://www.mediawiki.org/w/index.php?title=Main_Page&action=purge
或在页面的短型URL后加上?action=purge
:
例如:http://www.mediawiki.org/wiki/Main_Page?action=purge
如何完全停用缓存?
将下列语句加入LocalSettings.php即可:
$wgEnableParserCache = false; $wgCachePages = false;
如何允许上传其他格式的文件?
MediaWiki 使用$wgFileExtensions来限定允许上传的文件格式.
例如,要允许用户上传PDF格式文件,请将下面一行增加到你的LocalSettings.php中:
$wgFileExtensions[] = 'pdf';
可以像下面这样一次添加多个文件类型:
$wgFileExtensions = array_merge($wgFileExtensions, array( 'pdf', 'txt', 'mp3' ));
"文件已损坏或者扩展名不正确"
有些用户报告说,在向已允许扩展名列表中增加文件格式后,软件会发生错误。出错后的文字类似于下方:
- 文件已损坏或存在无效扩展名。请重新检查并上传文件。
可能的解决方案:
- *设定$wgMimeDetectorCommand的值,例如:在Unix或Linux,您可以将它设为
- 编译/安装PHP插件fileinfo
- Fedora - yum install php-pecl-Fileinfo
- :
$wgMimeDetectorCommand = "file --brief --mime";
- 也请参阅:Manual:Mime type detection.code>
安装程序没创建一个管理员用户?
有时可能因为安装程序没有成功运行或是用户表丢失的缘故导致没有管理员账户,这里有几个修复的方法:
maintenance/createAndPromote.php
- 对于1.16以前版本的MediaWiki,确保
AdminSettings.php
配置正确(参阅AdminSettings.sample
) - 在shell中运行
maintenance/createAndPromote.php --username <新用户名> --password <密码>
. 要让新创建的用户既成为管理员又成为行政员,加入--bureaucrat
参数.
这会创建一个新用户并授予管理员权限,运行 createAndPromote.php
--help
获得帮助.
在数据库中修改
- 用一般方法注册一个账户 (Special:UserLogin).
- 在 Special:Preferences 中查看用户ID.
- 在数据库中执行下列SQL语句:
INSERT INTO user_groups ( ug_user, ug_group ) VALUES ( <id>, 'bureaucrat' ), ( <id>, 'sysop' );
<id>
.用你刚刚查阅的用户ID替换.- 注意: 如果LocalSettings.php中定义了
$wgDBprefix
,记得加在表名前.例如$wgDBprefix
= "XYZ"时的表名是XYZuser_groups
.
临时允许任何人修改用户权限,然后给初始化时创建的用户分配权限
为了能修改用户权限,这个操作的关键是允许所有用户修改权限.
- 用一般方法注册一个账户 (Special:UserLogin),然后登录.
- 在LocalSettings.php中加入下面一行
$wgAddGroups['user'] = true;
- 在 special:userrights中将新创建的用户添加到管理员与行政员组.
- .将刚刚添加的
$wgAddGroups['user'] = true;
删除 - Remove the
$wgAddGroups['user'] = true;
line from your LocalSettings.php . This step is very important, as until you remove it anyone can alter permissions, which is bad.
如何重置密码?
如何创建或修改跨wiki链接?
如何让显示的URL更短?
(例如用 /wiki/Article_Name as opposed 取代 /w/index.php?title=Article_Name)
我能像目录一样组织页面吗,像/wiki/subdir/PageName这样?
下载和使用MediaWiki是免费的吗?
是的,在自由软件意义下的自由。参见Project:Copyrights了解本站已有内容在许可协议方面的问题。
如何管理用户权限?
参见Manual:用户权限与Manual:用户权限管理获取常见的信息。参见Manual:访问控制获取限制访问的方法与措施。
如何阻止匿名用户编辑页面?
建议修改$wgGroupPermissions
. 添加下面一行到LocalSettings.php
:
$wgGroupPermissions['*']['edit'] = false;
通过Extension:AbuseFilter,管理员可以临时阻止匿名编辑.
- 也请参阅:阻止访问, Manual:User rights.
如何阻止匿名用户创建页面?
- 添加下面一行到
LocalSettings.php
的最下面:
$wgGroupPermissions['*']['read'] = false;
也请参阅 Manual:$wgWhitelistRead. 参阅Manual:Preventing access#Restrict viewing of all pages for more information.
如何阻止创建账户?
- 添加下面一行到
LocalSettings.php
的最下面:
$wgGroupPermissions['*']['createaccount'] = false;
参阅Manual:Preventing access#Restrict account creation for more information.
如何在注册时要求提供电子邮件地址?
如何让MediaWiki只读?
MediaWiki版本: | ≥ 1.5 |
如何修改默认的用户设置?
MediaWiki版本: | ≥ 1.4 |
MediaWiki 将默认的用户选项保存在语言文件中,例如languages/Language.php
.但是和DefaultSettings.php一样,别修改它,做参考就好.
在Language.php查找你要修改的选项,例如:
/* private */ $wgDefaultUserOptionsEn = array(
...
'searchlimit' => 20,
...
)
要改成50的话,在LocalSettings.php里添加:
$wgDefaultUserOptions = array( 'searchlimit' => 50 );
注意是设置$wgDefaultUserOptions,而不是$wgDefaultUserOptionsEn.
要改变默认搜索的名字空间,在LocalSettings.php里设置$wgNamespacesToBeSearchedDefault.例如要默认搜索主名字空间和分类名字空间:
$wgNamespacesToBeSearchedDefault = array(
NS_MAIN => true,
NS_CATEGORY => true,
);
某些情况下,你在改变默认设置后希望改变现有用户的设置.
要这样做的话,在maintaince目录运行userOptions.php. 第一次运行建议加入 "--dry" 参数(这个参数用来模拟运行,不会修改数据库。)。
php userOptions.php --dry --nowarn searchlimit --old 20 --new 50
另外,在进行实际操作前建议备份数据库。
如何优化MediaWiki的运行速度?
如何启用搜索建议?
升级
- 请参阅: Manual:Upgrading
移动
能把我的wiki移动到另一台电脑上吗?
应该可以,实质上就是备份你的安装然后"还原"到一台新电脑上.然后对配置进行一些适当的调整以适合新服务器的需要.
那么,如何做?
定制界面
如何修改左上角的标志?
左上角的标志是由LocalSettings.php中的$wgLogo选项决定.
有两个方法可以修改:
- 通过标准上传界面向你的wiki上传一张图片,这样以后修改起来也容易,所以你可能希望保护它防止被篡改.
- 向LocalSettings.php添加$wgLogo参数, 例如:
$wgLogo = "{$wgUploadPath}/6/62/mylogo.png";
- 或者向服务器直接上传一张图片.
- 向LocalSettings.php添加$wgLogo参数, 例如:
$wgLogo = "{$wgScriptPath}/mylogo.jpg";
- (这个例子中图片和LocalSettings.php在一个文件夹中.)
要改变某些页面的标志,覆盖#p-logo的background-image属性,或者使用像Extension:LogoFunctions这样的扩展.
![]() | 别覆盖默认的logo (/skins/common/images/wiki.png ); 因为升级时会被覆盖. |
如何编辑wiki的CSS?
别直接编辑像main.css一类的CSS文件,因为这样会使你日后的升级变得困难.要改变全站的样式,编辑MediaWiki:Common.css,要改变特定皮肤的样式(例如Monobook),编辑MediaWiki:Monobook.css.这些页面的内容会覆盖main.css中的值.
如何隐藏左侧的导航栏
换句话说,你希望内容占据全部的宽度来隐藏logo和左侧导航? 要隐藏它们,将下面的代码添加到MediaWiki:Common.css中.
#column-content { margin: 0 0 .6em 0; }
#content { margin: 2.8em 0 0 0; }
#p-logo, .generated-sidebar, #p-lang, #p-tb, #p-search { display:none; }
#p-cactions { left: .1em; }
要只在用户按下F11时隐藏,将下面的代码添加到 MediaWiki:Common.js:
document.onkeydown = function( e ) {
if( e == null ) e = event
if( testKey( e, 122 ) ) { //F11
appendCSS('#column-content {margin: 0 0 .6em 0;} #content {margin: 2.8em 0 0 0;} #p-logo, .generated-sidebar, #p-lang, #p-tb, #p-search {display:none;} #p-cactions {left: .1em;} #footer {display:none;}');
return false;
}
}
function testKey( e, intKeyCode ) {
if( window.createPopup )
return e.keyCode == intKeyCode
else
return e.which == intKeyCode
}
如何隐藏页面底部的分类列表?
添加这一行到你wiki的MediaWiki:Common.css中
.catlinks { display: none; }
我能自定义左侧顶部的标志吗,如果可以的话,怎样做?
- 要修改标志的图片,参阅上节.
- 要修改样式,在样式表中为#p-logo选择器定义样式即可,默认的样式像这样:
#p-logo {
z-index: 3;
position: absolute; /*needed to use z-index */
top: 0;
left: 0;
height: 155px;
width: 12em;
overflow: visible;
}
记住,要编辑你wiki上的MediaWiki:Common.css一类的页面而不是直接修改核心css文件.
如何改变点击左上角的标志后跳转到的页面?
默认情况下点击logo会返回到首页,要指定哪一个页面是首页,编辑MediaWiki:Mainpage.
要在点击logo时前往任意的其他页面(不一定是你的wiki),你可以向LocalSettings.php中增加一个hook来覆盖默认设置.
/* 改变首页的URL为绝对路径 */
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 'lfChangeMainPageURL';
function lfChangeMainPageURL( $sk, &$tpl ) {
$tpl->data['nav_urls']['mainpage']['href'] = "http://www.your-desired-url.com/"; // Point the main page url to an absolute url
return true;
}
/* Change the main page url used in things like the logo to a url of another page on the wiki */
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 'lfChangeMainPageURL';
function lfChangeMainPageURL( $sk, &$tpl ) {
$tpl->data['nav_urls']['mainpage']['href'] = Title::newFromText('ThePage')->getLocalURL(); // Point the main page url to a wiki page's url
return true;
}
改变标志的大小
Note that a tag is on top of the logo so if you are trying to reduce the size of the logo's portlet you will also need to change the #p-logo a and #p-logo a:hover rules. The default setting for these is:
#p-logo a,
#p-logo a:hover {
display: block;
height: 200px;
width: 12.2em;
background-repeat: no-repeat;
background-position: 35% 50% !important;
text-decoration: none;
}
如何改变地址栏的图标 (favicon)?
- 把favicon.ico上传到你的服务器的根目录.
- 或者编辑LocalSettings.php中的$wgFavicon,增加
$wgFavicon = "$wgScriptPath/path/to/your/favicon.ico";
.
参阅Manual:$wgFavicon获得更多细节.
提示: favicon 的大小应为16x16 / 32x32 像素.
Rewrite 规则
如果你有用URL重写规则从URL中移除"index.php",你也需要为.ico加个例外.把下面一行加入到.htaccess中:
- RewriteRule .*\.ico$ - [L]
这个规则必须在index.php的规则之前.
注意区分大小写
记得favicon.ico的文件名全是小写("favicon.ico",而不是"Favicon.ico").大多数的服务器(例如类UNIX系统)可能找不到有大写的文件名.
如何定义导航栏?
使用Monobook皮肤的每一个页面左边是导航条,其内容由您的wiki上的MediaWiki:Sidebar 页面决定. 定制这些内容的相关信息,请参看Manual:Interface/Sidebar.
如何在每一个页面上放置一个消息(站点通告)?
在MediaWiki:Sitenotice放置一些文本.内容会显示在所有的页面上方.
你也可以在MediaWiki:Anonnotice上放置一些文本,当用户未登录时会出现在页面的上方.
如何指定首页?
默认的首页名称为"首页".编辑MediaWiki:Mainpage来改变.有时边栏中的"首页"链接可能没有改变,这时需要编辑 MediaWiki:Sidebar.
如何改变首页的标题?
用移动页面选项移动首页即可.
通常你可能期望指定哪个页面是首页.
如何在首页隐藏标题?
MediaWiki默认没有隐藏首页标题的功能(参阅工單T8129),你可以用CSS或者NoTitle extension完成.
将下面一行添加到你wiki上的MediaWiki:Common.css中:
body.mainpage.action-view h1.firstHeading, body.mainpage.action-submit h1.firstHeading { display: none; }
如果你的MediaWiki版本非常旧,或是你移动了首页却没更新MediaWiki:Mainpage,或是某些不支持这项设定的皮肤上,这可能无法工作
如果你的皮肤不是使用h1
标签和firstHeading
类选择器的话,你需要自行调整.
If the skin uses a different element for the title than a h1
element with class firstHeading
, you'll need to find the appropriate CSS selector to apply for that skin.
如何隐藏目录?
目录 (TOC) 会在大于四个标题的页面上显示,当然也有办法隐藏.
某个页面
- 把魔术字
__NOTOC__
放在页面上.
- 所有页面
- 用 NoTOC扩展
- 或者
- 添加到MediaWiki:Common.css.
.toc, #toc { display: none; }
- 单个用户
- 用户可以把同样的规则添加到用户样式表中(例如 common.css).
MediaWiki版本: | ≤ 1.22 Gerrit change 99430 |
- 参数设置中曾经有一个参数可以隐藏目录,这个功能在MediaWiki1.23中被移除了. (phab:T54813).
如何改变界面文字?
- Special:Allmessages提供了一个系统消息的列表,通过编辑对应的消息文字可以进行修改.
- 要关闭MediaWiki名字空间, 使用 $wgUseDatabaseMessages设置.
- 要移除页面底部的隐私政策或者免责声明,用
-
替换 MediaWiki:Privacy 或 MediaWiki:Disclaimers 的内容.
如何改变界面文字语言?
要改变默认的界面的语言,在LocalSettings.php
改变$wgLanguageCode
的值,例如:
$wgLanguageCode = "fr";
你也许需要绕过浏览器缓存来查看更改.
新的默认值会对没有更改过这项设置的用户生效.
Extension:UniversalLanguageSelector提供了一种让用户自行选择显示语言的方法,Extension:Translate可以让用户翻译wiki上的内容为其他语言.
要修改所有用户的默认设置,运行 userOptions.php 维护脚本. 下面的例子会把现有用户的默认语言由英文变为法文:
php userOptions.php language --old en --new fr
如何去除某个标签(例如"文章"或"编辑")?
请参阅: User:Subfader/Hide_page_tabs多获得些功能.
添加下一行到MediaWiki:Common.css中:
li#ca-edit { display: none; }
查看源代码来知道要移除的标签的选择器ID.
注意: 这个设置只会在Monobook(或其分支,例如Vector)皮肤上工作,它也不会阻止用户编辑,参阅Manual:User rights来获得阻止用户编辑的方法.
如何增加一个标签?
旧版本的MediaWiki可以通过Extension:DynamicTabs来实现 (也可以通过Manual:Hooks/SkinTemplateNavigation编写自己的扩展):
下面的实例会移除讨论标签并 添加一个回到首页的标签,假设它叫做extensions/AR-Tabs.php
:
MediaWiki版本: | ≤ 1.15 |
<?php
if( !defined( 'MEDIAWIKI' ) ){
die( "This is not a valid access point.\n" );
}
$wgHooks['SkinTemplateContentActions'][] = 'replaceTabs';
function replaceTabs( $content_actions ) {
unset( $content_actions['talk'] ); // only this to remove an action
$maintitle = Title::newFromText( wfMsgForContent( 'mainpage' ) );
$main_action['main'] = array(
'class' => false or 'selected', // if the tab should be highlighted
'text' => wfMsg( 'sitetitle' ), // what the tab says
'href' => $maintitle->getFullURL(), // where it links to
);
$content_actions = array_merge( $main_action, $content_actions ); // add a new action
return true;
}
MediaWiki版本: | ≥ 1.16 |
<?php
if( !defined( 'MEDIAWIKI' ) ){
die( "This is not a valid access point.\n" );
}
$wgHooks['SkinTemplateNavigation'][] = 'replaceTabs';
function replaceTabs( $skin, &$links) {
unset( $links['namespaces']['talk'] ); // Remove the talk action
$maintitle = Title::newFromText( wfMsgForContent( 'mainpage' ) );
$links['namespaces']['main'] = array(
'class' => false or 'selected', // if the tab should be highlighted
'text' => wfMsg( 'sitetitle' ), // what the tab says
'href' => $maintitle->getFullURL(), // where it links to
'context' => 'main',
);
return true;
}
然后把下面一行添加到LocalSettings.php中:
require_once("extensions/AR-Tabs.php");
如何去除某个页面上的某个标签?
MediaWiki版本: | ≥ 1.9 |
编辑MediaWiki:Common.css,下面的例子会移除首页上的讨论标签:
body.page-Main_Page li#ca-talk { display: none !important; }
去除所有页面上的某一个标签
MediaWiki版本: | ≥ 1.9 |
编辑MediaWiki:Common.css,下面的例子会移除所有页面上的讨论标签:
#ca-talk { display:none!important; }
其他的标签id还有 #ca-history, #ca-viewsource, #ca-view (条目), #ca-nstab-main (首页), #ca-viewsource.
下拉菜单里的标签id有 #ca-watch, #ca-move, #ca-delete.
如何对匿名用户隐藏"编辑段落"链接?
改变$wgDefaultUserOptions
的值可以实现,
编辑LocalSettings.php,加入下面一行:
$wgDefaultUserOptions ['editsection'] = false;
如果 $wgDisableAnonTalk为真,如何去除"关于此IP地址的讨论"按钮?
设置 $wgShowIPinHeader 为 false.
如何移除"登录/创建账户"链接?
向LocalSettings.php添加下面的代码可以从个人工具栏中移除"登录/创建账户"链接:
$wgHooks['PersonalUrls'][] = 'lfRemoveLoginLink';
function lfRemoveLoginLink( &$personal_urls, $title ) {
unset( $personal_urls['login'] );
unset( $personal_urls['anonlogin'] );
unset( $personal_urls['createaccount'] );
return true;
}
如何限制某些操作和访问特殊页面?
- 注意: MediaWiki 不是为这种用法设计的!
Suppressing actions and special pages can be useful when you want to create the illusion of a static website via a particular URL or VirtualHost, but also have an 'internal' view that is a true wiki. i.e. if you have an inward facing 'view' of your wiki that users can edit, and an outward facing 'view' that should appear like a static website (no history, no discussion, etc., etc.).
After hiding all the appropriate links (参阅above), if you are using the Apache web server, you can disable actions and special pages using the following rewrite rules:
# Lock down the site (disable MediaWiki commands) RewriteEngine On #RewriteLog /tmp/rewrite.log #RewriteLogLevel 9 ## See http://www.mediawiki.org/wiki/Manual:Parameters_to_index.php#Actions RewriteCond %{QUERY_STRING} (.*action=.*) RewriteRule .* http://www.my.domain.com? RewriteCond %{REQUEST_URI} !^/index.php/Special:Search RewriteCond %{REQUEST_URI} ^(.*Special:.*) RewriteRule .* http://www.my.domain.com? ## Catch a trick... RewriteCond %{QUERY_STRING} ^(.*Special:.*) RewriteRule .* http://www.my.domain.com?
Above, a request for 'http://www.my.domain.com/wiki/Page_name?action=edit'
, for example, will be simply rewritten to 'http://www.my.domain.com'
. Similarly any page in the Special namespace (with the exception of Special:Search) will be rewritten to 'http://www.my.domain.com'
. Remember, this is only a hack, and isn't intended as a solution for a secure CMS.
Note that you will need to adjust the above rules to match your specific URL naming schema.
Other issues to consider when trying to lock down a site like this is the API and POST requests for the wiki content (rather than GET).
如何编辑系统消息?
Special:Allmessages包含系统消息的列表,可以编辑.
如何改变页脚?
如何移除页脚中的"Powered by MediaWiki"图像?
#f-poweredbyico { display: none; }
对于Vector皮肤:
#footer-icon-poweredby { display: none; }
对于1.17版的Vector皮肤:
#footer-icon-poweredbyico { display: none; }
对于1.18版的Vector皮肤:
#footer-poweredbyico { display: none; }
在1.17版本中,可以把下面一行添加到LocalSettings.php中来完全移除Powered by MediaWiki图像:
unset( $wgFooterIcons['poweredby'] );
对于1.16及以前的版本,你需要使用hooks:
$wgHooks['SkinTemplateOutputPageBeforeExec'][] = 'lfRemovePoweredBy';
function lfRemovePoweredBy( $sk, &$tpl ) {
unset( $this->data['poweredbyico'] );
return true;
}
参阅$wgFooterIcons
获得关于自定页脚图标的更多信息..
如何自订签名消息(例如增加一个回复链接)?
编辑MediaWiki:Signature(用户) 或 MediaWiki:Signature-anon(匿名用户).
例如 [[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])
会放置一个讨论页链接, [[{{ns:user}}:$1|$2]] ([{{fullurl:{{ns:user_talk}}:$1|action=edit§ion=new}} Reply])
会放置一个直接增加新段落的链接.
用户可以通过参数设置自定义自己的签名.
能改变标题吗,怎样做?
大部分你希望更改的内容可以在MediaWiki名字空间中找到,前往Special:AllMessages并搜索你希望更改的文字获得页面的位置,要编辑的话还需要管理员权限.
要改变在浏览器标题栏中显示的标题,编辑MediaWiki:Pagetitle.在最近的MediaWiki版本中,默认的设置为MediaWiki:Pagetitle is $1 - {{SITENAME}}.
记得在改变后清除你的浏览器缓存来查看改变.
MediaWiki能自动首字母大写$wgSitename吗?
可以,在LocalSettings.php中改变 $wgCapitalLinks 设置即可 .
如何在新窗口打开外部链接?
我能阻止MediaWiki格式化文本吗?
用"<nowiki>"标记包围不希望格式化的文本即可.
例子:
svn co <nowiki>http://svn.example.com/myproject/</nowiki>
结果:
svn co http://svn.example.com/myproject/
如何强制用户先预览再提交编辑?
如何在编辑页面上增加更多按钮?
如何在编辑器中增加插入字符的链接?
安装并配置Extension:CharInsert.
如何在自己的wiki上使用维基百科的默认皮肤(Vector)?
MediaWiki版本: | ≥ 1.16 |
Vector 推出于 1.16版本,在1.17版本中为默认皮肤. 参阅Manual:$wgDefaultSkin 来设置你wiki的默认皮肤.
MediaWiki版本: | ≤ 1.15 |
安装Vector扩展来实现更多功能.
如何在显示打印版本时不显示外部链接?
将下面的代码添加到你的wiki上的MediaWiki:Print.css中:
#content a.external.text:after,
#content a.external.autonumber:after {
content: none;
}
或者你希望在打印版本中为外部链接加下划线:
#content a.external {
text-decoration: underline !important;
}
如何改变首页上的标签的名称?
编辑"MediaWiki:Mainpage-nstab
".
记得清除缓存来查看结果.
基本使用
如何编辑页面?
如何创建一个页面?
有几个方法创建一个新页面:
- 创建一个指向它的内部链接,然后点击它.
- 转到你希望创建的页面,例如
http://www.example.com/index.php?title=New_page
,然后点击"创建" 或 "创建源代码" 链接.
在某些wiki上,失败的搜索中会包含创建页面的链接.
能删除一个旧版本的页面吗?
旧版本会为了方便复查或回退更改而保留在数据库中,不过管理员可能会因为法律原因或为了减少数据库占用的空间而希望删除某些版本.
- 管理员可以删除整个页面再回=恢复某些版本
- Oversight (也称作HideRevision) 扩展可以用来去除指定的修订历史.(MediaWiki <1.16).
- 新版的 MediaWikis (1.14+)中,可以启用RevisionDelete(修订版本删除)功能来允许有权限的用户从编辑历史中移除一个版本.
maintenance/deleteOldRevisions.php
维护脚本 可以进行大量删除修订版本.
如何删除某个页面的某些版本?
- 请参阅: RevisionDelete
或者你可以删除整个页面再恢复你需要的版本.
有没有一个编辑教程?
这里和维基媒体计划上有些教程可以参考:
- 本网站上的 Help:Editing pages
- Meta上的 Editing
- 英文维基百科上的 How to edit a page
- 中文维基百科上的 Help:编辑页面
如何查看某个页面的打印版本?
MediaWiki内置了一套用于打印的css样式表,你可以在你的浏览器中打开打印预览窗口来查看.
或者你可以使用边栏的打印版本链接(如果启用了Collection扩展,则是打印/导出).
如何使用模板?
我能使用维基共享资源上的多媒体文件吗?
是的,鼓励你通过设置$wgUseInstantCommons来使用.
- 也请参阅:InstantCommons
如使用一个模板作为签名?
不建议在签名中使用模板(例如这样(User:Name/sig)的签名)或在签名中加入外部链接。服务器在处理签名模版和有外部链接的签名时需要运行额外的进程,而且当你改变外部链接页面时,所有你曾以该签名发言的讨论页都得更新缓存。这可见这些签名对服务器资源的影响。而且,当用户离开计划,无人管理的签名模板亦会成为破坏的目标。至于一般的文本签名,是和讨论页内容一同保存的,消耗的资源不会比注释多,更不用担心模板被破坏的问题。
要直接产生您签名模版里面的文字,而不是引用模板:
- 建立一个页面来包含你的签名(例如User:Example/sign)
- 打开参数设置,在参数设置的“您的昵称(签名时用)”字段,填入“{{subst:您的签名模版名称}}”,并且勾选“将签名视为维基文本(不自动生成链接)”。
- 保存你的参数设置.
如何加入沙盒功能?
大多数情况下,沙盒是一个任何用户可以编辑的页面.这只是个你可以自由决定的普通页面,MediaWiki并没有这种核心功能.
你也许注意到维基百科上的沙盒像是自动清空的,但这不完全对.清空沙盒是由用户(或是机器人)定时完成的.
如何在个人工具栏(右上角)加入一个沙盒链接?
- 安装并启用Gadget扩展并添加沙盒插件.你也许希望对所有用户默认启用.
- 或者使用SandboxLink扩展
如何运行一个多语言wiki?
要让你的wiki提供工具进行翻译和自定义界面文字,可以使用翻译扩展,文档在这.
导入
![]() | This page is outdated. |
从MediaWiki XML 转储中导入
从其他类型文件中导入
有多种可以帮助将HTML或者其他标记语言转化成MediaWiki标记的工具.
- 开发者和系统管理员工具
- HTML::WikiConverter::MediaWiki - 一个转换HTML成MediaWiki标记的perl模块.
- Wikificator -转换XHTML至MediaWiki标记的JavaScript工具.
- The Edit.php, importImages.php和ImportTextFile.php 维护脚本可以用来导入文本和图像.
- 用户工具
- HTML to Wiki Converter - an online HTML to MediaWiki markup conversion service. (Based on HTML::WikiConverter::MediaWiki)
- wikEd - a text editor for MediaWiki that can import HTML (including Microsoft Word-generated HTML.)
- 指南
- Brief notes on converting from Microsoft .chm help files to MediaWiki
- Notes on converting from Microsoft Office formats to MediaWiki
MediaWiki自动导入脚本
Taken from wiki_import - MediaWiki auto import script:
描述
The script is designed to import a whole folder of files into MediaWiki, with the folder directory tree mapped as wiki category hierarchy.
功能
- economic, build wiki site from existing knowledge base collection without "double-entry"
- persistent, map folder directory tree as wiki category hierarchy
- sophisticated, import/handle all well-known file types automatically
- complete, cover every applicable scenario, even the case when you need to control access to individual wiki pages
- versatile, highly customizable
快速参考
wiki_import.sh $ $Revision: 1.1 $
mediawiki automatic file import script
Usage: wiki_import.sh [OPTIONS]...
The script is designed to import a whole folder of files into mediawiki, with the folder directory tree mapped as wiki category hierarchy.
The specification of the file-to-import is passed from standard input.
Options:
-s, --sect=n the root category section of the wiki of the imported article (mandatory) -1, --header include standard header (category hierarchy path & notice) -l, --link link to actual file on the web site -f, --footer include standard footer (article category) -R, --res[=p] add restricted tag in the footer as '{{<Res Param|Root Category> Restricted}}' (default=`$_opt_sect')
Configuration Options:
-p, --php=fn mediawiki import php script specification -r, --root=n the root category name for the whole wiki site -m, --max=n max_allowed_packet for mysqld to import -u, --user=n wiki user used for the import -a, --arch=p the root url that linked-to archive files based on
Examples:
echo ./path/to/file.ext | wiki_import.sh -1 -l -f -s 'Customer Support' -R
For the rest of details, check out wiki_import.
从其他网站(例如维基百科)导入的模板不工作
你需要安装一些在导出源wiki上使用的扩展,比如ParserFunctions和Cite.同时确定你复制了需要的CSS和JavaScript.
进一步配置
如何让多个wiki使用一个凭据登录?
如果你正在分割一个wiki为多个,可以使用$wgSharedDB和$wgSharedTables来让不同的wiki使用同一个用户数据库.你也可以共享那些不依赖于未共享的表或是特定于某个子wiki的表,参阅Manual:Shared database获得示例和更多信息.
如何允许HTML标签?
参阅Manual:$wgRawHtml ,Manual:$wgGroupPermissions 和 Manual:Preventing access.
![]() | 此功能容易被破坏者滥用 |
也请参阅Extension:SecureHTML 和 Extension:HTMLets,这些方法可以让你更安全的插入HTML.
如何为MediaWiki增加新功能或是修复bug?
改进 (换句话说, 黑掉)MediaWiki的几个基本步骤是:
- 安装Git
- 从Git克隆MediaWiki源码.
- 在你的电脑上运行web服务器,PHP和数据库服务器 (设置它们让你窝火? 遇到问题就求救呗~)
- 在你的电脑上运行MediaWiki (同样让你窝火? 方法同上)
- 修复问题或是增加你期望的新功能,没啥想法?从 "修复那些恼人的bug"开始呗.
- 编辑源代码和相关的文件
- 接着看Gerrit/Tutorial
如何运行一个机器人?
或许可以试试Pywikibot框架.
如何设置 noindex nofollow
在LocalSettings.php中添加 $wgNoFollowLinks = false;
.
如何设置一个小型wiki 农场?
- 请参阅: Manual:Wiki family
如何添加meta标签?
OutputPage类包含一个用来添加meta标签的addMeta方法.
To add further Meta tags just add further lines as last lines of the function addMetaTags() like:
$out->addMeta ( 'description', 'This is a meta description.' );
或者使用像Extension:WikiSEO一类的扩展.
为什么...?
…帮助名字空间是空的?
现在帮助名字空间默认是空的.是在你的wiki上还是MediaWiki.org上提供帮助由你决定.
现在我们还没有一个清除明了,国际化而且自由的文档.不过希望复制一些帮助信息到你的网站?没问题!Help:Contents中的内容在基于MediaWiki搭建的网站上应该都可以使用,而且没有授权问题.参阅Project:PD help,更多的帮助可以在元维基上的"MediaWiki Handbook"中找到.
…升级后某些图像无法显示?
有些用户报告说在升级后无法显示某些图片,它们被服务器报告说"MIME类型无效"或"可能有害".
可以在终端运行maintenance/rebuildImages.php
来在数据库中设置新的MIME类型.
…png格式的图片没有缩略图?
有时升级了PHP版本以后MimeMagic.php函数的工作方式发生了变化,或者内置函数mime_content_type无法识别PNG格式,试着在web上搜索mime_content_type png获得关于如何修复它们的信息.
参阅here 获得更多信息.
…搜索一个wiki内容中的关键字却没有结果?
By default, MediaWiki uses MyISAM's fulltext matching functionality to allow searching page content. The default settings for this mean that words of less than four characters won't be indexed, so will be ignored in searches with older versions of MediaWiki.
MediaWiki 1.13 and earlier are unable to work around this; you must either change MySQL's configuration to index shorter words, or upgrade to a more recent version of MediaWiki.
Note that some particular words may still not be indexed if they are in MySQL's default stopword list.
…不能下载MediaWiki1.27?
MediaWiki 1.43 是在开发中的版本,如果你想尝试的话,你可以从Git下载,或者通过 Template:Mwsnapshots-link 下载最新的Tarball.
…某个在维基百科中的功能没法在我的wiki上工作?
维基百科(或是Wikimedia的其他网站)运行的是MediaWiki的开发版本(现在是1.43.0-wmf.19 (a8c8877)),这意味着某些功能可能与现在的稳定版并不一致.
- 参阅Download from Git获得关于下载开发版本的更多信息.
- 在Special:Version页面获得这个Wiki正在运行的MediaWiki版本.
…在Fedora上设置好权限后却得到了一个403错误?
Fedora Core 默认启用SELinux.参阅这个页面获得关于设置SELinux的更多信息.
…自动注销了?
这个问题和Cookie或是会话有关,例如PHP中的 session.save_path [1]. 参阅登录问题?获得解决方案.
…我的wiki在Sourceforge上不工作?
…留着账户是个好主意?
At many times you just want to remove a user account out of the wiki either because it belonged to a spammer account or you just feel like it. The appropriate choice is to block the account or rename it if needed. Here is why:
Do I just remove his row from the User table?
Rob Church posted the following regarding this issue on the mediawiki-l mailing list:
"If the user has made edits, then removing rows from the user table cause theoretical loss of referential integrity. Now, to be honest with you, I can't think of any conditions where this would cause an actual problem; "undefined behaviour" is the phrase we use.
What I'd suggest doing, to be on the safe side, is running a couple of quick updates against the database:
UPDATE revision SET rev_user = 0 WHERE rev_user = <current_user_id>
UPDATE archive SET ar_user = 0 WHERE ar_user = <current_user_id>
What this will do is cause MediaWiki to treat the revisions as having been made anonymously when generating things like page histories, which should eliminate any problems caused by these routines attempting to check user details from other tables.
If the user has caused log entries, i.e. rows in the logging table, or uploaded images, then the situation becomes trickier, as you'll have to start mopping up all the rows everywhere and it could become a bit of a mess, so if the user's done anything other than edit, I would strongly recommend just blocking them indefinitely.
If the username is offensive or undesirable, then you could consider renaming it using the RenameUser extension."
Another option is to give Admins the 'hideuser' right, and indefinitely block the user with the Hide username from edits and lists option selected.
Extension:UserMerge is also useful.
反垃圾相关
到那里获得垃圾黑名单?
spam blacklist能够从Git中获取,参阅README和扩展的页面获得详细信息.
如何用$wgSpamRegex阻止多个字符串?
尽管$wgSpamRegex在过滤页面内容方面非常强大,在正则表达式里添加多个项目可能把事情弄得很糟糕。
请考虑使用下面的方法:
$wgSpamRegexLines[] = 'display\s*:\s*none';
$wgSpamRegexLines[] = 'overflow\s*:\s*auto';
[...]
$wgSpamRegex = '/(' . implode( '|', $wgSpamRegexLines ) . ')/i';
这段代码范例很方便的在正则表达式里添加额外的字符串而无须每次都费时费力再做调整。这段代码也展示其他两个很流行的屏蔽一些最常见的垃圾信息攻击的过滤器。
- 也请参阅: Extension:SpamRegex
有没有其他的方法对抗垃圾骚扰?
参阅Manual:Combating spam 来了解像Captcha一类的反垃圾骚扰的方法.
反破坏相关
参阅Manual:Combating vandalism 获得对抗破坏的一些提示
现在在哪?
到哪里提交bug报告和功能请求?
去 Phabricator提交Bug报告和功能请求. 参阅How to report a bug.
发生了一个奇怪的错误,我该怎么办?
- 看看Manual:Errors_and_Symptoms 里有没有提及。
- 尝试寻找更多关于问题的信息,查看How to debug MediaWiki。
- 查看下面的章节以获取关于如何联络开发者及其它知识丰富的用户的信息。
我尝试过了,但是没用.
- 我遇到了一个问题,我发现FAQ有解决方案,也照着FAQ做了,但是没用!!!
十有八九是你没清除缓存,有一个非常简单的方法可以访问一个未缓存的页面.在你的地址栏上?title=
的后面随便输入个标题,按下Enter键,看看会不会遇到相同的问题.
MediaWiki使用服务器端和客户端缓存,所以简单清除客户端缓存并不够.刚刚提到的清除缓存一节有指导.
或许你该检查别的:
- 你编辑的是正确的文件吗?试着在你编辑的文件里乱写一通,有什么坏掉了吗?
- phpinfo.php(一个只包含
<?php phpinfo() ?>
的文件)是调试的好工具,把它上传到你的服务器上,打开它,查找php.ini中指定的文件位置.
- phpinfo.php(一个只包含
- 你有把设置放在正确的部分吗?你有在php.ini中创建重复的目录吗?记得把新的设置加到LocalSettings.php的最下面(而不是最上面!)
- 如果你有创建 .htaccess, 请确定AllowOverrides打开了吗? 可以问问你的主机商.
有个没提到的问题,怎么办?
如果你已经仔细研究了上面的常见问题并且还是找不到答案的话,请尝试以下方法:
- 在此网站上查看other sources of help。
- 搜索此网站的其他内容。
- 检索Meta里所存档的旧文档;有用的开发者文档被保留在Meta.wikimedia.org上的Pages to be exported to MediaWiki.org分类里,直到从MetaProject向MediaWiki转移完成。
- 搜索互联网。
- 深挖源码.
- 查看下面的小节,了解如何联络开发人员以及其他知识丰富的用户.
运气不好,没有得到帮助咋办?
- 在Project:Support_desk上提问。
- 写邮件给mediawiki-l邮件列表 (也可以先搜索一下文件存档)。
- 在我们的IRC频道(Freenode网络,#mediawiki频道)里直接向开发者提问。
推荐阅读
- 提问的智慧 注:请使用代理访问.本文含有中文版
- 如何有效的报告BUG 注:本文含有中文版
- 如何使用IRC频道获得有价值的帮助
参考
[[Category:ManualTemplate:Translation]] [[Category:ConfigureTemplate:Translation]]