osCommerce

osCommerceドキュメント (2007/10/15)

概要
機能
前提条件
Apacheのインストール
SSLモジュールの組み込み
PHPのインストール
MySQL
osCommerceのインストール
osCommerceインストール後の調整

概要
通常、ショッピングサイトを開設するには商品登録/閲覧機能、注文機能、管理機能などが必要となります。
osCommerceはオープンソースのE-Commerceソリューションで、これらの最低限必要な機能が標準実装されています。
また、osCommerceはPHPで作成されており、画面デザインの変更等もPHPの知識があれば可能です。

機能ECサイト構築システムosCommerceより抜粋 )
  • 商品の登録や注文の管理が、ブラウザから簡単に行えます。
  • 注文状況や顧客情報が一目で確認できます。
  • 在庫、受注、出荷処理、配送完了までの商品の流れを管理することができます。
  • 商品の情報はデータベースで管理され、自動的にショップに掲載されるので、多数の商品を販売するのにも手間がかかりません。
  • 人気商品や関連商品、カスタマーレビューなどを見てもらえる賑わいのあるショップが作れます。
  • 顧客を会員として管理できます。
  • 顧客への電子メールの一斉配信ができます。
前提条件
  • Windows XP Professional Version 2002 Service Pack 2へのインストールを行う
  • インストールしようとしている日本語化されたoscommerce-2.2ms1j-R8はPHP4/MySQL4でのみ動作保障されている。PHP5ではインストール途中で先に進めなくなるので注意が必要。

ページトップへ

Apacheのインストール
  1. Apache HTTP Server 2.2.6(apache_2.2.6-win32-x86-openssl-0.9.8e.msi)を日本版Apacheのページなどからダウンロード。
    実際にダウンロードしたページはこちら
  2. 解凍し、規約同意、ドメイン名等の入力、インストールディレクトリを設定してインストール
  3. http://localhost/にアクセスして動作確認

SSLモジュールの組み込み
  1. DSOでSSLモジュールを組み込むよう指定する。
    /conf/httpd.conf
    #LoadModule ssl_module modules/mod_ssl.so
    ↓削除
    LoadModule ssl_module modules/mod_ssl.so

    # Secure (SSL/TLS) connections
    #Include conf/extra/httpd-ssl.conf
    ↓削除
    Include conf/extra/httpd-ssl.conf

    /conf/extra/httpd-ssl.conf
    ・Windowsで利用できない機能らしい
    SSLMutex "file:C:/Program Files/Apache/Apache2.2/logs/ssl_mutex"
    ↓コメントアウト
    #SSLMutex "file:C:/Program Files/Apache/Apache2.2/logs/ssl_mutex"

  2. SSLの鍵や証明書の準備
    2−1.opensslのインストール
    本家からダウンロードしてインストール
    2−2.証明書、秘密鍵の作成
    自宅認証局(CA)を開局:http://mizushima.ne.jp/Windows/SSL/OpenSSL/PrivateCA.php
    サーバーの秘密鍵と署名要求書(CSR)を作成:http://mizushima.ne.jp/Windows/SSL/OpenSSL/csr-key.php
    署名要求書(CSR)にCAで署名・認証して証明書を発行:http://mizushima.ne.jp/Windows/SSL/OpenSSL/CA-signature.php

PHPのインストール
※※旧マシンに入っていたPHPを利用 PHP 4.3.11
編集中 内容がPHP5のインストール手順になっている
  1. ダウンロード
    http://www.php.net/downloads.phpからphp-5.2.4-win32-installer.msiをダウンロードする
  2. インストール
    • 自動的に<apache-dir>/conf/httpd.confに下記が追記される

      #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
      PHPIniDir "C:/Program Files/PHP/"
      LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll"
      #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

    • /conf/httpd.confで下記を編集
      <IfModule dir_module>
      DirectoryIndex index.html index.php
      </IfModule>

      とりあえず下記はデフォルトのままとする
      # Language settings
      Include conf/extra/httpd-languages.conf

    • /php.iniを編集
      register_globals = Off
      ↓編集
      register_globals = On

  3. 実行確認
    /htdocsに下記のようなphpinfo.phpファイルを配置し、http://localhost/phpinfo.phpにアクセス
    --------phpinfo.php---------

    --------/phpinfo.php---------
    下記のような画面が表示されればOK

ページトップへ

MySQL
  1. インストール
    MySQL4.1.22をダウンロードしインストール
  2. ユーザー設定
    • 「標準MySQL」p.45に従い、mysqladminコマンドでrootユーザのパスワード変更を行った。
      ユーザー:root
      パスワード:mysqlroot

    • 「標準MySQL」4-9-3に従い、mysqlユーザの登録を行った。
      ユーザー:mysql
      パスワード:mysqluser

      ※バージョン5では、insert文では実行できないため下記の手順で実行
      create user 'mysql'@'localhost';
      set password = password("mysqluser");

    • 「標準MySQL」4-9-6に従い、mysqlユーザの権限登録を行った。
      rootユーザーで下記を実行
      grant CREATE,SELECT,INSERT,UPDATE,DELETE,DROP on *.* to mysql@localhost;

    • MySQL4.1に4.0以前のクライアントライブラリで接続しようとすると認証エラーとなる。(パスワードの認証方法が変更になったため?)
      下記の方法で回避した。
      rootユーザーでMySQLにログインし、set password for mysql@localhost = old_password("mysqluser");を実行

osCommerceのインストール
  1. oscommerce-2.2ms1j-R8.tar.gzをsourceforgeからダウンロード
  2. 展開し、catalog,adminディレクトリを/htdocsディレクトリ下にコピー
  3. ブラウザからhttp://localhost/catalog/installにアクセスしNew Installを選択する。(インストール画面1)
  4. 「3. データベース・サーバに関する情報」を入力しContinue
    データベース・サーバ:localhost
    ユーザ名:mysql
    パスワード:mysqluser
    データベース:osc_catalog
  5. インポート完了したら後は画面の指示に従って完了

osCommerceインストール後の調整
  • http://localhost/catalog/default.phpにアクセスすると画面上部にエラーが表示される

    Warning: session_start(): open(/tmp\sess_f307804ae0a61b89faaac376d957fb90, O_RDWR) failed: No such file or directory (2) in C:\Program Files\ApacheGroup\Apache2\htdocs\catalog\includes\functions\sessions.php on line 67
    警告: インストール・ディレクトリ(/install)が存在したままです: C:/Program Files/ApacheGroup/Apache2/htdocs/catalog/install. ディレクトリはセキュリティ上の危険がありますので削除してください。
    警告: 設定ファイル(/includes/configure.php)に書き込み権限が設定されたままです: C:/Program Files/ApacheGroup/Apache2/htdocs/catalog/includes/configure.php. ファイルのユーザ権限を変更してください。
    警告: セッション・ディレクトリが存在しません: /tmp. セッションを利用するためにディレクトリを作成してください。

  • catalog/includes/application_top.phpのセッション保存ディレクトリを変更:php.iniの編集のみでOK
    144行目 define('PHP_SESSION_SAVE_PATH', '/tmp');
    ↓編集
    144行目 define('PHP_SESSION_SAVE_PATH', 'C:\Program Files\ApacheGroup\Apache2\htdocs\catalog\tmp');
  • C:\WINDOWS\php.iniファイルの編集
    ;session.save_path = /tmp
    ↓編集
    session.save_path = C:\\TEMP

  • catalog/installディレクトリを削除
  • catalog/includes/configure.phpを読み取り専用に変更

  • http://localhost/admin/にアクセスするとエラー発生
    Warning: mysql_connect(): Access denied for user 'mysql'@'localhost' (using password: NO) in C:\Program Files\ApacheGroup\Apache2\htdocs\admin\includes\functions\database.php on line 19
    Unable to connect to database server!

    admin/includes/configure.php 43行目〜
    define('DB_SERVER_PASSWORD', '');
    ↓編集
    define('DB_SERVER_PASSWORD', 'password');

    define('DB_DATABASE', 'osCommerce');
    ↓編集
    define('DB_DATABASE', 'osc_catalog');

  • 動作確認完了。

ページトップへ