“安装MW:初始化配置”的版本间差异

来自Wikioe
跳到导航 跳到搜索
无编辑摘要
第1行: 第1行:
[[category:MediaWiki]]
[[category:MediaWiki]]


== 下载 ==
关于新的MediaWiki文件下载:
* 可以在服务器安装git后直接拉取GitHub的相关项目分支[https://github.com/wikimedia/mediawiki GitHub的MediaWiki项目地址]。但是对于服务器链接Github不方便的还是算了。
* 通过下载到各种方式(git、下载release包)到本地,再通过Xftp等工具上传到Server。如果不是服务器不能联网或要替换文件重新打包,则显得多余。
* 通过包的Linux的包管理工具拉取(<code>wget -P /www/wwwroot/ https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.0-rc.3.tar.gz</code>)。


关于获取MediaWiki的站点:
== 配置 ==
* [https://github.com/wikimedia/mediawiki GitHub:MediaWiki]
MediaWiki的配置文件有两处:
* [https://releases.wikimedia.org/mediawiki/ MediaWiki Releases]
# '''/www/wwwroot/xxx.com/includes/DefaultSettings.php''' : 系统默认的配置文件;
* [https://lists.wikimedia.org/pipermail/mediawiki-announce/2020-September/000258.html MediaWiki消息站点]:发布时间会早一点。
# '''/www/wwwroot/xxx.com/LocalSettings.php''' : 用户设置的配置文件;
主要在LocalSettings.php中进行设置和覆盖相应配置,对DefaultSettings.php只是做较少的修改<br/>


注意:
=== 修改默认logo与icon ===
# 通过<code>git clone</code>或download code zip的时候,子模块可能不能下载下拉,需要<code>git submodule update</code>或单独去download那些(对应分支)子模块的代码,子模块的信息在<code>.gitmodules</code>文件中。
LocalSettings.php中,'''''$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png"'''''。<br/>
# 下载或拉取发布包,若为核心包(如:mediawiki-core-1.35.0-rc.3.tar.gz)则包内不包含扩展。
更改logo的方法有两种,
# 替换“./resources/assets/wiki.png”为同名图片(不建议,因为更新系统时会覆盖该默认图片);
# 另行制定其他路径下的自定义图片,如“$wgLogo = "$wgResourceBasePath/images/logo.jpg"”。
<pre>
## The URL path to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
# $wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
# $wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];
</pre>
在'''LocalSettings.php'''中配置网站'''Logo'''和站点'''icon''':
<syntaxhighlight lang="php">
$wgLogo = "$wgResourceBasePath/resources/assets/wikioe.png";
$wgFavicon = "$wgResourceBasePath/resources/assets/wikioe.ico";
</syntaxhighlight>
* 用“Axialis IconWorkshop”制作图标相当nice【2020/10/07 16:43:15】


== 更新 ==
=== 去除底部的power by图标 ===
注意:
LocalSettings.php中,加入 '''''unset($wgFooterIcons['poweredby']);'''''
'''更新''':小版本的更新(如1.34.0 → 1.34.2),一般直接更新就可以了,不需要对服务器的基础支持相关进行安装或升级。
'''升级''':大版本的升级(1.34.2 → 1.35.0),要注意新版本的'''系统需求'''(如:PHP版本、PHP插件等),以及“'''两个 LTS 之间的版本才能之间升级'''”(否则,需要升级到一个LTS,再升级到第二个LTS)。
(更新之前,维护一下“[[站点日志]]”,记录一下新版本的系统需求、特性,养成习惯)


* 系统需求可以通过'''宝塔面板'''完成。
=== 修改皮肤 ===
*: 如:PHP 更新、PHP 插件安装(<span style="color: blue">'''fileinfo''''''opcache''''''memcached''''''Intl'''</span>)、删除 PHP 禁用的函数(<span style="color: blue">'''proc_open'''、'''symlink'''、'''putenv'''</span>)等。
LocalSettings.php中,'''''$wgDefaultSkin = "vector";'''''。<br/>
MediaWiki的皮肤位于“./skins”中,可在网络下载并上传至服务器中(并修改皮肤文件读写权限及所有者),并在LocalSettings.php中加载皮肤(如'''''wfLoadSkin( 'Vector' );''''')。
<pre>
## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'vector', 'monobook', 'timeless':
$wgDefaultSkin = "vector";


=== 文件备份 ===
# Enabled skins.
包括:
# The following skins were automatically enabled:
# 配置文件:<span style="color: blue">'''LocalSettings.php'''</span>;
wfLoadSkin( 'MonoBook' );
#* 如果修改过<span style="color: green">'''数据库配置'''</span>,则需要在配置文件中更新。
wfLoadSkin( 'Timeless' );
# 上传文件夹:<span style="color: blue">'''./images'''</span>;
wfLoadSkin( 'Vector' );
# 扩展文件夹:<span style="color: blue">'''./extensions'''</span>;
</pre>
#* 部分扩展可能也需要更新(最好都重新下载更新一遍)。
# 修改过的内容;
#: 如:includes/defaultSettings.php。
# 添加过的内容。
#: 如:<span style="color: blue">'''logo'''</span>(位于“<span style="color: green">'''./resources/assets'''</span>”)、skins[皮肤]、vendor[依赖] 等。


=== 文件替换 ===
=== 上传文件设定 ===
步骤:
LocalSettings中,'''''$wgEnableUploads = true;''''';<br/>
# 解压安装包:
MediaWiki中允许上传文件类型限制配置(默认支持'png','gif', 'jpg', 'jpeg', 'webp'),可参阅DefaultSettings.php中'''''$wgFileExtensions'''''的值,如:
#:<syntaxhighlight lang="bash" highlight="">
<pre>$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'webp' ];</pre>
tar -zxvf mediawiki-1.35.0-rc.2.tar.gz
而不允许的文件类型在参数'''''$wgFileBlacklist'''''中设定,如:
<pre>
$wgFileBlacklist = [
:# HTML may contain cookie-stealing JavaScript and web bugs
'html', 'htm', 'js', 'jsb', 'mhtml', 'mht', 'xhtml', 'xht',
# PHP scripts may execute arbitrary code on the server
'php', 'phtml', 'php3', 'php4', 'php5', 'phps', 'phar',
# Other types that may be interpreted by some servers
'shtml', 'jhtml', 'pl', 'py', 'cgi',
# May contain harmful executables for Windows victims
'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' ];
</pre>
登录后通过导航栏或特殊页面中的上传文件链接上传文件。用'''''<nowiki>[[File:文件名]]</nowiki>'''''在页面中引用文件,如果引入的是图片文件,还可以指定图片宽度('''''<nowiki>[[File:Example.jpg|200px]]</nowiki>'''''),加入图片说明('''''<nowiki>[[File:Example.jpg|图片1]]</nowiki>'''''),设置方框效果('''''<nowiki>[[File:Filename.jpg|thumb]]</nowiki>''''')。<br/>


# 或
=== 修改导航栏 ===
 
通过wiki地址 ''index.php?title=MediaWiki''( [http://wiki.eijux.com/index.php?title=MediaWiki:Sidebar MediaWiki:Sidebar] ),或者在搜索栏中输入“mediawiki:sidebar”,进入页面后点击编辑即可。<br/>
unzip mediawiki-REL1_35.zip -d /www/wwwroot/
</syntaxhighlight>
#*(把不需要的内容删除)
# 移除旧版本;
#: <syntaxhighlight lang="bash" highlight="">
rm -rf wiki.eijux.com/
</syntaxhighlight>
#*(可以保留需要备份的内容)
# 安装文件替换:
#: <syntaxhighlight lang="bash" highlight="">
# 移动
mv -f mediawiki-1.35.0-rc.2/* wiki.eijux.com/


# 复制
导航栏格式如下:
yes|cp -rf mediawiki-REL1_35/* wiki.eijux.com/
<pre>
</syntaxhighlight>
*导航栏名称一
# 替换备份文件。
**链接一地址|链接一名称
# 更新网站文件归属及读写权限:
**链接二地址|链接二名称
#: <syntaxhighlight lang="bash" highlight="">
# 文件归属者、组
chown -Rf www:www wiki.eijux.com/*


# 文件权限
*导航栏名称二
chmod -Rf 775 wiki.eijux.com/*
**链接一地址|链接一名称
</syntaxhighlight>
**链接二地址|链接二名称
</pre>


=== 执行升级 ===
=== 用户组 ===
  文件替换之后,也能直接访问 MediaWiki,但是使用时(涉及查找的操作和页面)可能出现错误:
MediaWiki中有3个用户组:机器人/管理员/行政员,每个用户组的具体权限可通过”特殊页面” -> “用户组权限”查看;<br/>
   
通过首页中”创建用户”注册的用户默认不属于任何用户组;<br/>
    [[File:MediaWiki:数据错误.png|800px]]
从属于行政员用户组的用户,可通过”特殊页面” -> “用户权限管理”给其他用户分配用户组。
=== 清除页面缓存 ===
DefaultSettings.php中,找到参数'''''$wgCacheEpoch''''',将参数值置为当前时间,可以取消全部已经缓存的页面(包括客户端和服务器端)。
<pre>
/**
  * Set this to current time to invalidate all prior cached pages. Affects both
  * client-side and server-side caching.
* You can get the current date on your server by using the command:
* @verbatim
*  date +%Y%m%d%H%M%S
* @endverbatim
*/
$wgCacheEpoch = '20030516000000';
</pre>


'''步骤:'''
# 访问安装页面:<big>'''[http://wiki.eijux.com/mw-config/index.php http://wiki.eijux.com/mw-config/index.php]'''</big>;
# 依次完成安装过程。
#* 升级密钥:“'''LocalSettings.php'''”中的“<span style="color: blue">'''$wgUpgradeKey'''</span>”)。


== 问题 ==
== 问题 ==

2022年8月22日 (一) 02:44的版本


配置

MediaWiki的配置文件有两处:

  1. /www/wwwroot/xxx.com/includes/DefaultSettings.php : 系统默认的配置文件;
  2. /www/wwwroot/xxx.com/LocalSettings.php : 用户设置的配置文件;

主要在LocalSettings.php中进行设置和覆盖相应配置,对DefaultSettings.php只是做较少的修改

修改默认logo与icon

LocalSettings.php中,$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png"
更改logo的方法有两种,

  1. 替换“./resources/assets/wiki.png”为同名图片(不建议,因为更新系统时会覆盖该默认图片);
  2. 另行制定其他路径下的自定义图片,如“$wgLogo = "$wgResourceBasePath/images/logo.jpg"”。
## The URL path to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
# $wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
# $wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];

LocalSettings.php中配置网站Logo和站点icon

$wgLogo = "$wgResourceBasePath/resources/assets/wikioe.png";
$wgFavicon = "$wgResourceBasePath/resources/assets/wikioe.ico";
  • 用“Axialis IconWorkshop”制作图标相当nice【2020/10/07 16:43:15】

去除底部的power by图标

LocalSettings.php中,加入 unset($wgFooterIcons['poweredby']);

修改皮肤

LocalSettings.php中,$wgDefaultSkin = "vector";
MediaWiki的皮肤位于“./skins”中,可在网络下载并上传至服务器中(并修改皮肤文件读写权限及所有者),并在LocalSettings.php中加载皮肤(如wfLoadSkin( 'Vector' );)。

## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'vector', 'monobook', 'timeless':
$wgDefaultSkin = "vector";

# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );

上传文件设定

LocalSettings中,$wgEnableUploads = true;;
MediaWiki中允许上传文件类型限制配置(默认支持'png','gif', 'jpg', 'jpeg', 'webp'),可参阅DefaultSettings.php中$wgFileExtensions的值,如:

$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'webp' ];

而不允许的文件类型在参数$wgFileBlacklist中设定,如:

$wgFileBlacklist = [
	:# HTML may contain cookie-stealing JavaScript and web bugs
	'html', 'htm', 'js', 'jsb', 'mhtml', 'mht', 'xhtml', 'xht',
	# PHP scripts may execute arbitrary code on the server
	'php', 'phtml', 'php3', 'php4', 'php5', 'phps', 'phar',
	# Other types that may be interpreted by some servers
	'shtml', 'jhtml', 'pl', 'py', 'cgi',
	# May contain harmful executables for Windows victims
	'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' ];

登录后通过导航栏或特殊页面中的上传文件链接上传文件。用[[File:文件名]]在页面中引用文件,如果引入的是图片文件,还可以指定图片宽度([[File:Example.jpg|200px]]),加入图片说明([[File:Example.jpg|图片1]]),设置方框效果([[File:Filename.jpg|thumb]])。

修改导航栏

通过wiki地址 index.php?title=MediaWikiMediaWiki:Sidebar ),或者在搜索栏中输入“mediawiki:sidebar”,进入页面后点击编辑即可。

导航栏格式如下:

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

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

用户组

MediaWiki中有3个用户组:机器人/管理员/行政员,每个用户组的具体权限可通过”特殊页面” -> “用户组权限”查看;
通过首页中”创建用户”注册的用户默认不属于任何用户组;
从属于行政员用户组的用户,可通过”特殊页面” -> “用户权限管理”给其他用户分配用户组。

清除页面缓存

DefaultSettings.php中,找到参数$wgCacheEpoch,将参数值置为当前时间,可以取消全部已经缓存的页面(包括客户端和服务器端)。

/**
 * Set this to current time to invalidate all prior cached pages. Affects both
 * client-side and server-side caching.
 * You can get the current date on your server by using the command:
 * @verbatim
 *   date +%Y%m%d%H%M%S
 * @endverbatim
 */
$wgCacheEpoch = '20030516000000';


问题

站点路径的问题:

站点目录结构的不同,则配置文件的 $wgScriptPath 配置不同,网站的访问路径不同: