2016/01/30

Magento2セットアップメモ(AWS-EC2-micro)

Magento2とは?

magent2_logo
Magentoは2008年から始まったECサイト用のオープンソースソフトウェアです。
日本でメジャーなEC-CUBE的な。海外ではオープンソースのECソフトとしては最もシェアがあるそうです。
そのMagentoのVer2が 2015年11月にリリースされました。
無償のCmunitiyEditionと有償のEnterprise Editionがあります。

Magento公式サイト

セットアップ環境

Magento2とは、どんなものなのか触ってみたくて、サンプルデータ付きのCmunitiyEditionが公開されているので、AWSの最小構成サーバEC2 microにインストールしました。いくつかハマったので備忘録的にメモにしたのがコノ投稿です。誰か同じようにハマった際に一助になればこれ幸い。

  • AWS-EC2 micro 16G
  • Amazon Linux AMI

必要なソフトインストール

サーバ要件

公式に記載のサーバーソフト構成をインストール
Magento2公式:サーバ要件

Apache 2.4

MySQL 5.6

php5.6 +各種追加モジュール

公式サイトからソース一式ダウンロード

(*)ダウンロードするにはMagentoCominity会員登録(無料)が必要です。
Full Release (ZIP with no sample data)

Full Release with Sample Data (ZIP with sample data)
があるので今回はSampleDataの方を選択します。

https://www.magentocommerce.com/download

2016/01/26時点での最新版
Magento-CE-2.0.1+sample_data-2016-01-20-02-29-18.zip

magento_user の作成

いろいろとコンソールからコマンド操作したりするので、専用のmagento_userを作っておきます。

確認

ソース配置

ダウンロードしたZIPファイルを
/var/www/Magento-CE-2.0.1+sample_data-2016-01-20-02-29-18.zip に配置


/var/www/magento2 ディレクトリに一式展開されます。

Magentoファイル一式パーミッション設定

phpMyAdmin配置

適当にダウンロードして展開

Apache設定

適当に Magento2用のDocumentRootが /var/www/magento2/ phpMyAdmin用のDocumentRootが /var/www/phpMyAdmin となるようにApacheを設定します。

  • 例)port80でMagento2,port10080でphpMyAdminとする場合
    > vi /etc/httpd/conf/httpd.conf
    リッスンポートListen 10080の設定を追加

DocumentRootをMagento2ソースになるように

ポートベースのバーチャルホスト設定。新規作成
vi /etc/httpd/conf.d/phpMyAdmin.conf

my.cnfの設定(ハマりどころ1)

サンプルデータ付きインストーラを走らせると超ロングクエリが発行されるようでエラーになるのでパケットサイズを拡大

vi /etc/my.cnf

php.ini の設定(ハマりどころ2)

サンプルデータ付きインストーラを走らせるとメモリ食います。リミットを拡大

vi /etc/php.ini

SWAPメモリの増設(ハマりどころ3)

ここが特にまったところなんですが、Magento2のインストーラを走らせるのにかなりーバ側のメモリを消費します。
最初はインストーラを走らせると突然断末魔もなくプロセスがお亡くなりになるので、なんだろう思い、/var/log/messages確認したらOOM Killerに勝手に殺されていました。
このOOM KillerはOS側でメモリを極端に消費しているプロセスがあると安全をみて容赦なく殺します。

EC2-microプランの標準のメモリサイズだと1GBで初期はSwapメモリはゼロです。
なのでSwap領域のサイズを増やす
(参考) http://qiita.com/na0AaooQ/items/278a11ed905995bd16af

Swapメモリ512MBx2を増設

確認

swapon -s

grep Swap /proc/meminfo

と表示されればOK。

(参考)Swapメモリの解除

  • スワップファイル(/swapfile1)を無効化

  • スワップファイル(/swapfile2)を無効化

(参考)Swapメモリの永続化

  • reboot時、自動的にスワップファイルを有効化します。
    念のためバックアップ

設定ファイル編集

最終行に

を追記

再起動して、下記コマンドで状況確認しておく。

swapon -s
grep Swap /proc/meminfo

DBインスタンスの作成

Magento2のインストーラで接続DB情報を入力する必要があるので、
phpMyAdminから適当にデータベースを作成しておきます。
照合順序はutf8_general_mysql500_ciを指定。

インストール

いよいよインストーラを走らせます。
途中でDBの接続情報を聞かれるので、localhost,DB名,ユーザ名,接続パスワードを適宜入力します。
ローカルPCからWebページへアクセス

http://(ホスト名orIP)/

magento_inst_top

あとは画面の指示に従えばインストールが完了します。結構またされました10分弱くらいかかりました。

Apacheのモジュール確認(ハマりどころ4)

インストールが正常に終わったのにCSSやHOME以外のページが画面にキチンと表示されない。
その場合 Apacheの mod_rewrite が有効になっているか確認すること。
また、デザインファイルができていない場合(パーミッションのせい?)があるので下記コマンドで対応

この後に再度

http://(ホスト名orIP)/

へアクセスすると無事デモサイトが表示されました。
magento_demo_top

cronの設定

定期タスクを登録しておく。

su – magento_user
crontab -e

参考

公式サイト:Configure and run cron

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

JavaScriptを有効にしてください。
あるいは下記手順で投稿できます。
1.「トークンコード取得」を押すと枠内にトークンコードが表示されます
2.表示されたトークン文字を「投稿確認トークン入力」へ入力します

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">