EC-CUBE v2.11をVirtualBox上の仮想サーバOSにセットアップする

環境

仮想サーバOSセットアップ

  1. VirtualBoxセットアップファイルを取得する

    http://www.virtualbox.org/wiki/Downloads

  2. インストールウィザードの指示に従い,VirtualBoxをホストOSへ導入する
  3. 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サーバに接続するには,以下の設定が必要である

設定変更後,以下の手順でpostgresqlサービスを再起動し,設定を反映させる

データベースサーバの制御は,/etc/init.d/postgresql-8.3コマンドで行う. このコマンドは,標準的なシステムサービス制御インターフェースに従う

EC-CUBE のインストール

  1. ホストOSからhttp://192.168.*.*/ecshop/でアクセスできるよう設定する(*は環境固有の値)
  2. 構築するURLのパスを決定する

    本環境では,ゲストOS上で http://localhost/ecshop/

  3. cd /var/www/
  4. 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
    
  5. インストールを開始する

    Webブラウザで「http://localhost/ecshop/html/install/」(ホストOSからは http://192.168.*.*/ecshop/html/install/)にアクセスする 以下の画面が表示されれば,EC-CUBEのインストールを開始できる状態である

  6. 基本設定を行う

    ファイルアクセス権とサンプルデータの確認後,店舗の基本情報を入力する画面が表示される. ECサイトの基本設定は,インストール後も変更可能である

  7. データベースを設定する

    PostgreSQLのインストール時に設定した接続情報を入力する. 特別な設定を行っていない場合,ポート番号はデフォルト値の5432を使用する

  8. データベース接続が正常に確立すれば,次の設定画面に進むことができる
  9. データベースの初期化が完了すると,インストールは終了する 以下のURLでアクセスが可能となる
    • ゲストOS:http://192.168.*.*/ecshop/html/
    • ホストOS:http://localhost/ecshop/html/
  10. EC-CUBE 2.11.1のフロントエンドとバックエンド(管理画面)の初期状態は以下の通りである