Magentoをインストールしてみよう

前回はMagentoの概要を軽くご説明しました。
これからMagentoの色々な機能やカスタマイズ方法などをご紹介していきたいと思います。
手始めに今回はMagentoをインストールする方法をご紹介しましょう。

初めてMagentoを触る方の多くが、このインストールで躓かれるようです。
以前から弊社サイトのブログ記事で何回か以下のように取り上げて来たのですが、今回は「さくらのクラウド」でセットアップする方法をご紹介しましょう。

その前に、Magentoの動作環境やインストールを成功させるコツをご紹介したいと思います。

Magentoが要求する動作環境とは

Magentoをインストール・動作させるためには、以下の要件を満たす必要があります。(2017年3月現在のMagento2.1.5を基準にしています)

  • 64ビットLinux
  • PHP 5.6/7
  • Apache 2.2/2.4 または Nginx 1.8以降
  • MySQL 5.6/5.7
    ※5.7.xはMagento2.1.2以降でサポート

以下のPHPエクステンションがインストールされていること

  • curl
  • gd または ImageMagick 6.3.7以降
  • intl
  • mbstring
  • mcrypt
  • mhash
  • openssl
  • PDO/MySQL
  • SimpleXML
  • soap
  • xml
  • xsl
  • zip
  • json
  • iconv

最近のLinuxディストリビューションであれば、これらの要件を満たすことは比較的容易ではないでしょうか。
Magento1系の初期は、RedHat Enterprise LinuxやCentOSを含む派生ディストリビューション(以下、RedHat系)の標準バージョンがPHP5.1.6だったため非常に苦労しました。

インストールを成功させる秘訣

その1・Ubuntu Linuxを使う

Magentoを特に日本語環境で動作させたい場合、環境依存による問題が存在します。
特定のPHPバージョンとLinuxディストリビューションの組み合わせで動作の可・不可があり、RedHat系では下表のように期待通りに動作しない状況になっています。

OSバージョン 6.x 7.x
PHPバージョンと
リポジトリ
5.6 Remi Remi
IUS IUS
epel - epel -
7.0 Remi Remi
IUS IUS
epel epel

Ubuntu Linuxの場合はこのような現象は発生しません。
(DebianやGentooなどは試していません)

なぜ、RedHat系でうまく動かないのか?

昨年、弊社サイトで下記の2件の記事を公開しました。

 

詳細は上記2件の記事をお読みいただくとして、この現象はPHPのバージョンと付属するintlエクステンション、それにlibICUによって引き起こされます。

RedHat系で配布されているパッケージを使用して環境を構築すると、インストール後に日本語ロケールを入れる・入れないにかかわらず、管理画面の言語を日本語にした瞬間からアクセスができなくなります。

この問題はMagento側も既に認識はしていますが、根治が難しいのか2017年3月時点でも修正のめどが立っていません。

その2・ファイルアップロードでインストールしない

Magentoは非常に多くのファイルから構成されるアプリケーションです。
Magento公式サイトからアーカイブをダウンロードすると、サンプルデータ付きの場合は400MB以上のファイルサイズとなり、ダウンロードするだけでなくアップロードする場合にも非常に長い時間を必要とします。

特にアーカイブを展開してから1つずつファイルをFTPやSFTPでアップロードする場合には、回線やサーバー性能によっては果てしなく終わらない作業になることがあります。
(実際そういう方の悲痛なTweetを見かけることがしばしばあります)

スムーズにインストールを行うのであれば、Composerを使用したインストールが一番無難でしょう。少しテクニカル的にはなりますが、手順通りやることで確実にインストールできます。

その3・共用レンタルサーバーを使わない

Linuxサーバーの管理に慣れていない方の場合、共用レンタルサーバーなどをお使いになるケースが多いと思います。
それはそれで正しいのですが、共用レンタルサーバーの場合はその特性上、以下のような制限が掛けられていることが多いように思います。

  • プログラムの実行時間制限
  • CPU負荷に対する制限

Magentoは比較的CPU性能を要求するアプリケーションです。
例えば、WordPressが快適に動作する環境がMagentoに対しては全くもって快適ではない、というようなケースがよく見られます。

もちろん、Magentoのホスティングパートナーが提供するようなプランであれば、共用レンタルサーバーのプランでも適切に運用ができますが、多くの共用レンタルサーバーの場合は良好なパフォーマンスを得ることが難しく、正直不向きです。

ちなみに、日本国内にはMagentoのホスティングパートナーが1社もないので、個人的には日本国内の共用レンタルサーバーはMagento用としてはおすすめしていません。
反対に、VPSやクラウドはコストパフォーマンスに優れるサービスが多いので、オススメしています。

その4・誰かが作ってくれた手順を利用する

たとえ慣れていたとしても、サーバーのセットアップは面倒なものです。
できれば特定のアプリケーションを使った環境構築は自動化するか、誰かが作ってくれた手順を利用したいものです。

幸いなことに、「さくらのクラウド」には「スタートアップスクリプト」という機能があります。
初めてサーバーを起動する際に所定の処理を実行できるという機能ですが、今回はこれを使ってみることにします。

スタートアップスクリプトを使ってMagentoをさくらのクラウドにインストールしてみる

では、スタートアップスクリプトを使ってさくらのクラウド上にMagentoをインストールしてみましょう。
始める前に準備しておくものは以下のとおりです。

  • さくらのクラウドのアカウント
  • Magento公式サイトのアカウント
  • Magento Marketplaceのpublic Keyとprivate Key

さくらのクラウド上にインストールをするので、さくらのクラウドのアカウントが必要なのは当然ですが、Magento公式サイトのアカウントやMarketplaceの秘密鍵と公開鍵がなぜ必要なのかご存じない方もおられるでしょう。これにはきちんとした理由があります。

Magentoを使ったサイトを作るにはMarketplaceのキーが必要

Magentoは現在のバージョン2系になるタイミングで、拡張機能(エクステンション)やデザインテーマを販売するサービスとしてMarketplaceを新たに立ち上げました。

Magento1向けにはMagento Connectというサービスが提供されてきましたが、その強化改良版という位置づけです。

Magento Marketplace

Magento Marketplace(https://marketplace.magento.com/

このMarketplaceではエクステンションやテーマの購入ができますすが、購入したものは自分のMagentoの管理画面から簡単にインストールすることができます。その際に必要になるのがMarketplaceのキー(public Keyとprivate Key)なのです。
さらに、Magento自体をアップデートする際にもこのキーは求められるようになっているので、どうせならインストール時点で登録してしまおう、というのがMagento用のスタートアップスクリプトの狙いでもあります。

Magento公式サイトのアカウントを作成しよう

Marketplaceの画面右上に「Sign In」というボタンがあります。
ここをクリックすると、ログイン画面が表示されます。

Magento公式ログイン画面

Magento公式ログイン画面

既にアカウントをお持ちの場合はログインしてください。
まだアカウントをお持ちでない場合は、「Register」をクリックして、登録画面に進んでください。

Magento公式アカウント登録

Magento公式アカウント登録

 

アカウントの作成ができたら、Magento公式サイトにログインしましょう。

Marketplaceのキーを取得するには

Marketplaceのキーを取得するには、Magento公式サイトのマイページにアクセスする必要があります。

Magento 公式マイページ

Magento 公式マイページ

「Marketplace」タブの中にある、「My Access Keys」をクリックすると、キーの管理画面が開きます。

Magento 公式キー管理

Magento 公式キー管理

次に「Magento 2」タブを選んで、「Create A New Access Key」ボタンを押して新しいキーを発行します。

Magento新規キー発行

Magento新規キー発行

発行したキーは必ずメモしておいてください。

スタートアップスクリプトを使ったMagentoインストールの手順

さて、いよいよ本題です。以下の流れに沿ってMagentoをスタートアップスクリプトを使ってインストールしてみます。

  1. サーバースペックを選ぶ
  2. テンプレートでUbuntu Liunux 16.04 LTSを選ぶ
  3. スタートアップスクリプトの一覧からMagentoを選ぶ
  4. 必要な各種情報を入力する
  5. サーバーを起動してしばらく待つ
  6. 設置完了メールが届く
  7. ブラウザでアクセスしてみる

サーバースペックを決めよう

最初に起動したいサーバースペックを選びます。

サーバースペック選択

サーバースペック選択

あまりメモリが少ないと、途中でメモリ不足が起きてしまう恐れがあります。できればCPUコア数が4コア、メモリは8GB以上あるとよいでしょう。

特にMagentoのインストールに使用するComposerがメモリをよく消費します。メモリが多めに必要なのは最初だけなので、Magentoのインストールが終わったらスペックを下げてしまうのも手です。

テンプレートを選ぼう

次にテンプレートから「Ubuntu Linux 16.04 LTS」を選びます。
CentOSやその他のテンプレートではスタートアップスクリプトが動作しないので注意してください。

アーカイブ選択

アーカイブ選択

スタートアップスクリプトを選ぼう

そして、スタートアップスクリプトの一覧からMagentoを選びます。

スタートアップスクリプト選択

スタートアップスクリプト選択

Magento用のスタートアップスクリプトを選ぶと、セットアップに必要な情報の入力を求められます。

スタートアップスクリプトオプション入力

スタートアップスクリプトオプション入力

各項目に値を入力しておきます。

その他の項目はさくらのクラウドでサーバーを起動する際にいつも必要になるものなので、今回は説明を割愛します。

サーバーを起動してしばらく待つ

サーバーが起動してからもスタートアップスクリプトがMagentoのインストールを行っているので、焦らず待ちます。

すべての準備ができると、サーバーから管理者アカウントのメールアドレス宛にURLや管理者アカウントの情報を記載したメールが送信されます。
(迷惑メールフィルタなどで引っかかるおそれがあるので、スパムフォルダも含めてチェックしてください)

メールがとどかない場合は、サーバーにログインするとホームディレクトリにinfo.txtが作成されています。このファイルの中に管理画面のURLや管理者ログイン情報などが記載されています。

ブラウザでアクセスしてみよう

正常にセットアップできていれば、MagentoのTOPページや管理画面にアクセスできます。

Magento TOPページ

Magento TOPページ

Magento 管理画面ログイン

Magento 管理画面ログイン

なお、この段階では日本語ロケールは入っていません。
Marketplaceで配布していますので、Magentoのインストール完了後に必要に応じてインストールしてください。

Magento2 日本語ロケール

サンプルデータをインストールする際の注意

Magentoのサンプルデータは非常にサイズが大きいので、ダウンロードに時間がかかります。
サンプルデータを同時にインストールされる場合は、サーバーを起動してからコーヒー休憩をするくらいの気持ちで気長にお待ち下さい。

スタートアップスクリプトでは何をしているのか?

Magento用のスタートアップスクリプトでは、以下の処理を行っています。

  • LAMPスタックのインストールと諸設定
  • composerのインストールと、Magento Marketplaceのキーの設定
  • composerによるMagentoのベースファイル一式のダウンロード
  • composerによる関連ライブラリのダウンロード
  • コマンドラインによるMagentoのインストール
  • (必要に応じて)Magentoのサンプルデータのインストール

非常に簡単にMagentoをセットアップできるようにしてありますので、ぜひお気軽にお試しください。