EC-CUBE v2.11をVirtualBox上の仮想サーバOSにセットアップする
環境
- EC-CUBE:v2.11
- ホストOS:Windows 7 64bit
- 仮想化ソフトウェア:Oracle VirtualBox v4.0.6
- (仮想)ゲストサーバ用OS:Ubuntu Linux v10.10 32bit
- WEBサーバ:Apache HTTP Server v2.2
- DBアプリケーション:PostgreSQL v8.4
仮想サーバOSセットアップ
- VirtualBoxセットアップファイルを取得する
- インストールウィザードの指示に従い,VirtualBoxをホストOSへ導入する
- VirtualBoxの設定画面に従って,Ubuntu Linuxを構築する
サーバセットアップ
端末(Terminal)を起動し,以下のコマンドを実行する

sudo apt -y update
sudo tasksel
「tasksel command not found」というエラーが表示された場合は,次のコマンドを実行する
sudo apt -y update
sudo apt -y install tasksel
その後,再度以下のコマンドを実行する
sudo tasksel
を実行する

Lamp Serverを選択し,Enterキーを押してインストールを開始する. インストール中にMySQLの管理者アカウント"root"のパスワード設定が求められる. 任意のパスワードを設定可能であり,この例では"root"を使用している.
* 本環境ではMySQLを使用しないため,パスワードは任意の値で問題ない
Apacheの動作確認
インストール完了後,端末画面に戻り,次のコマンドを実行する
sudo /etc/init.d/apache2 restart
これにより,Apacheを再起動する.

Webブラウザを起動し,"http://localhost/"にアクセスする. 画面に"It Works!"と表示されれば,Apacheのインストールは成功している.

PHPの動作確認
以下のコマンドを実行し,Apacheのドキュメントルート(/var/www/)の所有者を現在のユーザアカウント(kenichi)に変更する
cd /var
sudo chown -R kenichi:kenichi ./www
テキストエディタで,以下の内容の"phpinfo.php"ファイルを作成し,"/var/www/"ディレクトリに配置する
<?php phpinfo(); ?>

Webブラウザで"http://localhost/phpinfo.php"にアクセスし, PHPの環境情報が表示されれば,インストールは正常に完了している.

ホストとゲストの接続設定
ゲストOSをシャットダウンし,VirtuelBoxの設定画面でネットワークを構成する.アダプタ1の割り当てを初期設定の"NAT"から"ブリッジアダプタ"に変更し,ホストのネットワークインターフェースを選択する.
この設定により,ホストOSとゲストOS間でネットワーク通信が可能となる.ゲストOSを起動し,端末で以下のコマンドを実行する
ifconfig
表示されたIPアドレス(192.168.*.*形式,*は環境固有の値)に,ホストOSのブラウザからアクセスすることで, ゲストOS上のWebサーバへの接続が確認できる.
PostgreSQLのインストール
データベース管理システムPostgreSQLは,「システム→システム管理→Synapticパッケージマネージャ」からインストールできる
検索ウィンドウに「PostgreSQL」と入力し,サポート対象バージョンを選択して「適用」をクリックする

インストール完了後,データベースの管理者アカウント,パスワード,およびデータベース名を設定する.以下のコマンドで設定を行う
sudo passwd postgres
PostgreSQLの初期管理者アカウントは「postgres」である. プロンプトに従ってパスワードを設定する.この例では「postgres」を使用している. これにより,PostgreSQLへの管理者アクセスが可能となる
su postgres
パスワード:(postgres)
上記コマンドでPostgreSQLにログインできる. 次に,EC-CUBE用のデータベース「eccube_db」を作成する.ログイン後,以下のコマンドを実行する
createuser root
createdb eccube_db
psql eccube_db
create user eccube_db_user with password 'admin'
ユーザ名:eccube_db_user(スーパーユーザ:postgresもある)
パスワード:admin
データベース名:eccube_db
初期状態ではPostgreSQLサーバへの接続が制限されている. これは,pg_hda.confファイルにおいて, IPv4ローカル接続の認証方式がmd5に設定されているが,postgresユーザのパスワードが未設定のため接続が失敗する.
postgresユーザでPostgreSQLサーバに接続するには,以下の設定が必要である
- /etc/pstgresql/8.3/main/pg_hba.confの修正
host all all 127.0.0.1/32 md5 ↓ host all all 127.0.0.1/32 trust
- 外部からのアクセスを許可するため,PostgreSQLの設定ファイル
/etc/postgresql/7.4/main/postgresql.conf
に以下の行を追加する
listen_addresses = '*';
- また,/etc/pstgresql/8.3/main/pg_hba.confに以下の行を追加する
host all all 192.168.0.0/0 trust (192.168.0.0は環境に応じて変更可能)
この設定により,すべてのクライアントからPostgreSQLへの接続が許可される
設定変更後,以下の手順でpostgresqlサービスを再起動し,設定を反映させる
データベースサーバの制御は,/etc/init.d/postgresql-8.3コマンドで行う. このコマンドは,標準的なシステムサービス制御インターフェースに従う
- postgresql-8.3 startでデータベースサーバを起動する
- postgresql-8.3 stopでデータベースサーバを停止する
- postgresql-8.3 restartで設定を再読み込みし,サーバを再起動する
- postgresql-8.3 statusでサーバの稼働状態を確認する
EC-CUBE のインストール
- ホストOSからhttp://192.168.*.*/ecshop/でアクセスできるよう設定する(*は環境固有の値)
- 構築するURLのパスを決定する
本環境では,ゲストOS上で http://localhost/ecshop/
- cd /var/www/
- EC-Cubeをダウンロードし,展開する
wget http://downloads.ec-cube.net/src/eccube-2.11.1.tar.gz tar zxvfp eccube-2.11.1.tar.gz
解凍時にpオプションを指定し,パーミッション情報を保持する. このオプションを省略すると,インストール時に多数のパーミッションエラーが 発生する可能性がある.
mv eccube-2.11.1 ecshop rm -f eccube-2.11.1.tar.gz
- インストールを開始する
Webブラウザで「http://localhost/ecshop/html/install/」(ホストOSからは http://192.168.*.*/ecshop/html/install/)にアクセスする 以下の画面が表示されれば,EC-CUBEのインストールを開始できる状態である
- 基本設定を行う
ファイルアクセス権とサンプルデータの確認後,店舗の基本情報を入力する画面が表示される. ECサイトの基本設定は,インストール後も変更可能である
- データベースを設定する
PostgreSQLのインストール時に設定した接続情報を入力する. 特別な設定を行っていない場合,ポート番号はデフォルト値の5432を使用する
- データベース接続が正常に確立すれば,次の設定画面に進むことができる
- データベースの初期化が完了すると,インストールは終了する
以下のURLでアクセスが可能となる
- ゲストOS:http://192.168.*.*/ecshop/html/
- ホストOS:http://localhost/ecshop/html/
- EC-CUBE 2.11.1のフロントエンドとバックエンド(管理画面)の初期状態は以下の通りである