Magento1.x開発環境をOS Xに構築する


この記事はMagento Advent Calendar 2015の三日目です。
前日のkzkiq2ndさんに引き続き、Magento1系の記事となります。

はじめに

今回はVM上にMagentoの開発環境を構築します。ゼロから構築するのではなくMagento development box with Vagrant and Chef Soloを元に、Magentoが動作する環境をローカルに作成することを目指します。私自身がMacbookで開発しているため、OS Xでのみ動作を確認しています。

インストールされるもの

  • Ubuntu 14.04 LTS
  • Magento CE 1.9.2.1
  • n98-magerun Magentoをコマンドラインから操作するためのインターフェース
  • XDebug PHP のデバッグ用エクステンション

事前準備

Chef Development Kitのインストール

Chef Development Kitは、プロビジョニングツールであるChefの開発ツールを、まとめてクライアントにインストールするためのパッケージです。
リンク先から最新版のdmgファイルをダウンロードしてインストールしてください。

Virtualboxのインストール

Virtualboxは、LinuxOSやWindowsOSなどを動かすための仮想環境ソフトウェア・パッケージです。今回はOSX上でLinuxOS(Ubuntu)を動かすために使用します。
リンク先から最新版のdmgファイルをダウンロードしてインストールしてください。

Vagrantのインストール

Vagrantは仮想環境構築ソフトウェアです。Vagrantfileに記述された構成を元に、仮想環境を構築することが可能になります。
リンク先から最新版のdmgファイルをダウンロードしてインストールしてください。

追加でVagrantをChefでプロビジョニングするためのプラグインなどをインストールするため、ターミナルから下記コマンドを実行します。

$ vagrant plugin install vagrant-cachier
$ vagrant plugin install vagrant-omnibus
$ vagrant plugin install vagrant-berkshelf
$ vagrant plugin install vagrant-vbguest
$ vagrant plugin install vagrant-hostsupdater

プラグインのインストール中にffi関連のエラーが出て失敗したときは、ffiをアップデートするか、gemコマンドでffiをインストールしてみてください。

$ vagrant plugin update ffi
$ brew install apple-gcc42
$ gem install ffi

Composerのインストール

ComposerはPHPのパッケージ依存管理ツールです。
ターミナルから下記コマンドを実行してインストールしてください。

$ curl -sS https://getcomposer.org/installer | php

Magento環境の構築

Magento環境設定ファイルの取得

クライアントに作業ディレクトリ(例:~/workspace/vm/magento)を作成して、VagrantfileやChefのrecipeなどが含まれたファイル群をGitHubのリポジトリからcloneします。
cloneできたらVagrantfileが入っているディレクトリに移動してください。

$ mkdir ~/workspace/vm/magento
$ cd ~/workspace/vm/magento
$ git clone https://github.com/mike182uk/magento-dev-vagrant-chef-solo.git
$ cd ./magento-dev-vagrant-chef-solo

設定ファイルの変更

Magentoをインストールする前に、設定ファイルを編集します。通貨・地域・タイムゾーンを日本に変更してください。管理画面のユーザー・パスワードも変更可能です。

$ vi ./.n98-magerun.yaml
currency: JPY (<=GBPから書き換え)
locale: ja_JP (<=en_GBから書き換え)
timezone: ASIA/Tokyo (<=Europe/Londonから書き換え)

英語圏のサンプルデータは必要ないと思いますので、ChefのMagentoインストール設定ファイルを編集してmagerunのinstallSampledataオプションをyesからnoに書き換えます。

$ vi ./chef/cookbooks/magento-dev/templates/default/install-magento.erb 
--installSampleData = no (<= yesから書き換え)

Vagrantの起動

Vagrantを起動(セットアップ)します。

$ vagrant up

続いてComposerで依存関係のあるPHPパッケージをインストールしてください。

$ composer install --prefer-dist

GitHubのAPI制限に引っかかる場合は、GitHubのユーザー・パスワードを入力するか、下記記事を参考にアクセストークンをComposerに設定しておいてください。
ComposerでGitHubのリポジトリをHTTPSで追加したときの認証設定

Magentoのインストール

これで全ての準備が整いましたので、Magentoのインストールスクリプトを実行します。

$ vagrant ssh -c "~/install-magento.sh"

以上でMagentoの環境がVM上に構築されました。ブラウザからwww.magento.devにアクセスして確認してください。
MySQLデータベースの接続情報についてはGitHubに記載されています。

明日はHoriuchi Fumioさんです。よろしく!