More info...

2008-05-03

俺のマシンでメディアウィキが動くまで

俺の静音マシンはSolaris 10で稼働しているわけだが、ウェブサイトを立ち上げるという目的を果たすべくWikiをインストールした。Wikiクローンは星の数ほどあるが、オトコは黙って一番凄いヤツを使うべし!!となれば選択肢はウィキペディアで使われているメディアウィキしかないだろう。

MediaWikiのサイト
http://www.mediawiki.org/

実は以前お手軽なpukiwikiをイントラで使用していたことがあった。pukiwikiはApache+PHPさえ入っていれば動作するので、本当にインストールも設定も簡単である。にもかかわらずプラグインを自作することにより簡単に拡張できるという素晴らしい特徴を備えている。当時は一時のめり込んでしまった。しかし編集に対する制限がかけられないという過度にオープンな特徴もあるため、インターネットで公開するには荒らし対策ができないという欠点がある。これは厳しい!!というわけで今回はメディアウィキにしたわけだ。

メディアウィキを動かすための基盤となるソフトウェアは、言わずとしれたLAMPである。今回はLinuxではないからSAMPとでも言うべきであろうか。語順を入れ替えればSMAPであるが、商標的に問題があるのでそう言ってはいけない。何はともあれ以下のソフトウェアのインストールおよび設定が必要なのである。
  • PHP
  • MySQL
  • Apache
PHP以外はSolarisに元からインストールされているではないか?と思うかもしれない。しかし、プリインストール品は少しバージョンが古いのである。

オトコは黙って最新版を使うべし!!

まあ実際のところ、古いソフトウェアには解決済みのセキュリティの問題とかが残っていたりするので、個人的な趣味でやる範囲であれば最新版に追随するのは悪いことではない。(勉強にもなるよ!)そこで、SunFreewareから拾ってきて必要なソフトウェアをインストールしようと思っていたのであるが、先日実はそれらが32ビット版のバイナリであることに気がついたというわけである。仕方がないのでソースからビルドするしかないのであるが、いっぱつでビルドが通るほどSolarisは甘くない。(本当にLinuxに乗り換えようかと悩むわけであるが・・・)

となるとGoogleで色々と調べるわけであるが、MySQLのデベロッパー向けのサイトでSolaris Zoneでメディアウィキを動かそうぜ!という投稿を見つけた。これは非常に参考になる。(結局Zoneは使わなかったんだけど。)

コンパイラはプリインストールのgccとSunStudio 12を使い分けた。いずれのコンパイラでも-m64オプションをつけるだけで64ビットバイナリがビルドできる。最適化オプションは適当で。

Apache 2.2.8
単に64ビットでビルド。CPPFLAGS(-m64を忘れずに)とLDFLAGSを適切に設定して./configure && makeやるだけでOK。

MySQL 5.0.51a
これだけはx86_64向けのバイナリがMySQLのサイトにあるのでインストール。

PHP 5.2.5
MySQL Forgeを参考にしながらビルド。特にApacheとMySQLのパスを指定してやるのがミソだ。SunStuido 12ではコンパイルが通らなかったので、GCCを利用。おそらくリンカーのバグだろう。

これでいよいよメディアウィキのインストールか?!と思うかも知れないが、その前にあとひとつ。どうせほとんどアクセスなどないだろうが、オトコは黙ってチューニング!である。メディアウィキを使うならmemcachedを使わない手はない。memcachedをインストールするにはlibeventが必要なのだが、いずれも64ビットでのビルドはすんなり通った。

今度こそいよいよメディアウィキのインストールであるが、非常に簡単である。MySQL Forgeにも説明があるが、それよりはむしろmediawiki.orgのマニュアルを見た方がいい。非常に簡単であるので説明は省略する。

で、できあがったサイトがこれ。

題して「MySQL Practice Wiki」
http://www.mysqlpracticewiki.com/

もちろんMySQL Performance Blogのパロディである。コンテンツはまだないが、気が向いたら少しずつ書きためていく予定である。

0 件のコメント:

コメントを投稿