Myhtの歩き方

提供:DocHouse
2023年1月8日 (日) 10:08時点におけるFuna-enpitu (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

最近、myht(マイサイト ユーザーズ 2.0)を使用してMediaWikiサイトを作成・運営する方が増えています。個人用のテストwikiや誰でも編集できるパブリックなwikiなど、運用方法も様々です。パブリックなwikiの最近の例で言えば、(もうmirahezeへ移転しましたが)wikisitewiki、植物百科事典wiki、mlbpedia、MKpediaなどでしょうか。

ですがmirahezeやshoutwiki、毛色は違いますがFandomなどの手軽に管理できるウィキファームとは異なり、Wikiに関する操作はほとんど自分で行う必要があります。中にはphpファイルを操作したり、拡張機能が含まれるファイルの解凍作業など、一見難しそうな作業も少なからずあります。

そこで、今回はmyhtでmediawikiを使用したサイトを運用したい方向けにMediaWikiの基本的な管理方法など解説していきたいと思います。

MediaWikiのイジり方[編集]

サイトはどうにかして立てられたけど、拡張機能とか入れたり公開/非公開を設定したいなと思ってもどこを弄ればいいか分からないという方は多いと思います。最初の方の僕もそうでした。

結論から言いますと、「LocalSettings.php」というphpファイルを操作します。拡張機能の導入や各種設定の変更などの操作はほぼこのファイルを介して行います。

myht.org(ログイン済みが前提) > サイト構築(未作成の場合は新規サイト作成からMediaWikiサイトを作成してください) > 操作したいWikiの「フォルダ」 > [html] > 一覧が表示されるのでその中から「LocalSettings.php」を選択

という手順を踏めばアクセスできます。よく勘違いされる方がいるのですが、myhtでは「http://xxxxx.myht.org/localsettings.php」とURLを入力してもアクセスすることはできません。もし出来てしまうのであれば大問題です。第三者によって勝手にWikiの状態をいじることができてしまうとか考えただけで頭痛くなってきます。

基本的にはファイルの最下行に操作内容を記載していきます。

間違っても「AdminSettings.php」は操作しないでください。最悪サイトが飛びます。僕も一度飛ばしたことがあります。その他のよく分からないファイルもいじらずそのままにしていてください。最悪サイトが飛びます。サイトが飛びます。飛びます。

MediaWikiの設定を変更する[編集]

初期の超プレーンなMediaWikiだと時刻がUTCになっていたり、ほかのWikipediaやEnpediaなどの大手wikiにあるはずの権限がなかったりと、いろいろ心許ないです。こういうときこそLocalsettings.phpの出番です。 例えば時刻設定を変更してJSTにしたい場合は、

$wgLocaltimezone = "Asia/Tokyo";
date_default_timezone_set( $wgLocaltimezone );

と入力し保存しましょう。こうすることによって、あなたのMediaWikiサイトではJSTが標準となります。こういったMediaWikiの設定項目はこちらに網羅されていますが、正直全部覚える必要はないです。必要になったときに、必要な設定項目を探し出せればそれで大丈夫です。

個人的おすすめor必須設定項目[編集]

testwikiならまだしも、パブリックで運用するなら必須な項目や、設定しておくととおすすめな項目などを僕個人の意見ですが紹介していきます。ご参考までに。

$wgEnableUploads (ファイルのアップロード)[編集]

やはりファイルをアップロードしてこそのMediaWikiなので、必ず設定しておきましょう。 Localsettings.phpに

$wgEnableUploads  = true;
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'svg');//ついでにうp可能なファイル形式も指定しておくとトラブルが少ない

と記述し、myhtのファイル画面に戻ります。次に[images]フォルダの書き込み権限を変更します。サイト名.myht.org/html/の内部にある[images]フォルダを見つけ、右部の「権限」をクリック。2つのラジオボタンが出てくるので「書込可能」を選択。

$wgAllowUserCss,$wgAllowUserJs(usercss,jsの使用)[編集]

個人的にないと発狂します。Hotcatを使ったりjsでスクリプトを書いたりCSSで見た目を設定したりするために必要になってくるのでできるだけ設定してあげましょう。技術系ユーザーは大喜びです。

$wgAllowUserCss = true;
$wgAllowUserJs = true;

$wgAutoConfirmAge,$wgAutoConfirmCount(自動承認の設定)[編集]

「自動承認された利用者」権限を付与する条件を設定します。デフォルトではアカウント作成と同時に承認されるので権限の意味がまるでありません。$wgAutoConfirmAgeが自動承認されるまでの時間(秒)、$wgAutoConfirmCountが編集回数です。権限はこれら2つの条件をすべてクリアする必要があります。

$wgAutoConfirmAge = 86400*3; //86400は一日の秒数なので、*3で3日が条件となる。
$wgAutoConfirmCount = 25; //25回編集する必要がある

これはあくまで一例です。コミュニティの判断などによって適宜変更してください。

$wgDefaultSkin (Wikiの規定のスキンを設定)[編集]

IPユーザー、新規利用者、古参利用者関係なく、すべての利用者の規定の外装を設定します。なお、外装は個人設定でいつでも変更可能です。

$wgDefaultSkin = 'Vector';

権限・名前空間の追加や設定[編集]

デフォルトでは管理者・ビューロクラットなどの権限がありますが、それらの権限について詳細な設定をしたいときがありますよね。そんな時は、以下のように記述します。

$wgGroupPermissions['user']['read'] = true;

上記の例ではuser、つまり登録利用者にWikiの閲覧権限を与えています。逆にread権限を取り上げて非公開のような状態にしたい場合はtrueという部分をfalseに変更します。俗にいうbool(論理)型ってやつですね。プログラムかじったことある人は聞きなじみがあるかもしれません。

権限を新設したい場合は先ほどの手順にもう一手間加える必要があります。例えばvolunteerという権限を作りたいときは以下のように記述します。

$wgGroupPermissions['volunteer']['delete'] = true;
$wgGroupPermissions['volunteer']['undelete'] = true;
$wgGroupPermissions['volunteer']['move'] = true;
$wgGroupPermissions['volunteer']['nuke'] = true;

これで権限自体は作成されましたが、ここからさらにMediaWiki空間で作業する必要があります。面倒くさいなぁ。

  • MediaWiki:Group-volunteer (wikiでのグループ名)
    • 「ボランティア」
  • MediaWiki:Group-volunteer-member (グループのメンバーの名前)
    • 「ボランティア」
  • MediaWiki:Grouppage-volunteer (グループのページのページ名)
    • 「自分のwikiのプロジェクト名:ボランティア」

大体はこんな感じで大丈夫です。

今回の例では、ページの削除全般、復帰、移動の権限を与えた利用者グループを作成しましたが、どのような権限内容にするかはあなたやコミュニティ次第です。権限の詳細はこちらに詳しく記載されています。

拡張機能の追加[編集]

面倒臭いけれど、避けては通れない拡張機能の導入。しっかり手順を覚えておきましょう。

1-a 拡張機能本体の有無の確認

まずmyht.org の「サイト構築」からフォルダを漁り、example.myht.org/html/extensions/ まで潜ります。すると「inputbox」や「cite」、「Interwiki」などの見慣れた拡張機能が入ったファイル群が一覧で表示されます。標準付属の拡張機能を導入したい場合はこの中から該当する拡張機能を見つけ、2の工程に進みます。なお、標準付属ではない拡張機能の場合は、1-bの手順を踏みましょう。

1-b MediaWiki.orgなどから拡張機能(スキン)を落として使う場合

今回は「CheckUser」を例に説明していきます。 まず公式から拡張機能を落とす必要があるので、こちらにアクセスして指示通りに落としてください。Downloadってやつです。

ここで注意ですが、拡張機能は必ず最新版をダウンロード/使用するようにしてください。ダウンロードした拡張機能を別のサイトで使い回そうとするとトラブルになりやすいです。僕もやらかしました。

ダウンロードしたら、解凍せずにexample.myht.org/html/extensions/までもどります。下までスクロールすると、「コンテンツのアップロード」欄が見えると思います。内部にある「ファイルを選択」をクリックし、落としてきたファイルを選択しましょう。保存をクリックする前には必ず「アーカイブを展開する 」にチェックを入れておいてください。こうしないと動きません。

2,Localsettings.phpの設定とサイトのリフレッシュ

ここまでくれば後はイージー。localsettings.phpに

wfLoadExtension( 'CheckUser' );

を追加してください。位置はあまり重要ではありませんが、最下部に記載する方が間違いないです。

拡張機能によっては追加でコードを付け足さなければいけないパターンもありますが(checkuserもその一つ)、大抵のことはMediawiki.orgに書かれているので、頑張って目を通してみるのが良いでしょう。

そうしたら自分のサイトを開き、example.myht.org/mw-config/に移動して、手順に従って操作しましょう。

また、運営のnobuさんが開発してくださったxxupdate.phpを使用してサイトをリフレッシュする方法もあります。こちらはexample.myht.org/xxdate.phpに移動するだけでOKです。不安ならどちらもやっておくのが無難です。

完了;-)

特別:バージョン情報を開いて、拡張機能が正しくインストールされているか確認してみてください。これで一連の操作は終了です。

Myhtのバグに関連した追加操作[編集]

最近のMyhtで作成したMediaWikiでは、デフォルトで作成されているはずの自分のアカウントにログインできないという結構痛めなバグが発生しています。以下に応急処置というかなんというかを掲載しておきますがリスクも伴いますので、実行は慎重に行ってください。

  1. アカウント作成&ログイン
  2. Localsettings.phpにアクセスし、最下行に$wgGroupPermissions['*']['userrights'] = true;を挿入
  3. サイトに戻るとサイドバーに「利用者権限の変更」という欄ができるのでクリック
  4. BC(ビューロクラット)、管理者権限を自分に付与
  5. Myhtに戻り挿入したスクリプトを除去
  6. 一応キャッシュ削除(PCの場合はctrl+Shift+R,スマホは単純に再読込で大丈夫です)

これで操作は終了です。お疲れ様でした。