MediaWikiインストール関連

提供:Samba-JP
ナビゲーションに移動検索に移動

FreeBSDへのインストール

FreeBSDでは、ベース環境にインストールしてもよいが、jail機能を使うと、手軽に システム全体を構築できるためお勧めである。但し、若干手順はかかる。
ここではFreeBSD6.2Rでのインストールを前提とする。

必要なもの

  • jailctl(pkg)
  • /usr/src配下

パッケージのダウンロード

jail配下でMediaWikiを使う場合には、いくつかのパッケージが必要である。あらかじめ以下のパッケージをダウンロードしておくとよい(pkg_add -r でネットワーク経由でダウンロードも可能)。

  • apache-2.0.59.tbz
  • expat-2.0.0_1.tbz
  • libiconv-1.9.2_2.tbz
  • libxml2-2.6.27.tbz
  • mediawiki-1.9.3.tbz
  • mysql-client-5.0.37.tbz
  • mysql-server-5.0.37.tbz
  • perl-5.8.8.tbz
  • php5-extensions-1.1.tbz
  • php5-iconv-5.2.1_3.tbz
  • php5-mbstring-5.2.1_3.tbz
  • php5-mysql-5.2.1_3.tbz
  • php5-pcre-5.2.1_5.tbz
  • php5-readline-5.2.1_3.tbz
  • php5-session-5.2.1_3.tbz
  • php5-xml-5.2.1_3.tbz
  • php5-zlib-5.2.1_3.tbz
  • pkg-config-0.21.tbz

準備作業

jailctlを使う場合、make buildworldしたコンパイル済みバイナリを使用する。従って、あらかじめ /usr/src配下で make buildworldしておかなければならない。

パッケージの準備

apache2を使う場合、標準で提供されているphp5パッケージでは対応していない。再コンパイルする必要がある。手順は以下の通り。

  1. apache2のインストール
    packageとしてapache2(2.0,2.1,2.2)をインストールする。
  2. /etc/make.confの書換え
    以下の行を追加する
    DEFAULT_PHP_VER=5
    WITH_APACHE2=yes
  3. php5のコンパイル
    /usr/ports/lang/php5に移動し、makeを行なう。構成メニューが表示されたときには必ずapache使用するように設定する。コンパイル終了後、make packageでパッケージの作成を行なう。

インストール

jailの準備

jailディレクトリの準備

  1. ディレクトリの準備
    とりあえず/home2/jailとする。このディレクトリを作る。
  2. addonsディレクトリの準備
    このディレクトリ直下に、addonsディレクトリを用意する。この中に、/usr/local/jails/addonsの内容をコピーする。
  3. dellist5.txt修正
    必要に応じてdellist5.txtを修正する。
  4. runme.sh修正
    必要に応じてrunme.shを修正する。
  5. パッケージのコピー
    あらかじめコンパイル済みのphp5とダウンロード済みのパッケージを、/home2/jail/addonsにコピーする。

runme.sh修正

jail環境作成後、初期設定を行なうスクリプトである。下記のように記述する。

#!/bin/sh
makelibrary ()
{
cd /usr/local/www
mv mediawiki data
cd data/mediawiki
chmod a+w config

cap_mkdb /etc/login.conf
}
#
#main
#
echo 'apache2_enable="YES"' >>/etc/rc.conf
echo 'mysql_enable="YES"'  >>/etc/rc.conf
echo 'mysql_args="--bind-address=210.171.172.75"' >>/etc/rc.conf

cd lib
ln -s libm.so.4 libm.so.3
ln -s libcrypt.so.3 libcrypt.so.2
ln -s libutil.so.5  libutil.so.4
ln -s libc.so.6 libc.so.5
cd /

pkg_add /perl-5.8.8.tbz
pkg_add /expat-2.0.0_1.tbz
pkg_add /pkg-config-0.21.tbz
pkg_add /libiconv-1.9.2_2.tbz
pkg_add /libxml2-2.6.27.tbz
pkg_add /apache-2.0.59.tbz
pkg_add /php5*.tbz
pkg_add /mysql*5.0.37*.tbz

cp /httpd.conf /usr/local/etc/apache2/
mkdir /var/db/mysql
chown mysql /var/db/mysql

pkg_add -f /mediawiki-1.9.3.tbz
makelibrary

/usr/local/etc/jails.confの作成

/usr/local/etc/jails.conf.sampleがあるので、これをベースに修正する。以下の点を修正。

  1. IF
    jailが使うインタフェースを指定する。たとえばdc0など。
  2. JAIL_HOME
    jailのホームディレクトリを指定する。たとえば/home2/jailなど。
  3. BATCH
    自動実行の有無を指定する。自動実行の場合は、BATCH="yes"
  4. ROOT_PW
    rootのハッシュされたパスワードを指定する。値は必ず"'"でくくること。
  5. PROCFS
    TRUEを設定し、有効にする。
  6. JAILS
    ホスト名(ドメイン名)とIPアドレスを指定する。
  7. RC_CONF
    /etc/rc.confに指定したいパラメータを記述する。たとえば、
    RC_CONF='sendmail_enable="NONE" sshd_enable="YES" portmap_enable="NO" network_interfaces="" tcp_keepalive="NO" inetd_enable="YES"'
  8. NAMESERVER
    ネームサーバを指定する。

/usr/local/etc/my.cnfの作成

オリジナルは、/usr/local/share/mysql/にある。この中からmy-medium.cnfを元にして、my.cnfを作成する。 オリジナルをベースに、[mysqld],[mysqldump],[mysql]セクションに

default-character-set = utf8

を追加する。また、log-binパラメータには mysql-binが指定されているがこれを取り除く(やらなくてもよい)。

/usr/local/etc/jails.confの作成

/usr/local/etc/jails.conf.sampleがあるので、これをベースに修正する。以下の点を修正。

  1. IF
    jailが使うインタフェースを指定する。たとえばdc0など。
  2. JAIL_HOME
    jailのホームディレクトリを指定する。たとえば/home2/jailなど。
  3. BATCH
    自動実行の有無を指定する。自動実行の場合は、BATCH="yes"
  4. ROOT_PW
    rootのハッシュされたパスワードを指定する。値は必ず"'"でくくること。
  5. PROCFS
    TRUEを設定し、有効にする。
  6. JAILS
    ホスト名(ドメイン名)とIPアドレスを指定する。
  7. RC_CONF
    /etc/rc.confに指定したいパラメータを記述する。たとえば、
    RC_CONF='sendmail_enable="NONE" sshd_enable="YES" portmap_enable="NO" network_interfaces="" tcp_keepalive="NO" inetd_enable="YES"'
  8. NAMESERVER
    ネームサーバを指定する。

Localsettings.phpの調整

アップロードエラーの対応

許可された拡張子を持つファイルをアップロードしても、エラーとなる場合がある。どうやら、Mediawikiが中身を見ているらしい。ここ に対応方法がある。具体的には

$wgMimeDetectorCommand = "file --brief --mime";

を追加する。

その他

その他の情報はここ