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
データベースの作成
さくらインターネットのコントロールパネル内にあるデータベースの設定から、データベースの新規作成を行う。 ここで設定した情報は、後の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';