研究室で SNS を動かしているマシンを入れ替えたいという懸案事項があったので、新年度になったのを機に入れ替え。
研究室の情報共有は2006年までニューズグループを使っていて、その後 SNS に移行した。その時点での最新版の OpenPNE というものを ryu-i さんが入れたのだが、入れてから1回も更新していなかったので、だいぶ古くなっていたのであった。
基本的にはバージョンの上がるごとに MySQL の DB テーブルの入れ替えをしないといけないのと、あと昨日も書いたように PEAR の blowfish アルゴリズムの実装にバグがあって、プラットホームによってはそれが発現するらしく、今回のケース(Mac OS X から Linux に移行)だとヒットするらしい。症状としてはログインできなくなる・DB に保存されているメールアドレスが化ける・といったもの。
Mac での MySQL/PHP/Apache は MAMP というものを使っていたのだが、これがどうも --with-mcrypt で作られていなかったらしく、新しめの MAMP をインストールしないといけない、ということに気がつくまでに数時間……。
結局
- OpenPNE 2.6.11 をダウンロード
- http://pong.unitedpongdom.net/blog/mechanical/pc/ の「2の条件用」と書いてあるところのスクリプト2つをダウンロード(convert_blowfish_NOEXT.php のほうはデフォルトでは30人分しかコンバートしてくれないので、ファイルを開いて適当な数に増やす)
- MAMP 1.7.1 をダウンロード(--with-mcrypt でコンパイルされているものが必要なので)
- OpenPNE 2.6.11 の public_html で /Applications/MAMP/bin/php5/bin/php convert_blowfish_NOEXT.php を実行
- OpenPNE 2.4.8, 2.6.11, 2.8.10, 2.10.5, 2.12beta2 をそれぞれ展開
- OpenPNE-{2.4.8,2.6.11,2.8.10,2.10.5,2.12beta2}/setup の中の upgrade ディレクトリにある SQL スクリプト(*-mysql41.sql が MySQL 5.x 用)を順に実行(データベースの形式が変わっている)
- OpenPNE-2.10.5/config.php.sample を config.php に変更、MySQL の設定など書き換える
- 元々動作していた OpenPNE-2.2.8 の var/ の中身を新しい OpenPNE-2.10.5 の var/ にコピー(この中に画像や添付ファイルがある)、chown -R apache:apache