MediaWikiインストール関連
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パッケージでは対応していない。再コンパイルする必要がある。手順は以下の通り。
- apache2のインストール
- packageとしてapache2(2.0,2.1,2.2)をインストールする。
- /etc/make.confの書換え
- 以下の行を追加する
- DEFAULT_PHP_VER=5
- WITH_APACHE2=yes
- php5のコンパイル
- /usr/ports/lang/php5に移動し、makeを行なう。構成メニューが表示されたときには必ずapache使用するように設定する。コンパイル終了後、make packageでパッケージの作成を行なう。
インストール
jailの準備
jailディレクトリの準備
- ディレクトリの準備
- とりあえず/home2/jailとする。このディレクトリを作る。
- addonsディレクトリの準備
- このディレクトリ直下に、addonsディレクトリを用意する。この中に、/usr/local/jails/addonsの内容をコピーする。
- dellist5.txt修正
- 必要に応じてdellist5.txtを修正する。
- runme.sh修正
- 必要に応じてrunme.shを修正する。
- パッケージのコピー
- あらかじめコンパイル済みの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があるので、これをベースに修正する。以下の点を修正。
- IF
- jailが使うインタフェースを指定する。たとえばdc0など。
- JAIL_HOME
- jailのホームディレクトリを指定する。たとえば/home2/jailなど。
- BATCH
- 自動実行の有無を指定する。自動実行の場合は、BATCH="yes"
- ROOT_PW
- rootのハッシュされたパスワードを指定する。値は必ず"'"でくくること。
- PROCFS
- TRUEを設定し、有効にする。
- JAILS
- ホスト名(ドメイン名)とIPアドレスを指定する。
- RC_CONF
- /etc/rc.confに指定したいパラメータを記述する。たとえば、
- RC_CONF='sendmail_enable="NONE" sshd_enable="YES" portmap_enable="NO" network_interfaces="" tcp_keepalive="NO" inetd_enable="YES"'
- 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があるので、これをベースに修正する。以下の点を修正。
- IF
- jailが使うインタフェースを指定する。たとえばdc0など。
- JAIL_HOME
- jailのホームディレクトリを指定する。たとえば/home2/jailなど。
- BATCH
- 自動実行の有無を指定する。自動実行の場合は、BATCH="yes"
- ROOT_PW
- rootのハッシュされたパスワードを指定する。値は必ず"'"でくくること。
- PROCFS
- TRUEを設定し、有効にする。
- JAILS
- ホスト名(ドメイン名)とIPアドレスを指定する。
- RC_CONF
- /etc/rc.confに指定したいパラメータを記述する。たとえば、
- RC_CONF='sendmail_enable="NONE" sshd_enable="YES" portmap_enable="NO" network_interfaces="" tcp_keepalive="NO" inetd_enable="YES"'
- NAMESERVER
- ネームサーバを指定する。
Localsettings.phpの調整
アップロードエラーの対応
許可された拡張子を持つファイルをアップロードしても、エラーとなる場合がある。どうやら、Mediawikiが中身を見ているらしい。ここ に対応方法がある。具体的には
$wgMimeDetectorCommand = "file --brief --mime";
を追加する。
その他
その他の情報はここ