このエントリーをはてなブックマークに追加 Twitterでツイート Windows環境にOpenPNE入れてみた

本番はLinux環境なわけですが、Windowsの開発環境にOpenPNEを入れてみた。
Windows環境はこんな感じ(PHPもApacheも上げてないな^^;)。
OS: Windows 7 Home Premium 64ビット版
PHP: 5.2.11 C:\Program file (x86)\PHP
Apache: 2.0.63 C:\Program file (x86)\Apache Group\Apache2
MySQL: 5.0.88

インストールの流れは次の通り。
1.OpenPNE 3.4.9を「オフィシャルサイト」からダウンロード。ダウンロードしたアーカイブを展開し、インストール先であるhtdocs.test\openpneにコピー。
2.htdocs.test\openpne\doc\ja\OpenPNE3_Setup_Guide.txtを開き、手順を確認。
3.2の手順に従い、htdocs.test\openpne\configフォルダの2つのファイルをコピー。
 OpenPNE.yml.sampleをOpenPNE.ymlへ。
 ProjectConfiguration.class.php.sampleをProjectConfiguration.class.phpへ。
4.コマンドプロンプトを開き、htdocs.test\openpneフォルダへ移動。

> cd C:\Program file (x86)\Apache Group\Apache2\htdocs.test\openpne

5.インストールコマンドを実行。

> php symfony openpne:install

と、ここで通常であればこれでインストール完了まで進むはずなのですが、私の場合はここでトラブル発生。ファイルのコピー操作が終わったあたりで、次のようなエラーメッセージが表示され、先に進めませんでした。

file+ C:\Program Files (x86)\Apache G...9eb6a0b62af967d2ed42cd3b332.yml

The execution of task "doctrine:build" failed.

- Too many arguments ("Files (x86)\Apache Group\Apache2\htdocs.test\openpne\data/fixtures_tmp" given).


この問題の原因は、Apacheのインストール先がスペースを含んでいたため、データベース構築用の作業ファイルが正しく保存できないことでした。
6.この問題の対処として、htdocs.test\openpne\lib\task\openpneInstallTask.class.phpの204行目を次のように修正(kit.t様に改めて感謝)

$tmpdir = sfConfig::get('sf_data_dir').'/fixtures_tmp';
↓
$tmpdir = ’c:/tmp/fixtures_tmp';

7.再度、インストールコマンドを実行。

> php symfony openpne:install

今度こそと思ったのですが、別のエラーが発生し、中断してしまいました。

SQLSTATE[HY000]: General error: 1364 Field ‘height’ doesn’t have a default value 

この問題の解決方法は「OpenPNE3をインストール « for INSTALL MANIAX3」に書かれていました。
8.htdocs.test\openpne\plugins\opOpenSocialPlugin\config\doctrine\schema.ymlの14行目を修正

height:    { type: integer, notnull: true }
↓
height:    { type: integer, notnull: false }

9.再度、インストールコマンドを実行。

> php symfony openpne:install
:
:
installer installation is completed! 

これで無事インストールが終了しました。

7.で発生した問題はテスト環境のMySQLが5.0.88だったことが原因かもしれません。同じタイミングでLinux側にも同じOpenPNEをインストールしたのですが、そちらでは発生しませんでした(MySQLは5.1.52)。推奨環境も5.1系になっていますし、MySQLのバージョンを上げれるなら、MySQLをバージョンアップしてからOpenPNEをインストールしたほうがよさそうです。
なお、Linux環境のインストールでは、1度だけメモリー不足でエラーになってしまいました。その時のphp.iniのmemory_limitは64Mだったのですが、ぎりぎり足りなかったようです。仕方なく80Mにして再度インストールコマンドを実行し、無事インストールが完了しました。

忘れないようにメモってここで。

投稿日:2011年2月8日
  • ※コメントは、スパム対策などのためIPアドレスにて制限しております。
  • ※誹謗や中傷、スパムなど、不適切な内容は公開いたしません。ご了承ください。