閾ペディアことのは:MediaWikiの改造

提供: 閾ペディアことのは
2008年4月27日 (日) 15:01時点における松永英明 (トーク | 投稿記録)による版
ナビゲーションに移動検索に移動

このページは、閾ペディアことのはにおけるMediaWikiの改造・プラグイン追加などを記録したものである。

以下、レンタルサーバーhetemlにおける利用状況である。

インストール

  • 2007年2月3日、Download/ja - MediaWikiよりmediawiki-1.9.2.tar.gzをダウンロード、解答してそのままアップロード。configディレクトリのパーミッションを777にしてアクセス、設定を入力してインストール完了。config/LocalSettings.phpをmediawikiのルートにコピーして、稼働開始。普通に説明されているとおり。
  • 初期設定時、メール関係の機能を全部disable。自分しか使わないので。

LocalSettings.phpの設定変更

  • アップロード可能にする
$wgEnableUploads = true; に変更
  • 自分しか編集できなくする……以下の行を追記
  1. 匿名ユーザの編集禁止
$wgGroupPermissions['*']['edit'] = false;
  1. 新規ユーザの登録停止
$wgGroupPermissions['*']['createaccount'] = false;
  • ロゴ画像の変更……以下の行を追記して、同所にロゴ画像アップ
$wgLogo = "/wiki/images/leavespedia.png";
  • Faviconの変更……同じく
$wgFavicon = "/wiki/favicon.ico";
  • タイムゾーン変更……これでいけるはずだが、うまく機能してない
$wgLocalTZoffset = "+9";

いろんな変更

スキンの変更

  • 日本語・中国語を混在させるために、MS UIゴシックを最優先とするフォント指定。これはスキンcssファイル(skins/monobook/main.css)のbody 設定に以下の一行を追加
font: x-small "ヒラギノ角ゴ Pro W3","Osaka-UI","Osaka","MS UI Gothic","Arial Unicode MS", sans-serif;

Google Sitemapに対応

ブックマーク関係ボタンに対応

このサーバー(heteml)では<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>">を使うことで対処できた。

<a href="http://b.hatena.ne.jp/entrylist?url=http://www.kotono8.com/wiki/"><img src="http://b.hatena.ne.jp/bc/de/http://www.kotono8.com/wiki/" class="bcounter" alt="閾ペディアことのはのはてなブックマーク数" title="閾ペディアことのはのはてなブックマーク数"></a>
<a href="http://b.hatena.ne.jp/entry/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>"><img src="http://b.hatena.ne.jp/entry/image/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>"></a><br />
<a href="http://b.hatena.ne.jp/entry/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>" target="_blank"><img src="http://d.hatena.ne.jp/images/b_entry.gif" width="16" height="12" style="border: none;" alt="このエントリーを含むはてなブックマーク" title="このエントリーを含むはてなブックマーク" />はてなブクマに追加</a><br />
<a href="http://del.icio.us/1?url=http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>" target="_blank"><img alt="del.icio.usに追加" src="http://www.kotono8.com/image/de.png" width="12" height="12" /> del.icio.us に追加</a><br />
<a href="http://1470.net/mm/memo_form.html?url=http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>" target="_blank"><img alt="MM/Memoに追加" src="http://www.kotono8.com/image/mm.png" width="21" height="12" /> MM/Memo に追加</a><br />
<a href="http://newsing.jp/nbutton?title=<?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?>&url=http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>"><img src="http://www.kotono8.com/image/newsingit_s.gif" width="16" height="16" alt="newsing it!" title="newsing it!" border="0" align="absmiddle" />newsing it!</a><br />
<iframe src="http://newsing.jp/newsingit?url=http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>&title=<?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?>" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" height="18" width="122" style="margin:0;padding:0;"></iframe>
<a href="http://buzzurl.jp/entry/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>"><img src="http://buzzurl.jp/static/image/api/icon/add_icon_big_02.gif"></a><a href="http://buzzurl.jp/entry/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>"><img src="http://api.buzzurl.jp/api/counter/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>"></a><br />
<a href="http://clip.livedoor.com/redirect?link=http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>&title=閾ペディアことのは%20-%20<?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?>" class="ldclip-redirect" title="この記事をクリップ!" target="_blank"><img src="http://parts.blog.livedoor.jp/img/cmn/clip_16_16_b.gif" width="16" height="16" alt="この記事をクリップ!" style="border: none;vertical-align: middle;" /><img src="http://image.clip.livedoor.com/counter/http://www.kotono8.com<?php print htmlspecialchars($_SERVER['REQUEST_URI']);?>" />LivedoorClip</a><br />
<a href="javascript:location.href='http://bookmark.fc2.com/user/post?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)" title="FC2ブックマークへ追加"><img alt="FC2ブックマーク" src="http://bookmark.fc2.com/images/add-16.gif" width="16" height="16" border="0" />FC2ブックマークへ追加</a>

インターリンクをいじる

インターリンクをいじるには、データベースを直接書き換える。

  • データベースに使用しているmysqlにログインする。hetemlの場合、phpMyAdminにアクセス可能。
  • MediaWikiが使用しているデータベースを選択する。
  • インターウィキのテーブル(mw_interwiki……プレフィクスのmwは設定による)に、追加したいサイトの内容を追加する。たとえば……

以下のように変更した。

自動Amazon広告を入れる

YouTubeを貼り付け可能にする

<youtube>ZtYe04kB95Y</youtube>

「index.php」が含まれないショートURLにする

hetemlサーバーにおいては少々試行錯誤が必要だった。

LocalSettings.phpと、MediaWikiをインストールしたフォルダの.htaccessに追記する。

  • LocalSettings.phpの書き換え
## PHPをCGIモジュールとして使用している場合、厄介なURLを使う
$wgScriptPath	    = "/wiki";
$wgScript           = "$wgScriptPath/index.php";
$wgRedirectScript   = "$wgScriptPath/redirect.php";

$wgArticlePath      = "$wgScriptPath/$1";
</source>

もしルートディレクトリにインストールしていて、サブディレクトリを使っていない場合は以下のとおり。
<pre>
## If using php 5.2.4 (cgi) Currently default on 1and1
$wgScriptPath	    = "";
$wgScript           = "$wgScriptPath/index.php";
$wgRedirectScript   = "$wgScriptPath/redirect.php";

$wgArticlePath      = "$wgScriptPath/$1";
  • .htaccessの書き換え

MediaWikiの解説では、まず「wikiをインストールしたディレクトリではなくルートディレクトリ」の.htaccessを書き換えるように指定されているが、hetemlサーバーではうまくいかなかった。したがって、wikiをインストールしたディレクトリの.htaccessに次の記述を加えることで成功した。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]