金子邦彦研究室情報工学全般PostgreSQL の利用EC-CUBE v2.11をVirtualBox上の仮想サーバOSにセットアップする

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

環境

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

  1. VirtualBoxセットアップファイルを入手する

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

  2. セットアップのナビゲーションに従ってVirtualBoxをホストOSへセットアップする
  3. VirtualBoxのナビゲーションにしたがってUbuntu Linuxをインストールする

サーバセットアップ

端末(Terminal)を起動させ次のコマンドを入力する

[image]

sudo apt -y update
sudo tasksel

もし「tasksel command not found」と表示される場合は

sudo apt -y update
sudo apt -y install tasksel

としたあとにもう一度

sudo tasksel

を試行する

[image]

Lamp Serverにチェックを入れエンターキーを押してインストールを開始する インストール中MySQL用の"root"アカウントのパスワード入力を求められる. 任意のパスワードを設定する.今回はアカウント名と同じ"root"を使用した.

* 今回はMySQLは使用しないのでパスワードは何でも良い

Apacheの動作確認

インストールが終了し、端末の画面にもどると

sudo /etc/init.d/apache2 restart

を入力し、Apacheを再起動する.

[image]

FireFox等のブラウザを起動し、"http://localhost/"にアクセスし、 "It Works!"と表示されればApacheのインストール成功である.

[image]

PHPの動作確認

下記コマンドを実行して、Apacheドキュメントルート(/var/www/)の所有者を自分のアカウント(kenichi)に変更した

cd /var
sudo chown -R kenichi:kenichi ./www

テキストエディタにて

<?php phpinfo(); ?>
と1行記載した"phpinfo.php"ファイルを作成し、"/var/www/"ディレクトリ に配置する.

[image]

ブラウザで"http://localhost/phpinfo.php"にアクセスし、 次のような情報が表示されればApacheのインストール成功である.

[image]

ホストとゲストをつなげる

ゲストOSをシャットダウンし、VirtuelBoxの設定画面からネットワークの設定項目を表示させ、アダプタ1の割り当てを初期設定"NAT"から"ブリッジアダプタ"に変更し、名前をホストのネットワークコネクションに設定する.

これでホストOSとゲストOSをネットワークを介して相互参照できるようになる.ゲストOSを起動して、端末から

ifconfig

を実行すると、192.168.*.* (*は任意の数) が得られるので、ホストOSのブラウザで取得したIPアドレスにアクセスすると、 ゲストOS側のWEBサーバにアクセスできた.

PostgreSQLのインストール

データベースソフトウェアPostgreSQLは「システム→システム管理→Synapticパッケージマネージャ」からインストールすることができる

検索ウィンドウから「PostgreSQL」とタイプし、複数ある選択肢からサポート版を選択し上部ナビゲーションから「適用」する

[image]

インストールが完了したら、データベースのユーザとパスワード・データベース名を設定する。ここからはコマンドラインで設定を行う

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 local connectionsではログイン方法がmd5に指定されているため、ユーザpostgresでPostgreSQLサーバにログインしようとするが、ユーザ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. インストールの開始

    ブラウザより「http://localhost/ecshop/html/install/(ホストOSのブラウザよりhttp://192.168.*.*/ecshop/html/install/)」へアクセスする 以下の画面が出てくればEC-CUBEのインストールを開始できる

    [image]
  6. 設定

    アクセス権やサンプル商品のコピーの確認画面を過ぎると次の画面が出てくる ここではお店の基礎情報を入力する. 上部ECサイトの設定に関する情報はインストール後も変更することができる

    [image]
  7. データベースの設定

    次はデータベースの設定を行う. PostgreSQLのインストールで設定した内容を設定する ポート番号について特にカスタマイズしていなければ、デフォルト値5432となる

    [image]
  8. データベースが正しく動作していれば次の画面へ進むことができる

    [image]
  9. データベース初期化が正しく終了すればインストール完了である 以下のアドレスへブラウザからアクセスする
  10. 今回インストールしたEC-CUBE2.11.1のコンテンツ画面と管理画面の初期画面は次のようになっている

    [image]

    [image]