Notion-MW
タグ: 差し戻し済み
Notion-MW
 
(同じ利用者による、間の7版が非表示)
7行目: 7行目:
データベース(MySQL)と(CGI版の)phpが使えることを確認しておく。スターサーバーフリー(php+mysql)では動いた。
データベース(MySQL)と(CGI版の)phpが使えることを確認しておく。スターサーバーフリー(php+mysql)では動いた。


SSHが使えないような低価格帯のレンタルサーバーのプランの中でも、PHPでexecなどの機能が自由に使えるため事実上任意コマンドが実行できるものと、それらの機能が制限されているサーバーがある。後者でもMediaWikiは一通り動くが、一部機能が動作しない場合もあるのであまりお勧めしない(特に他サーバー移行で手こずるのは困る)。
SSHが使えないような低価格帯のレンタルサーバーのプランの中でも、PHPでexecなどの機能を使えば事実上任意コマンドが実行できるものと、それらの機能が制限されているサーバーがある。後者でもMediaWikiは一通り動くが、一部機能が動作しない場合もあるのであまりお勧めしない(特に他サーバー移行で手こずるのは困る)。


==== インストール ====
==== インストール ====
23行目: 23行目:
データベース(phpMyAdmin)から、
データベース(phpMyAdmin)から、


<pre class="visual">UPDATE `user` SET user_password = CONCAT(':B:somesalt:', MD5(CONCAT('somesalt-', MD5('somepass')))) WHERE user_name = 'someuser'</pre>
<syntaxhighlight lang="vb.net">UPDATE `user` SET user_password = CONCAT(':B:somesalt:', MD5(CONCAT('somesalt-', MD5('somepass')))) WHERE user_name = 'someuser'</syntaxhighlight>
とする。[https://www.mediawiki.org/wiki/Topic:Rnq7yc02mg1o4j34 https&#58;//www.mediawiki.org/wiki/Topic&#58;Rnq7yc02mg1o4j34]より。<strong>2か所あるsomesaltのところにはLocalSettings.phpの$wgDBpasswordの値を入れること。</strong>
とする。[https://www.mediawiki.org/wiki/Topic:Rnq7yc02mg1o4j34 https&#58;//www.mediawiki.org/wiki/Topic&#58;Rnq7yc02mg1o4j34]より。<strong>2か所あるsomesaltのところにはLocalSettings.phpの$wgDBpasswordの値を入れること。</strong>


37行目: 37行目:


設定が終わると<strong>LocalSettings.php</strong>が出力され、以後これで色々な設定ができるようになる。インストール後にフォルダ名を変えるときはリネームの上、LocalSettings.phpで<code>$wgScriptPath &#61; &quot;/mw&quot;&#59;</code>などと変えればよい。新規ユーザー作成を許可するかどうかなどの設定もここでできるので、禁止したい場合などはこのタイミングでやっておくとよいだろう。
設定が終わると<strong>LocalSettings.php</strong>が出力され、以後これで色々な設定ができるようになる。インストール後にフォルダ名を変えるときはリネームの上、LocalSettings.phpで<code>$wgScriptPath &#61; &quot;/mw&quot;&#59;</code>などと変えればよい。新規ユーザー作成を許可するかどうかなどの設定もここでできるので、禁止したい場合などはこのタイミングでやっておくとよいだろう。
<span id="gitからのインストール"></span>
==== Gitからのインストール ====
[https://www.mediawiki.org/wiki/Download_from_Git/ja Git からのダウンロード - MediaWiki]などに書いてあるが、安定版リリースにバンドルされている拡張やスキン([https://www.mediawiki.org/wiki/Bundled_extensions_and_skins Bundled extensions and skins - MediaWiki])やvendorフォルダ(?)が無かったりして動かすのに一手間かかる。


==== その他初期設定 ====
==== その他初期設定 ====
55行目: 60行目:
<li><p>SyntaxHightlight</p>
<li><p>SyntaxHightlight</p>
<p>Linuxのサーバーでは、<code>extensions/SyntaxHighlight_GeSHi/pygments/pygmentize</code>のパーミッションを変更して所有者に実行権限を付加(先頭の桁を7にする)。参考&#58; [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight/ja Extension&#58;SyntaxHighlight &#45; MediaWiki]</p></li></ul>
<p>Linuxのサーバーでは、<code>extensions/SyntaxHighlight_GeSHi/pygments/pygmentize</code>のパーミッションを変更して所有者に実行権限を付加(先頭の桁を7にする)。参考&#58; [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight/ja Extension&#58;SyntaxHighlight &#45; MediaWiki]</p></li></ul>
== アップグレード ==
基本的には、
# 新しいバージョンのMediaWikiファイル一式を新しいフォルダに設置して、そこに
#* LocalSettings.phpとimagesをコピー
#** LocalSettings.phpは場合によって手直しが必要かも
#* 自分で追加した拡張(extensions)(このサイトでいえばAutoCreateCategoryPagesとWikiSEO)やスキンなどを改めてダウンロードして追加(コピーしてきてもいいが、バージョンを更新したほうが良さそう)
#* ロゴなど、その他リソースをコピー
# シェル(推奨)またはmw&#45;config(当サイトの環境ではシェルのPHPが古すぎるのでこっち)からDBの更新(ただ、バージョンの差が小さければ、既に更新前の段階で基本的に問題なくページが閲覧できる場合も多そう)
という流れ。
1.のところでは、既存のMediaWikiインストールに上書きコピーするというのも一応可能で、実際これでやっている人も結構いそうだが、古いバージョンの(不要な)ファイルが残ってしまうので推奨はされていない。
<span id="スキンデザイン"></span>
== スキン・デザイン ==


<span id="cssjs"></span>
<span id="cssjs"></span>
== CSS/JS ==
=== CSS/JS ===


[https://meta.m.wikimedia.org/wiki/Help:User_style/ja Help&#58;User style/ja &#45; Meta] とかにある通り、デフォルトではcssを直接ページ内に書いても有効にならない。<code>wgAllowUserCss</code>をtrueにして有効にするか、MediaWiki&#58;Common.cssを直接編集するとよい。管理がしやすいので当サイトでは後者の方法を採用した。
[https://meta.m.wikimedia.org/wiki/Help:User_style/ja Help&#58;User style/ja &#45; Meta] とかにある通り、デフォルトではcssを直接ページ内に書いても有効にならない。<code>wgAllowUserCss</code>をtrueにして有効にするか、MediaWiki&#58;Common.cssを直接編集するとよい。管理がしやすいので当サイトでは後者の方法を採用した。
68行目: 91行目:
当サイトではVectorテーマを使用しているので、MediaWiki&#58;Vector.cssの内容も適用される。さらにVector 2022を使っているのでMediaWiki&#58;Vector&#45;2022.cssの内容も適用される。
当サイトではVectorテーマを使用しているので、MediaWiki&#58;Vector.cssの内容も適用される。さらにVector 2022を使っているのでMediaWiki&#58;Vector&#45;2022.cssの内容も適用される。


設定内容としては、ja.wikipedia.orgに合わせて文字サイズを0.875emから0.944emに変更している。
<s>設定内容としては、ja.wikipedia.orgに合わせて文字サイズを0.875emから0.944emに変更している。</s>現在は0.944→0.974に変更している。さらに、<code>vector&#45;font&#45;size</code>([[MediaWiki#文字サイズ|文字サイズ]]参照)関連の設定が優先される状態になっている。
 
=== 文字サイズ ===
 
MediaWikiの文字サイズは結構小さくて、Google検索コンソールでも評価を下げられたりすることがあり、[[MediaWiki#スキン・デザイン|CSS/JS]]の通りにサイズを手動で大きくするなどしていた。しかし、最近(2025/04)Wikipediaなどを見たら文字サイズが改善していて、さらによく見ると右側に表示(Appearance)というサイドバーがあり、非ログインユーザーでも文字サイズを3段階で変更できる(Cookieに保存される)ようになっている。
 
これは[https://www.mediawiki.org/wiki/Topic:Ybg9afru94numvhu The Appearance menu and new default standard font size will be available for logged-out users on Project:Village Pump/Flow]などに詳しく書いてあるが、どうやらver1.43前後からこの機能が追加されたようである。
 
ただし、デフォルトでは非ログインユーザーの文字サイズは3段階の一番小さいものに設定されており見づらい。このデフォルト値をLocalSettings.phpで変更する方法は多分なさそうだが、ソースコードを読むと、<code>skins/Vector/skin.json</code>の<code>&quot;vector&#45;font&#45;size&quot;&#58; 0</code>を例えば<code>1</code>に変更するとデフォルトが真ん中のサイズになることがわかる。
 
上記リンクには、いずれデフォルトがStandardサイズ(つまり<code>1</code>)に変更されるだろうと書いてある。そして、日本語版Wikipediaでは既にデフォルトが<code>1</code>になっている。しかし、現時点の日本語版WikipediaのMediaWIkiのバージョン([https://ja.m.wikipedia.org/wiki/Special:Version バージョン情報])である1.44.0&#45;wmf.27 (fbabd90)(かなり新しい)では、依然として上記の設定値に<code>0</code>になっていた([https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/skins/Vector/+/refs/heads/wmf/1.44.0-wmf.27/skin.json skin.json - mediawiki/skins/Vector - Gitiles])。日本語版Wikipediaでもソースコードにカスタマイズが入っているのか、それとも他の方法があるのかは不明。
 
<span id="モバイルminerva"></span>
=== モバイル・minerva ===
 
[https://www.mediawiki.org/wiki/Extension:MobileFrontend/ja Extension:MobileFrontend - MediaWiki]を使うと、モバイルデバイスでアクセスした際に(デフォルトでは)minerva(<code>MinervaNeue</code>)スキンが使われるようになる。
 
minervaスキンだとカテゴリが表示されないが、LocalSettings.phpに<code>$wgMinervaShowCategories &#61; &#91; &#39;base&#39; &#61;&gt; true &#93;&#59;</code>と書くことで表示されるようになる。<code>$wgMinervaShowCategoriesButton &#61; &#91; &#39;base&#39; &#61;&gt; true &#93;&#59;</code>という情報も出てくるが、現在の最新版ではこれは効果がなかった。


== シェルアクセス ==
== シェルアクセス ==
103行目: 143行目:
== URLを短くする ==
== URLを短くする ==


最初の設定だとURLに<code>index.php?title&#61;</code>のような見栄えのよくない文字列が入ってしまうが、Wikipediaのように<code>example.com/wiki/タイトル</code>のような形式にできる。[https://www.mediawiki.org/wiki/Manual:Short_URL/ja Manual&#58;短縮URL &#45; MediaWiki]に案内がある。そこに書いてある通り、URLに<code>?</code>が入っているのは見栄えだけでなくSEO上もあまりよくないとのこと。
最初の設定だとURLに<code>index.php?title&#61;</code>のような見栄えのよくない文字列が入ってしまうが、Wikipediaのように<code>example.com/wiki/タイトル</code>のような形式が使えるように設定することもできる。[https://www.mediawiki.org/wiki/Manual:Short_URL/ja Manual&#58;短縮URL &#45; MediaWiki]に案内がある。そこに書いてある通り、URLに<code>?</code>が入っているのは見栄えだけでなくSEO上もあまりよくないとのこと。


注意点として、<code>index.php?title&#61;</code>形式を短い形式に強制的にリダイレクトさせるわけではない(index.phpは単なる記事の閲覧以外にも使われるので、そのように設定するのは面倒そう)。ただ、この状態でも、記事間リンクは短いURLを使ってくれるようになる。あとはWikiSEO拡張(後述)を使うと検索エンジンにも短いURLが通知される。
注意点として、<code>index.php?title&#61;</code>形式を短い形式に強制的にリダイレクトさせるわけではない(index.phpは単なる記事の閲覧以外にも使われるので、そのように設定するのは面倒そう)。ただ、この状態でも、記事間リンクは短いURLを使ってくれるようになる。あとはWikiSEO拡張(後述)を使うと検索エンジンにも短いURLが通知される。
115行目: 155行目:
例えば、まず以下のような汎用の<code>Mbox</code>というテンプレートを作り(色も引数で指定できるのがポイント)、
例えば、まず以下のような汎用の<code>Mbox</code>というテンプレートを作り(色も引数で指定できるのがポイント)、


m_with_cap_m
<syntaxhighlight style="margin-bottom:0.2em;" lang="html"><div style="border-left: 0.4rem solid #119922" ><div style="padding-left: 10px; padding-right: 10px;  border: 1px solid #222222; background-color:#FBFBFB; border-left: 0.4rem solid {{{1}}}" >{{{2}}}</div>
 
</div></syntaxhighlight>
<pre class="visual">&lt;div style=&quot;border-left: 0.4rem solid #119922&quot; &gt;&lt;div style=&quot;padding-left: 10px; padding-right: 10px;  border: 1px solid #222222; background-color:#FBFBFB; border-left: 0.4rem solid {{{1}}}&quot; &gt;{{{2}}}&lt;/div&gt;
&lt;/div&gt;</pre>
<div style='text-align: center;'>Template:Mbox</div>
<div style='text-align: center;'>Template:Mbox</div>


これを利用して下書きのテンプレートを作っている。
これを利用して下書きのテンプレートを作っている。


m_with_cap_m
<syntaxhighlight style="margin-bottom:0.2em;" lang="vb.net">{{Mbox|#000022|このセクションの内容は未完成であり、今後の加筆が予定されています。}}</syntaxhighlight>
 
<pre class="visual">{{Mbox|#000022|このセクションの内容は未完成であり、今後の加筆が予定されています。}}</pre>
<div style='text-align: center;'>Template:Stub</div>
<div style='text-align: center;'>Template:Stub</div>


136行目: 172行目:
==== OGP ====
==== OGP ====


このサイトではとりあえず大した設定はしておらず、<code>$wgWikiSeoDefaultImage &#61; &quot;http&#58;//turgenev0.starfree.jp/mw/logo0.png&quot;&#59;</code>でロゴを設定し(相対パスでも表示はされるようだが、[https://webma.xscore.co.jp/study/ogp-seo/ SNSで重要なOGPとは?SEOとの関係性や設定方法を解説 &#45;webma&#45;]とかを見ると多分絶対パスのほうがよさそう)、各ページに<code>&#123;&#123;&#35;seo&#58;|title&#61;&#123;&#123;FULLPAGENAME&#125;&#125; &#45; Turgenev&#39;s Wiki&#125;&#125;</code>と書いただけで、あとは何もしていない。先ほどの「URLを短くする」をやっておくと、そちらのURLが正規URLとして扱われる。
このサイトではとりあえず大した設定はしておらず、<code>$wgWikiSeoDefaultImage &#61; &quot;http&#58;//turgenev0.starfree.jp/mw/logo0.png&quot;&#59;</code>でロゴを設定し(相対パスでも表示はされるようだが、[https://webma.xscore.co.jp/study/ogp-seo/ SNSで重要なOGPとは?SEOとの関係性や設定方法を解説 &#45;webma&#45;]とかを見ると多分絶対パスのほうがよさそう)、各ページに<code>&#123;&#123;&#35;seo&#58;|title&#61;&#123;&#123;FULLPAGENAME&#125;&#125; &#45; Turgenev&#39;s Wiki&#125;&#125;</code>と書いただけで、あとは何もしていない。先ほどの「URLを短くする」をやっておくと、そちらのURLが正規URL(カノニカルURL)として扱われるっぽい。


表示を確かめたいときは[https://developers.facebook.com/tools/debug/?locale=ja_JP シェアデバッガー &#45; Meta for Developers]を使うとよい。
表示を確かめたいときは[https://developers.facebook.com/tools/debug/?locale=ja_JP シェアデバッガー &#45; Meta for Developers]を使うとよい。