MediaWiki

提供: dsk's note
移動: 案内検索

‎MediaWiki(メディアウィキ)とは、PHP言語で書かれたウィキソフトウェアの一つで、フリー百科事典のウィキペディアで使用するために作られたものです。GNU General Public License(GPL)で配布されています。

Mediawikiのインストール

  • サーバはさくらインターネットのスタンダードプランを使用。
  • インストールしたMediawikiのバージョンは1.21.1。
  • /home/dsktnk/www/mwにMediawikiを設置。

ファイルのダウンロードと展開

Mediawikiの公式サイトからダウンロード。 今回は、SSHで接続してターミナル上でダウンロードや展開をしたが、もちろんFTP等を使用してもよい。

cd /home/dsktnk/www
wget http://download.wikimedia.org/mediawiki/1.21/mediawiki-1.21.1.tar.gz
tar zxvf mediawiki-1.21.1.tar.gz
mv mediawiki-1.21.1 mw

データベースの作成

sakura mw mysql.jpg

さくらインターネットのコントロールパネル内にあるデータベースの設定から、データベースの新規作成を行う。 ここで設定した情報は、後のMediawikiのデータベース設定で必要な情報でもあるので、予めメモを取っておくとよい。


Mediawiki セットアップ

ブラウザ上でセットアップを行う。Mediawikiを設置したディレクトリの配下にindex.phpがあるのでブラウザからアクセスする。

http://dsktnk.sakura.ne.jp/mw/index.php


セットアップ後

  • LocalSettings.phpファイルのパーミッションを設定。(chmod 600にした)
  • configディレクトリを削除する。

Mediawikiのカスタマイズ

Short URL

http://dsktnk.sakura.ne.jp/mw/index.php?title=メインページ

Mediawikiをインストールした直後は、各ページは上記のURLになるが、LocalSettings.phpを編集し、Apacheの設定を行うと下記のようにURLを短くする事ができる。

http://dsktnk.sakura.ne.jp/mw/メインページ

LocalSettings.phpを編集。$wgArticlePathと$wgUsePathInfoを追記。

$wgScriptPath = "/mw";
$wgScriptExtension = ".php";
$wgArticlePath = "/mw/$1";
$wgUsePathInfo = true;

/homeに.htaccessファイルを配置。httpd.confを書き換える方法もあるが、使用しているサービスではユーザなので、それはできない。したがって、.htaccessファイルを設置して、mod_rewriteを利用した。

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


ページタイトルの頭文字を大文字に変換しない

$wgCapitalLinks = false;


他者の編集をできなくする

# 匿名ユーザの編集禁止
$wgGroupPermissions['*']['edit'] = false;
# 新規ユーザの登録停止
$wgGroupPermissions['*']['createaccount'] = false;


サブページを有効

# メインの名前空間でサブページを有効にする
$wgNamespacesWithSubpages[NS_MAIN] = true;


HTMLの使用を許可する

$wgRawHtml = true;
<html></html>
HTMLを埋め込みたい時はhtmlタグで囲む。ここは、他者の編集を許可しておらず、自分だけしか編集できないのでいいけど、不特定多数が編集する環境の場合は、全てのHTMLタグを許可するのは危険。


ロゴ画像を設定する

LocalSettings.phpの$wgLogoの値を編集する。

$wgLogo = "$wgStylePath/common/images/wiki.png";


デフォルトのスキンを変更する

LocalSettings.phpの$wgDefaultSkinの値を編集する。

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