Manual:FAQ/ja

From MediaWiki.org

Jump to: navigation, search
Any questions?

MediaWikiに関するよく聞かれる質問(FAQ)です。あなたの質問が、この FAQ か 古いmeta FAQにもない場合、IRC channelもしくはサポートデスクで、サポートを求めて下さい。

このFAQは、metaのFAQ を元に、徐々に見直しをしています。ここで見つからない場合は、そちらでも探してみて下さい。

Contents


[edit] インストール方法と設定

[edit] MediaWikiをダウンロードするには?

MediaWikiの最新の安定版リリースはdownload.wikimedia.orgもしくはsourceforge.netからダウンロードすることが出来ます。Windowsではそのまま利用することは出来ませんが、+Lhaca+Lhaca)などのソフトを用いて展開することが可能です。ファイルは.tar.gzアーカイブで提供されます。MediaWikiはSubversionリポジトリから直接入手することが出来ます。Download/jaもご覧下さい。

[edit] MediaWikiをインストールする方法は?

MediaWikiをインストールする作業は10分から30分かかります。ファイルをアップロード/コピーしソフトウェアを設定するインストーラスクリプトを動作させることを含みます。

すべての手引きは配布アーカイブで提供されるINSTALLで見ることが出来ます。

[edit] パッケージを利用してMediaWikiをインストールする方法は?

多くのLinuxディストリビューションは独自のパッケージ化されたフォーマットでMediaWikiを提供します。MediaWiki開発チームはインストール、設定もしく使用するための支援はLinuxディストリビューションにお任せしています。パッケージを維持する個々のコミュニティと会社はインストールの手引きを提供すべきです。

[edit] 一つのサーバに複数のMediaWikiをインストールするには?

以下のようにすれば、一つのサーバに複数のwikiをインストールすることが可能です:

  • それぞれのwikiに対して異なるデータベースを使う

もしくは

  • それぞれのwikiに対して異なるテーブル接頭辞を使う。すなわち一つのデータベースに属する接頭辞の異なるテーブル群を使用。 (Postgresに関しては、異なるスキーマとユーザを使用することで同様の効果を得ます)

これのオプションの情報に関しては、それぞれ$wgDBname$wgDBprefixをご覧下さい。

wikiファミリーをセットアップする情報に関しては、Manual:Wiki family/jaをご覧下さい。

同じサーバを使用して複数のwikiをセットアップする代替的な情報に関しては、Steve Rumberg'sの素晴らしい公表とユーザからの追加コメントをご覧下さい。

[edit] MediaWikiはsafe_modeが有効な環境で動作しますか?

もちろんです。制限された範囲で。Safe modeをご覧下さい。

[edit] MediaWikiはシェルによるアクセスは必要ですか?

シェルアクセス(SSHアクセス)はMediaWikiをインストールするためには必要とされませんが、多いにお勧めします。シェルアクセス無しでは、wikiのバックアップもしくは新しいバージョンにアップグレードすることが困難でしょう。ですのでメンテナンスタスクはシェルアクセス無しでは不可能です。

[edit] 拡張機能をインストールする方法は?

拡張機能をインストールするための情報に関してはManual:Extensions/jaをご覧下さい。拡張機能を書くことに関しても同様です。既存の拡張機能を探すためにはExtension MatrixCategory:Extensions/jaをご覧下さい。

[edit] 名前空間を追加するには?

名前空間を追加するためには、LocalSettings.phpファイルを修正し、$wgExtraNamespacesを通して名前空間を追加します。次のコードを"Portal"名前空間に追加することが出来ます。それは議論の名前空間に対応します:

$wgExtraNamespaces = array(100 => "Portal", 101 => "Portal_talk");

Note Note: Portal_talkなどのように、必ずスペースの代わりにアンダースコアを追加して下さい。さもなければ、名前空間は適切に宣言されません!

[edit] アップロードを有効にするには?

ファイルのアップロードはMediaWikiのよく使われる機能ですが、現在のリリースバージョンではデフォルトで無効になっています。有効にするためには、最初にウェブサーバによって書き込み可能なアップロードディレクトリを作成しLocalSettings.phpで$wgEnableUploadstrueに設定します(すなわち、"$wgEnableUploads = true;")。詳細な情報はManual:Configuring file uploads/jaをご覧下さい。

[edit] 数式を有効にするには?

MediaWikiはtexvcと呼ばれる数式をレンダーするためにLaTeXを利用するヘルパープログラム経由で埋め込みの数式を許可します。セットアップの手引きに関してはManual:Mathをご覧下さい。

[edit] キャッシュされたページをパージするには?

ナビゲーションバーへの変更をしたときなど、キャッシュされたページをパージするためには、&action=purgeをページURLの最後に追加して下さい。例です:

http://www.mediawiki.org/w/index.php?title=Main_Page&action=purge

以下の記事もご覧下さい:

[edit] 追加のフォーマットのアップロードを許可するには?

MediaWikiは$wgFileExtensions構成ディレクティブを利用して指定されたファイルフォーマットを必要とします。通常このディレクティブはMediaWikiがインストールされたディレクトリのrootに存在するLocalSettings.phpに設定されます。

例えば、PDFファイルのアップロードを許可するためには、次の内容をlocalSettings.phpに追加します:

$wgFileExtensions[] = 'pdf';

Note Note: 複数のタイプのファイルのアップロードを許可する構文は異なります。下記のような、png、gif、jpg、jpeg, pdf、とtxtファイルのアップロードを許可するためには配列を使用します。

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'txt' );

詳細についてはManual:Configuring file uploads/jaをご覧下さい。

[edit] "ファイルが不正もしくは無効な拡張子を持っています"

ユーザの中には許可された拡張子を持つファイルフォーマットを追加した後で、エラーに遭遇したことを報告する人もいます。エラーの文章は下記のようなものです:

The file is corrupt or has an incorrect extension. Please check the file and upload again.

可能な解決方法:

  • $wgMimeDetectorCommandの値を設定する。UnixやLinuxでは
    $wgMimeDetectorCommand = "file --brief --mime";
    
  • fileinfo PHP拡張機能をコンパイル/インストールする
    • Fedora - yum install php-pecl-Fileinfo

詳細な情報についてはManual:Mime type detection/jaをご覧下さい。

[edit] インストーラで初期のユーザが作成されなかった

時々、インストーラはデフォルトユーザを作成することを失敗します、もしくはユーザテーブルが何らかの理由で失われます。これを解決する方法はいくつかのオプションがあります:

[edit] maintenance/createAndPromote.php

  • AdminSettings.phpがセットアップされていることを確認して下さい (AdminSettings.sampleをご覧下さい)
  • シェルからmaintenance/createAndPromote.phpを実行します

この作業によって新しいユーザを作成しアドミニストレータに昇格させます。ヘルプが必要な場合、--helpパラメータ付きでスクリプトを動作させて下さい。

[edit] データベースを変更する

  • 通常の方法(Special:Userlogin)で新しいアカウントを登録して下さい。
  • Special:PreferencesでユーザIDを確認して下さい。
  • データベースに対して次のSQL文を実行して下さい:
    • MediaWiki 1.5以降:
      INSERT INTO user_groups ( ug_user, ug_group ) VALUES ( ''<id>'', 'bureaucrat' ), ( ''<id>'', 'sysop' );
      
    • MediaWiki 1.4:
      UPDATE user_rights SET ur_rights = 'sysop,bureaucrat' WHERE ur_user = <id>;
      
    • MediaWiki 1.3以前:
      UPDATE user SET user_rights = 'sysop,bureaucrat' WHERE user_id = <id>;
      

上記の<id>はユーザのオプションページ上で見ることが出来る適切なユーザIDに置き換えて下さい。

[edit] パスワードをリセットするには?

ユーザのパスワードをリセットするためにmaintenance/changePassword.phpメンテナンススクリプトを使用することが出来ます。

コマンドラインからスクリプトを実行しなければなりません。 言い換えると、wikiがインストールされているサーバにログインして、コマンドプロンプトを開きます。インストレーションディレクトリに移動して、maintenanceサブディレクトリに移動します。次のコマンドを実行します:

php changePassword.php --user=someuser --password=somepass

"somepass" は望むパスワードに変更し、"someuser"は"user"テーブルに並べられているユーザ名に変更して下さい。

データベースを直接修正する古い方法もあります。$wgPasswordSaltをtrue(デフォルト)に設定することを前提としてMySQLに対して次のSQLクエリを使用します:

 UPDATE user SET user_password = MD5(CONCAT(user_id, '-', 
   MD5('somepass'))) WHERE user_name = 'someuser';

"somepass" は望むパスワードに変更し、"someuser"は"user"テーブルに並べられているユーザ名に変更して下さい。

Note Note: CONCATの文字列にあるuser_idはカラム名で'someuser'に置き換えるという意味ではありません。

Note Note: 'dbname.user table does not exist'というエラーが表示されたら、LocalSettings.phpファイルと、$wgDBprefix変数に対して二重の確認をして下さい。変数が空である場合、コマンドを繰り返して見て下さい。SQL文のUPDATE句でuserの代わりに$wgDBPreix_userを置き換えて下さい。

PostGreSQLを使用する場合、以下のクエリを代わりに使います:

  UPDATE mwuser SET user_password =
    md5(user_id || '-' || md5('somepass')) WHERE user_name='someuser';

[edit] 自分のwikiにインターウィキリンクを作るには?

[edit] DB エキスパートの回答

外部wikiがWikipediaの場合、接頭辞の"wp"をリンクに使いたい場合、データベースでInterwiki tableを修正するために以下のSQL文を実行します;

INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('wp', 'http://en.wikipedia.org/wiki/$1', '0', '0');

$1は外部wiki上の記事名を指し示します。

[edit] よくあるユーザの回答

グラフィカルなSQLプログラム(すなわち、PhpmyAdmin)で、Interwiki tableに移動します。insert(列)のオプションを選択します。iw_prefixフィールドで、望むインターウィキの接頭辞を入力します。上記のDBエキスパートが説明したようにiw_urlフィールドで、外部wikiのベースURLにテキストの"$1"を加えたものを入力します。iw_localiw_transはデフォルトのゼロ(0)の値を持ちます。それらを0のままにしておくことが出来ます。

詳細な 情報についてはHelp:Interwiki linking/jaをご覧下さい。

[edit] ベースURLを短くするには? (/w/index.php?title=Article_Nameを/wiki/Article_Nameにしたい)

Manual:Short URL/jaをご覧下さい。

[edit] MediaWiki.orgのすべてを自由にダウンロード出来ますか?

もちろん、フリーソフトウェアの意味で自由です。このサイトの書かれた内容に関するライセンス問題についてはProject:Copyrightsをご覧下さい。

[edit] ユーザーの権限を管理/運用するには?

一般的な情報に関してはManual:User rights/jaManual:User rights management/jaを参照して下さい。アクセスを制限する方法と戦略に関してはManual:Preventing access/jaをご覧下さい。

[edit] 匿名ユーザーが任意のページを編集できなくする方法

  • LocalSettings.phpの一番下の行で$wgGroupPermissions['*']['edit'] = false;を設定して下さい。

詳細に関してはManual:Preventing access/ja#匿名ユーザーの編集を制限するをご覧下さい。

[edit] 匿名ユーザーがページを閲覧できなくする方法

  • LocalSettings.phpの一番下で$wgGroupPermissions['*']['read'] = false;を設定します。

Manual:$wgWhitelistReadをご覧下さい。詳細はManual:Preventing access/ja#すべてのページの閲覧を制限するを参照して下さい。

[edit] アカウント作成を制限する方法

  • Set $wgGroupPermissions['*']['createaccount'] = false; at bottom of LocalSettings.php.

See Manual:Preventing access#Restrict account creation for more information.

[edit] アップグレードする

アップグレードの過程の一般的な手引きはソフトウェアによって提供されるUPGRADEファイルで見ることが出来ます。Manual:Upgrading/jaもご覧下さい。

[edit] インターフェイスを変更する

[edit] ロゴを変更にするには?

それぞれのページのトップ左に現れるロゴはLocalSettings.phpファイルの$wgLogoによって決定されます。

これを変更するためには、独自のロゴ画像のURLを指定する$wgLogoの値を変更する必要があります。wiki経由でファイルをアップロードしてアドレスを使用する(簡単に置き換えることが可能なので、この方法を利用する場合はページを保護する必要があります)もしく他の方法でサーバにアップロードされた画像を使用することが出来ます。

Caution! Caution: MediaWikiと一緒にインストールされたデフォルトのロゴを上書きすることは簡単ですが、アップグレードによって再びロゴが上書きされるのでお勧めしません。もしくは、このファイルのデフォルトの位置を変更します。

Tip: ロゴ画像は135ピクセルの正方形です。

[edit] 左側にあるロゴをカスタマイズするには?できます?

ロゴはpBodyセクション無しのportletブロックです。p-logo idによって識別されます。背景画像は/includes/DefaultSettings.phpで定義されるwgLogo変数によって指定されます。この位置の指定はシステムルートではなくウェブサーバルートに対して相対的なものです。間違った設定がされている場合はページに画像が表示されません;ウェブサーバエラーログを元に調整して下さい。しかしながらクリップされていないのであればp-logoのサイズがロゴに十分な大きさが必要です。これはp-logoスタイルの元でスタイルシート(monobookのMain.css)で設定されています:

#p-logo {
    z-index: 3;
    position:absolute; /*needed to use z-index */
    top: 0;
    left: 0;
    height: 155px;
    width: 12em;
    overflow: visible;
}

[edit] クリックしたときに左上コーナーのURLをカスタマイズするには?

デフォルトでは、ロゴをクリックすることでメインページに移動します。メインページを変更したい場合、 MediaWiki:Mainpageを編集します。もしくは任意のURLへのリンクに変更したい場合、MonoBookスキンの場合、Monobook.phpを編集して<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>を自分が選んだURLで置き換え、<?php $this->msg('mainpage') ?>を望むリンクタイトルで置き換えて下さい。

[edit] ロゴのサイズを減らす

タグはロゴのトップにあるのでロゴのポートレットのサイズを減らしたい場合、#p-logoと#p-logo a:hoverルールも変更する必要があります。デフォルトの設定は以下の通りです:

 #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;
 }

このシンプルなカスタマイゼーションによって一度にそれらのすべてのサイズを再定義します:

 #p-logo,
 #p-logo a,
 #p-logo a:hover {
    height: 75px;
}

サイドコラムでロゴと最初のポートレット間のペースの料をコントロールするルールはもう一つあります - #column-oneのトップ上のパディングです。デフォルトは以下の通りです:

#column-one { padding-top: 160px; }

ロゴを完全に除去したい場合は、wgLogo変数をコメントアウトします。それからcolumn-oneパディングに21といった小さな値を設定します:

#column-one { padding-top: 21px; }

cssファイルを直接編集する必要はありません。<Your Wiki URL>?title=MediaWiki:Monobook.css に移動します。編集ボタンを押しそこで編集をします。これがmonbookのメインのCSSを優先します。

[edit] ブラウザのアドレス行にあるアイコン(favicon)を変更するには?

  • wikiのルートにあるfavicon.ico画像ファイルを置き換えます。
  • 他にはLocalSettings.php$wgFaviconを編集して$wgFavicon = "$wgScriptPath/path/to/your/favicon.ico";を追加します。

[edit] 書き換えルール

URLから"index.php"を除去するために.htaccessで書き換えルールを使用する場合、.icoファイルの例外も追加する必要があります。そのまま次のルールを.htaccessに追加して下さい:

RewriteRule .*\.ico$ - [L]

このルールはindex.phpルールの前になければなりません。

[edit] 大文字と小文字の区別

faviconファイルをアップロードするとき、必ずファイル名が小文字にして下さい。(すなわち、"Favicon.ico"ではなく"favicon.ico"です。) 多くのサーバ(例えば、UNIXのようなOS)はファイル名が小文字ではない限り、ファイルを探すことが出来ないからです。

[edit] ナビゲーションバーをカスタマイズするには?

Monobookスキンで使用されているそれぞれのページの左側に現れるナビゲーションバーの内容はMediaWiki:Sidebarによって決定されます。これらをカスタマイズするための情報はManual:Navigation bar/jaをご覧下さい。

[edit] すべてのページテキストメッセージ(サイトのお知らせ)を設置するには?

テキストをMediaWiki:Sitenoticeページに設置します。すべての記事ページのトップに表示されます。

[edit] メインページを変更するには?

デフォルトでは、MediaWikiはMain Pageのタイトルを持つページを探し、それをデフォルトのページとして提供します。これはMediaWiki:Mainpageが異なるページを指定するように変えることで変更出来ます。これはインストール時に含まれる'Main Page'リンクを含むメインのナビゲーションバーのリンクには影響を与えません; これらのリンクを変更するためには、MediaWiki:Sidebarを編集して下さい。

[edit] メインのページタイトルを隠すには?

MediaWikiはメインページのタイトルを隠す組み込みのオプションを持ちません (bug 6129を参照)。代わりにJavaScriptもしくはCSSを使わなければなりません。

[edit] バージョン1.9以前での、メインページのタイトルを隠す解決方法

MediaWiki 1.9以前では、2つの選択肢があります:

[edit] パッチを適用する

r17119からのパッチを利用しているMediaWikiのコピーに手作業で適用して1.9用の解決方法を利用して下さい。

最初にr17119のように正しい位置で3つのファイルで行を置き換えたり追加したりします:

  • skins/monobook/Skin.phpにおいて、次の行を追加する:
$a['class'] = 'ns-'.$wgTitle->getNamespace().'
'.($wgContLang->isRTL() ? "rtl" : "ltr").
' page-'.Sanitizer::escapeId( $wgTitle->getPrefixedText() );
  • includes/SkinTemplate.phpにおいて、次の行を追加する:
$tpl->set( 'pageclass', 'page-'.Sanitizer::escapeId( $wgTitle->getPrefixedText() ) );
  • includes/MonoBook.phpにおいて次の行を置き換える:
class="<?php $this->text('nsclass') ?> <?php $this->text('dir') ?>">
置き換えた結果は次の通り:
class="mediawiki <?php $this->text('nsclass') ?> <?php $this->text('dir') ?> <?php $this->text('pageclass') ?>">


2番目に#1.9とそれ以降の手引きに従う。

[edit] JavaScriptの解決方法

次のJavaScriptが機能するかもしれません(違うのであれば"Main Page"をあなたのメインページの名前に置き換えます)。次のコードをwikiのMediaWiki:Common.jsもしくはMediaWiki:Monobook.js (古いwikihMonobook.js、新しいwikiはCommon.js)に追加する:

var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == "Main Page");
var isDiff = (document.location.search &&
                 (document.location.search.indexOf("diff=") != -1 ||
                     document.location.search.indexOf("oldid=") != -1
                 )
             );
if (isMainPage && !isDiff) {
    document.write('<style type="text/css">/*<![CDATA[*/ h1.firstHeading { display: none !important; } /*]]>*/</style>');
}

[edit] バージョン1.9以降の、メインページのタイトルを隠す解決策

1.9とそれ以降(もしくは上記の修正ファイル付き)、メインページのタイトルを隠すためにCSSを利用できます。

次の行をwikiのMediaWiki:Monobook.cssを追加します(Monobookを利用しているのであれば; さもなければすべてのスキンに適用するためにこれを MediaWiki:Common.cssに追加する):

body.page-Main_Page h1.firstHeading { display:none; }

代わりの方法として、Alternatively, you can replace "Main_Page"を別の名前に置き換えるが、スペースはアンダースコアで置き換える。

[edit] トラブルシューティング

この方法が機能しないのであれば、正しいクラスを見つけるためにHTMLソースコードを見て"page-Main_Page"を次のように置き換えます:

<body class="mediawiki ns-0 ltr page-Some_title">

このクラスが存在しなければ、この機能を使うことはできません。カスタムもしくは時代遅れのスキンを利用している可能性があります。

別のオプションはMain_PageからOur_Main_Pageへの#REDIRECTです。

Wikipedia:Main Page alternativesも参照して下さい。

[edit] 目次(TOC)を隠すには?

記事に見出しが4つ以上ある場合、目次(TOC table of contents)は自動的に表示されます。隠す方法は複数あります。

[edit] 一つのページ

__NOTOC__マジックワードをページのマークアップに設置します。

[edit] すべてのページ

CSSファイルを編集します; 目次(TOC)を決めてdisplay: none;を定義に追加します。

[edit] ユーザごと

ユーザは目次(TOC)を隠すようなオプションを持つことも出来ます。これはSpecial:Preferencesで設定されるユーザオプションです。

[edit] インターフェイスのテキストを変更するには?

インターフェイステキストはMediaWikiの名前空間を使用して変更されます。デフォルトのサイト言語から各人がディビエーション(逸脱)するためには、MediaWiki:Englishmessagenameページが存在し、それぞれの言語のデフォルトからのそれぞれのディビエーションのためにMediaWiki:Englishmessagename/languagecodeが存在します。(1.9ではデフォルトのものと等しいメッセージのためのページが存在しません) ページ作成において編集ボックスがデフォルトで自動入力をします。デフォルトを上書きするページを作成するとき、差分を可能にするためにデフォルトのバージョンを最初に保存しておくと便利です。meta:Help:System messagesもご覧下さい。

  • システムメッセージのリストのために、Special:Allmessagesをご覧下さい
  • MediaWikiの名前空間をオフに切り替えます。$wgUseDatabaseMessagesコンフィギュレーション設定をご覧下さい
  • それぞれのページの底でPrivacy policyもしくはDisclaimersを除去するためには、

MediaWiki:PrivacyもしくはMediaWiki:Disclaimersページの内容をそれぞれ一つのマイナス記号に設定して下さい。

[edit] インターフェイス言語を変更するには?

デフォルトのインターフェイス言語を変更するためには、LocalSettings.phpにある$wgLanguageCodeの値を変えて下さい。

$wgLanguageCode = "fr";

[edit] 匿名ユーザによる編集を防止するには?

  1. 推奨する方法は$wgGroupPermissionsコンフィギュレーション変数の値を変更することです。LocalSettings.phpを編集して次の行を追加します:
    $wgGroupPermissions['*']['edit'] = false;
    
    これらのオプションを使用する詳細な情報は、Preventing accessページをご覧下さい。
  2. 代替的には対応するタブを表示しないように手作業でそれぞれのスキンのPHPソースを変更します。
デフォルトのMonoBookスキンのために、MonoBook.phpファイルで対応する行を検索します:
foreach($this->data['content_actions'] as $key => $tab) {
そしてforeachブロックの内部で以下のコードを書き入れます:
if ( $this->data['loggedin'] == 1 ) {
新しい条件で閉じ大括弧をお忘れ無く。
ここのタブを隠すために、foreachループの内部でそれぞれの$keyの値を確認するコードを修正しますもしくはタブリストを修正するために'hook'拡張機能(SkinTemplateXYZ辺り)を書くことが出来ます。

[edit] ログインしていないユーザに対して記事/編集その他のタブを除去するには?

匿名ユーザによる編集を防止するには?をご覧下さい。

[edit] 一般的にタブを追加/除去するには?

(例えば)トークタブを除去して常にメインページにゆくものを追加するために、(例えば)extensions/AR-Tabs.phpに以下のコードを保存します:

 $wgHooks['SkinTemplateContentActions'][] = 'ReplaceTabs';
 function ReplaceTabs ($content_actions) {  
  unset( $content_actions['talk'] );    //これはアクションを削除するためのみ
     $maintitle = Title::newFromText(wfMsg('mainpage') );
      $main_action['main'] = array(
        'class' => false or 'selected',    //タブがハイライトされる場合
        'text' => wfMsg('sitetitle'),     //タブが表示するもの
        'href' => $maintitle->getFullURL(),   //リンクする場所
      );
      $content_actions = array_merge( $main_action, $content_actions);   //新しいアクションを追加する
 }

そして次のコードをLocalSettings.phpの一番下に追加します:

require_once("extensions/AR-Tabs.php");

[edit] すべてのページ上でタブを削除する方法

この解決方法はバージョン1.9とそれ以降で機能します。バージョン1.8とそれ以前では、最初に上記のパッチを適用します

例えば、wikipage上のDiscussion (talk)ページのタブを削除するためには、 MediaWiki:Monobook.cssページ上に次のコードを追加します:

#ca-talk { display:none!important; }

他に除去するタブは#ca-history#ca-viewsourceです。MediaWiki:Monobook.cssを修正するためには管理者権限を持たなければなりません。

[edit] ログインしていないユーザーに対してセクション編集リンクを隠すには?

  1. 推奨する方法は$wgDefaultUserOptions設定オプションの値を変更して次の行を追加することです:
    $wgDefaultUserOptions ['editsection'] = false;
    
  2. 代替的にはそれぞれのスキン(例えば、MonoBook.php)を手作業で編集して</head>の前に追加します:
<?php if(!$this->data['loggedin']) { ?>
      <style>
        .editsection { display: none; }
      </style>
<?php } ?>
ログインユーザーも含めてすべてのユーザのためにリンクを隠したい場合、代わりにmonobook/main.cssを編集して以下のコードを追加します:
.editsection { display: none; }
匿名ユーザによる編集を防止するには?もご覧下さい。

[edit] $wgDisableAnonTalkがtrueの時にトップ右で"Talk for this IP"リンクを表示しないようにするには?

SKinTemplate.phpの489行(バージョン1.9.2と1.9.3)を変更します

   global $wgTitle, $wgShowIPinHeader;

を次のように変更します

   global $wgTitle, $wgShowIPinHeader, $wgDisableAnonTalk;

そして 547 - 554行に

     $usertalkUrlDetails = $this->makeTalkUrlDetails($this->userpage);
     $href = &$usertalkUrlDetails['href'];
     $personal_urls['anontalk'] = array(
       'text' => wfMsg('anontalk'),
       'href' => $href,
       'class' => $usertalkUrlDetails['exists']?false:'new',
       'active' => ( $pageurl == $href )
     );

以下のように変更します(宣言とインデントが存在する行で追加します)

     if( !$wgDisableAnonTalk ) {
       $usertalkUrlDetails = $this->makeTalkUrlDetails($this->userpage);
       $href = &$usertalkUrlDetails['href'];
       $personal_urls['anontalk'] = array(
        'text' => wfMsg('anontalk'),
        'href' => $href,
        'class' => $usertalkUrlDetails['exists']?false:'new',
        'active' => ( $pageurl == $href )
       );
     };

[edit] スクリーンの右上トップの"アカウントを作成するもしくはログインする"のリンクを表示しないようにするには?

Monobook.phpで次の宣言を変更します:

  foreach($this->data['personal_urls'] as $key => $item) {

以下のようにします:

 foreach($this->data['personal_urls'] as $key => $item)  if($this->data['loggedin']==1) {

[edit] フッターを変更するには?

MediaWikiページ上でフッターから項目を追加もしくは除去するためには、スキンを編集しなければなりません。

例です: MonoBook.php("Skins"フォルダにデフォルトで設定されています)に移動して次のコードを見つけます:

 $footerlinks = array(
   'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
   'privacy', 'about', 'disclaimer', 'tagline',
  );

上記において、単にフッターから項目を追加と除去します。MediaWiki cachesがあるのですぐに変更が反映されないことに注意して下さい。

あるページもしくはパラメータを修正することで個々の項目をカスタマイズすることが出来ます:

FooterManual:Skinning/ja#フッターも参照して下さい。

[edit] フッターのPowered By MediaWikiの画像を編集/除去するには?

/skins/MonoBook.phpはフッターでPowered By Mediawikiの画像を表示させる次のコードを含みます:

<?php
		if($this->data['poweredbyico']) { ?>
				<div id="f-poweredbyico"><?php $this->html('poweredbyico') ?></div>

この画像を除去もしくは編集したい場合、poweredbyicoを設置して編集しなければなりません。 (願わくは誰かがもっと詳しい手引きを編集してくれるでしょう。)MediaHound 03:59, 13 August 2007 (UTC)

[edit] それぞれのページの<title>を変更するには?どこで変更します?

変更したいテキストの多くはMediaWikiの名前空間で見つかります。

タイトル、テキスト、アナウンスメントなどを変更するために、Special:Allmessagesに移動します。そこで変更したいページに関連したテキストを見ることが出来ます。(私が言えることは、MediaWikiの名前空間で保護されたエントリーを編集するためにはアドミニストレータ(インストールしたときに作成したアカウント)としてログインする必要があります)

ブラウザでタイトルを変更したい場合、MediaWiki:Pagetitleを編集します。そこに行って他のwikiでするように編集します。

MediaWikiの最新のバージョンでは、MediaWiki:Pagetitleはデフォルトで$1 - {{SITENAME}}です。{{SITENAME}}が間違ったテキストを表示している場合、LocalSetitngs.phpで$wgSitenameを設定する必要があります。

LocalSettings.phpで$wgSitenameは正しいが{{SITENAME}}が間違っている場合、$wgSitenameを間違って"Wikipedia"の書き直しに設定するユーザ投稿の言語ファイルを使用している可能性があります。その場合は、言語ファイルを正しく編集して下さい。例えば、ヘブライ語ファイルはwikiディレクトリのlanguages/LanguageHe.phpにあります。

修正した後にブラウザキャッシュをクリアすることを忘れないで下さい。

[edit] 外部リンクを新しいウィンドウで開くには?

新しいウィンドウで外部リンクを開く(英語)をご覧下さい

[edit] MediaWikiのURL、タグなどをフォーマットしないようにするには?

svn co <nowiki>http://somwhere.in.the.net/myproject/</nowiki>

svn co http://somewhere.in.the.net/myproject/

[edit] ユーザーが記事の保存をする前にプレビューを強制するには?

不注意な投稿をしないようにユーザーに必ずプレビューを行うことを強制させるために編集ページ上の保存ボタンを無効にすることが望ましい場合があります。

そのためにプレビューページでのみ保存ボタンを表示させる方法は次の通りです:

/includes/EditPage.phpにおいて、次のコードを見つけます (MediaWiki 1.9.0では1238行目、MediaWiki 1.8.2では1158行目):

 "&lt;div class='editButtons'&gt;
 	{$buttons['save']}
 	{$buttons['preview']}

これらの3行を次の7行に置き換えます

 "&lt;div class='editButtons'&gt;");
 	if ( $this-&gt;formtype == 'preview') {
 		$wgOut-&gt;addHTML(
 "{$buttons['save']}");
 	}
 	$wgOut-&gt;addHTML(
 "{$buttons['preview']}
次のページもご覧下さい: Manual:Force preview.

[edit] 編集ページ上でさらにボタンを追加するには?

上側の編集フィールドでさらにボタンを追加するためには、 MediaWiki:common.jsmwCustomEditButtonsでそれらを登録するためにJavaScriptコードを使うことができます。例えば、大きなテキストのためのボタンです:

var button = {
        "imageFile": "images/5/56/Button_big.png",  //22x22ピクセルで、image to be shown on the button (may be a full URL too), 
        "speedTip": "big text",    //ボタン上にマウスをホーバーしたときに表示されるテキスト
        "tagOpen": "<big>",        //ブロックの始まりをマークするために使うテキスト
        "tagClose": "</big>",      //(ある場合)ブロックの終わりをマークするために使われるテキスト
        "sampleText": "big text"   //ブロック内部に設置するためのサンプルテキスト
};
mwCustomEditButtons.push(button);

[edit] 編集ページでクリック可能なタグ、特別な文字を追加するには?

Extension:CharInsertをご覧下さい

[edit] 基本的な使い方

[edit] ページを編集するには?

ページを編集するためにそれぞれのページに現れる編集リンクをクリックします。デフォルトのMonoBookスキンを使用してると、ページのトップ上のタブのフォームにあります。フォームが現れ、既存のマークアップを含みます。修正が終了したとき、変更をコミットするために保存するボタンをクリックします。

次の記事もご覧下さい: MetaWiki: ヘルプ:ページの編集

[edit] 新しいページを作成するには?

新しいページを作成する方法はいくつかあります:

  • 他のページ上へのリンクを作成し、現れた赤いリンクをクリックします
  • ページの意図するロケーションバーにブラウズします。例えば、http://www.foowiki.org/index.php?title=New_pageをロケーションバーに入力して編集リンクをクリックします。wikiの中には、失敗した検索の中にそのページを編集するリンクを含むものがあります。

Help:Starting a new page/jaをご覧下さい。

[edit] ページの古いバージョンを削除するには?

古いバージョンのページデータはデータベースに保有されページ履歴機能を通してアクセスされます。これは変更を検討して望ましくないページを修正もしくは取り消すために便利ですが、場合によって、法的な理由から、もしくはデータベースのサイズを減らすために、アドミニストレータがこの情報を利用できないようにしたいことがあります。

  • アドミニストレータはページの削除によってページの古いリビジョンを削除でき、保存されているリビジョンを選んで削除できます。
  • Oversight拡張機能(HideRevisionとしても知られます)はページ履歴の有害なリビジョンを削除できます。
  • maintenanceディレクトリにあるdeleteOldRevisions.phpをコマンドラインから実行することでサイト全体で最新の記事以外の古いリビジョンを一掃できます。メンテナンススクリプトに関して詳細な情報はManual:Maintenance_scripts/jaをご覧下さい。


[edit] 編集チュートリアルはありませんか?

WikipediaなどのWikimediaの姉妹プロジェクトでいくつか利用できるチュートリアルがあります。Meta上でマークアップのリファレンスなどもあります。

[edit] 印刷可能なページのフォームを閲覧するには?

MediaWikiはページが印刷されるときにページを自動的かつ適切に整形するスタイルシートを含みます; プリント可能な形式でページをレンダーするブラウザで印刷もしくは印刷プレビュー機能を使用して下さい。

ツールボックスの印刷用バージョンリンクを使用することで印刷可能なフォームを見ることが出来ます

[edit] wikiをインポートする

[edit] wikiの他のタイプからインポートする

Note: The following is directly copied from old meta FAQ. It might need to be corrected.

There is some documentation about importing in the UPGRADE file distributed with MediaWiki.

To follow on from those, this is how at least one individual imported pages from usemod to MediaWiki:

Because MediaWiki does not automatically link to CamelCase style links, you will need to add brackets [[ ]] to all your links. You can do this with the following:

First, obtain ImportStage1.txt (or whatever you want to call it) from the importUseModWiki.php script ( use > to pipe the output to a file )

Second, do

sed '/Importing/!s/\ [A-Z]\w*[a-z]\w*[A-Z]\w*[a-zA-Z]/\ \[\[&\]\] /g'
    ImportStage1.txt > ImportStage2.txt

This should create proper links in place of your CamelCase links.

This doesn't work so well for SubPage links - someone care to fix?

Then,

sed 's/upload\:\w*\.\w*/http\:\/\/aberwiki\.org\/uploads\/& /g'
    ImportStage2.txt > ImportStage3.txt

This fixes your upload links. Change the replace text so it fills in your url such as http://www.yourwiki.org/uploads/filename

You are now ready to import ImportStage3.txt into your database with a command such as

mysql -u<mysqluser> -p<yourpass> <db name> < ImportStage3.txt

Note: If your importUseModWiki.php outputs an XML file instead of SQL statements, this probably means you have a rather new version of MediaWiki. In such a case, you case import the XML file -- see 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.

[edit] 他のタイプのファイルからインポートする

Here are some info on importing from other types of files:

[edit] Mediawikiオートインポートスクリプト

Taken from wiki_import - mediawiki auto import script:


[edit] 説明

The script is designed to import a whole folder of files into mediawiki, with the folder directory tree mapped as wiki category hierarchy.

[edit] 機能

  • 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

[edit] クィックヘルプ

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.

[edit] さらにカスタマイズする

[edit] HTMLタグの利用を許可するには?

Manual:$wgRawHtmlManual:$wgGroupPermissionsManual:Preventing access/jaをご覧下さい

Caution! Caution: この設定によって簡単にユーザーを攻撃に晒す可能性があります

この設定を安全にするためにExtension:SecureHTMLExtension:HTMLetsをご覧下さい。

[edit] HTMLファイルのアップロードを許可するには?

Manual:Allowing HTML Uploadsをご覧下さい。

Caution! Caution: この設定によって簡単にユーザーを攻撃に晒す可能性があります

[edit] 何故?

[edit] Help名前空間は空なのですか?

現在、我々はフリーライセンスの元でクリーンで国際化されたヘルプページセットを持ちません。開発者の中にはこれを望んでいる人もいます; しかし、Help名前空間は現在空白の状態です。独自のヘルプページを追加する、Public Domain help pagesMeta、例えばユーザガイドもしくはMediaWiki Handbookから特定の項目をコピーすることは自由です。例えば、これらのページはGNU Free Documentation Licenseの元で自由です。

[edit] アップグレードした後でいくつかの画像が表示されないのは?

ユーザの中にはwikiをアップグレードもしくは移転をしたら、いくつかの画像が表示されなくなったと報告する人があります。ファイルは存在し、画像の説明ページはunknown / unknownMIMEタイプを表示し、場合によっては、戦税的に危険なファイルであることを警告します。

これを修正するためには、コマンドラインからmaintenance/rebuildImages.phpを使用します。この作業によってデータベースにあるそれぞれのファイルに対してMIME情報が設定されます。

[edit] すべてのPNGファイルはサムネイルに変えられないのですか?

PHPの最新のバージョンにアップグレードした後で、異なるMimeMagic.php機能がMIMEタイプを検知するために使用されることは可能です。とりわけPHP組み込みのmime_content_typeはPNGファイルを検知することを失敗します。magic.mimeファイルによって可能であるなら、PHPレベルでのバグ修正情報についてmime_content_type pngを検索して下さい。

詳細についてはここをご覧下さい

[edit] ショートキーワードを検索してもヒットしないのは?

デフォルトでは、MediaWikiはページ内容の検索を可能にするMyISAM全文マッチング機能を使用します。このデフォルトの設定は4語未満の単語はインデックス化されないので、これらのクエリのために結果は返されません。

この振る舞いを変えるために、MySQLはより短い用語をインデックス化できるように再設定する必要があり、MediaWikiのindexテーブルは修正、インデックスをリビルドする必要があります。

[edit] MediaWiki 1.11をダウンロードできないのは?

MediaWiki 1.11は現在では開発段階にあり、一般用のリリースにパッケージ化されていません。望むのであれば、Subversionからダウンロードすることが出来ます。

[edit] 動作しないのは?Wikipediaで動作しているのに!

Wikipediaと他のWikimediaウェブサイトは開発段階の現在のバージョンのコードを使用します; 現在、MediaWiki 1.11αです。複数の拡張機能の組み合わせを使用することはこれらのwikiとあなたの特定のセットアップが異なる可能性があることを意味します。

[edit] Fedoraシステム上でパーミッションを設定した後で403 Forbiddenになったのは?

Fedora Coreはデフォルトで[:ja:SELinux SELinux]を有効にしています。MediaWikiのためのSELinuxパーミッション設定の手引きはここで読むことが出来ます。

[edit] 定期的にログアウトするのは?

おそらくクッキーもしくはセッションデータに関連することです。例えば、PHPのsession.save_path設定の問題などです。m:Help:Logging_in#Log_in_problemsをご覧下さい。

[edit] ユーザアカウントは保存しておいてよい?

ユーザアカウントの多くがスパマーのアカウントに属するもしくはそうしたいからユーザアカウントをwikiから削除する機会が多くあります。適切な選択は必要に応じてアカウントブロックもしくはリネームすることです。理由は以下の通りです:

User tableから彼の列を除去しますか?

Rob Churchはこの問題に関してmediawiki-lのメーリングリストに投稿をしました:

"ユーザが編集をした場合、ユーザテーブルから列を除去することで参照整合性の理論的な損失を起こします。なので、正直に言えば、実際の問題を引き起こす条件を考えることができません; 我々は"未定義の振る舞い"という言い回しを使います。

私が提案することは、安全のために、データベースに対してクィックアップデートを行うことです:

UPDATE revision SET rev_user = 0 WHERE rev_user = <current_user_id>
UPDATE archive SET ar_user = 0 WHERE ar_user = <current_user_id>

このクエリによってMediaWikiがリビジョンをページ履歴のようなものが生成されたときに匿名によって為されたものとして取り扱うようなります。この作業によって他のテーブルからユーザの詳細を確認しようとするこれらの日常作業によって引き起こされる問題をなくすことが出来ます。

ユーザがログエントリ、すなわち、loggingテーブル、アップロードされた画像での列、で問題が起きたら状況は扱いにくくなります。すべての列をぬぐい去り、少々汚くなる可能性があるからです。ユーザが編集以外の何かをしたら、それらを無期限にブロックすることを強くお勧めするつもりです。

ユーザ名が不快で望ましくない場合、RenameUser拡張機能を使用してリネームすることが出来ます。"

[edit] アンチスパム

[edit] スパムのブラックリストを入手してインストールするには?

アンチスパムブラックリスト拡張機能の入手方法と設定はExtension:SpamBlacklistページもしくはSVNリポジトリREADMEを参照して下さい。スパムサイトのブラックリストはmetaにあります。

[edit] 一つの文字列以上をブロックするために$wgSpamRegexをどのように使いますか?

$wgSpamRegexはページ内容のための強力なフィルタです。複数の項目を正規表現に追加することは不格好になる可能性があります。このスニペットを考えて下さい:

 $wgSpamRegexLines[] = 'display\s*:\s*none';
 $wgSpamRegexLines[] = 'overflow:\s*\s*auto';
 [...]
 $wgSpamRegex = '/(' . implode( '|', $wgSpamRegexLines ) . ')/i';

時間を浪費せずに追加項目を正規表現に追加する作業を便利にするためのコード例です。共通のスパム攻撃をブロックする2つの人気のあるフィルタも示しています。

[edit] 今どこで?

[edit] バグを発見しましたもしくは機能のリクエストがあります。どこに投稿すれば?

バグと機能リクエストはBugzillaで実装されたMediaZillaに投稿して下さい。重複エントリーを避けるために投稿する前にデータベースを検索して下さるようお願いします。

[edit] 奇妙なエラーになっています。他には?

[edit] ここで回答されていない質問があります。次はどこへ?

上記のFAQの内容を読み尽くした場合、次のことを試して頂くようお願いします:

[edit] まだうまく行きません。どこで助けを求めることができますか?

[edit] お勧めの読み物