バージョンによって差があるため(特にMagento1.xでは全く異なりますし、Magento2.0などはPHP5系でも動作していました。)、まずはサポートが有効なバージョンを利用することを前提に、Magentoの公式ドキュメントで手順を確認してください。
※ 2023年2月時点で最新版のMagento2.4.5-p1のインストール手順を公開しました。
インストール前の準備
動作環境
当記事執筆時点の最新版に当たるMagento2.3の動作環境です。以下の参考URLに加え、当社の経験から得た内容についても補足しています。
参考URL: Magento 2.3 technology stack requirements
- OS
- 64bitのLinux
例: RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, または類似のOS
注意: WindowsとMac OSはサポートしていません - メモリ
- 2GB以上
DBも同一サーバ上で動かすのであれば4GB以上は必要だと思いますが、本番用途であれば8GBは必要になると思います。 - Composer
- Magento本体のコードやエクステンションのコードを入手するために必要です。
- Webサーバ
- Nginx 1.xまたはApache Http Server 2.4
Apacheには”mod_rewrite”と”mod_version”が必要です。
Apacheを使用してサーバ負荷が高くなった場合、システムダウンや運営の費用の増加影響しかねませんので、特別な理由がなければ軽量に動作するNginxを使用してください。 - データベース
- MySQL 5.6または5.7
MySQL NDB Cluster 7.4.*(MySQL Cluster), MariaDB 10.0, 10.1, 10.2, Percona 5.7, またはMySQL互換のソフトウェア(AWSのAuroraやAzure Database for MySQLなど) - PHP
- ~7.1.3、~7.2.0、~7.3.0
- 必要なPHP Extension
-
- ext-bcmath
- ext-ctype
- ext-curl
- ext-dom
- ext-gd
- ext-hash
- ext-iconv
- ext-intl
- ext-mbstring
- ext-openssl
- ext-pdo_mysql
- ext-simplexml
- ext-soap
- ext-spl
- ext-xsl
- ext-zip
- ext-lib-libxml
- PHP OPcache
- 動作速度に大きく影響するため、PHP OPcacheの導入が強く推奨されています。当社でも必ず導入していますし、また実際に遅くて仕方ないという場合はまず導入されているかを確認したい項目です。
- PHPの設定
- 様々な問題をあらかじめ避けるようにmemory_limitは大きく設定することが記載されています。最低1GB必要です。大きいサイズのバッチ処理を行う場合はもっと必要になります。
- SSL
- Paypalと”repo.magento.com”の利用に当たり、TLS1.2以上のバージョンが必要です。
- 必要なOSのコマンド(コンポーネント)
- bash
- gzip
- lsof
- mysql
- mysqldump
- nice
- php
- sed
- tar
STMPサーバ(MTA)PostfixやSendgrid、MandrillなどのSMTP。GmailやOffice365の利用も可能。
Magentoで利用が可能なテクノロジー
以下は本番運用の際に導入しておきたいコンポーネントで、Magento2でも標準的にサポートしています。
- Redis 3.2 ,4.0, 5.0(推奨)- Magento2で標準搭載されたFull Pge Cache(FPC)とセッションの高速ストレージとしての利用が可能です。特にMagentoサーバを複数台用意する場合には、セッションの同期のために必要です。(DBにセッションを格納するよりも高速です。)
- Varnish 4.x, 5.2, 6.2 – リバースプロキシとして動作します。
- Elasticsearch 6.x – 検索フォームの処理が高速化されます。
- RabbitMQ 3.7.x – 非同期のメッセージング処理に利用されます。
以下はMagento Commerce(有料版のMagento)で利用可能です。
- 3masterデータベース – 3題台のデータベースが、決済、注文、その他の処理を分散して実行するスケーラビリティを実現する機能です。
以下は強く推奨されているコンポーネントです。
- php_xdebug 2.5.x以上 – 動作速度に影響するため、開発環境のみで使用します。
- mcrypt – PHP7.2よりも上のバージョンにて使用
- PHPUnit – 6.2.0
Magentoドキュメントルートのファイルシステム
Webサーバを実行しているユーザがアクセス可能なオーナーをMagentoのドキュメントルートに適用して下さい。
- コマンド実行例(Nginxの場合)
-
chmod -R nginx:nginx /var/www/
- コマンド実行例(Apache Http Serverの場合)
-
chmod -R apache:apache /var/www/
または
chmod -R www-data:www-data /var/www/
など
認証鍵の取得
- 1. Magentoのソースコードを入手するには、Magentoのソースコードを入手するには、Magento Marketplaceのアカウントが必要です。Magento Marketplaceを開き、ユーザー登録の上ログインして下さい。
- 2. 右上にある▼マークをクリックし、「My Profile」を開きます。
- 3. 「Access Keys」をクリックします。
- 4. 「Create A New Access Key」のボタンを押すと、「Create new access keys」のウィンドウが立ち上がるので、、鍵に対しての任意の名前を入力し、OKボタンを押してください。
- 5. 「Public Key」と「Private Key」が作成されますので、メモ帳などに控えておきます。こちらはコマンドラインなどからComposerにアクセスする場合に利用されます。
バーチャルホストの設定(Nginxのみ)
Nginx用のconfigファイルがMagentoのパッケージに含まれていますので、こちらをincludeするようにNginxでバーチャルホストの設定を行うと、簡単にバーチャルホストの設定ができます。
- Nginxのバーチャルホストの設定例
-
upstream fastcgi_backend {
server unix:/var/run/php-fpm/php-fpm.sock;
}server {
listen 80;
server_name http://<MagentoのFQDN>;
set $MAGE_ROOT /var/www/<Magentoのインストールディレクトリ>;
set $MAGE_MODE default;
include /var/www/<Magentoのインストールディレクトリ>/nginx.conf.sample; #サンプルのNginx用設定ファイル
}
インストール手順
Magentoのパッケージの取得
- 1. Magento用のサーバにログインし、Magentoのファイルシステムのオーナにスイッチして下さい。
- 2. Magentoのドキュメントルートに移動して下さい。
- 3. Composerプロジェクトを新規作成します。
- Magento Open Source(無償版)の場合
-
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <インストールディレクトリの名前をここに>
- Magento Commece(有償版の場合)
-
composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <インストールディレクトリの名前をここに>
途中で認証鍵(authentication keys)を聞かれますので、Magento Marketplaceから取得したPuclic KeyとPrivate Keyを入力してください。
ファイルパーミッションの設定
cd /var/www/html/<Magentoインストールディレクトリ> find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + chown -R :www-data . # Ubuntuの場合。 Apache Http Serverの場合は"chown -R :apache ." など chmod u+x bin/magento
インストールウィザードの実行
ブラウザより以下のURLにアクセスすると、Magentoのセットアップウィザードが表示されます。
http://<サーバのホスト名またはIPアドレス>/<Magentoのルートディレクトリ>/setup
それではウィザードに従ってセットアップを進めていきましょう。
- 1. 最初の画面でPHPのバージョンやエクステンション、ファイルのパーミッションをチェックします。問題がある場合はエラーメッセージが表示されますので、その内容に従い環境を見直してください。
すべてのチェックをパスすると以下の画面が出ますので「Next」のボタンを押します。
- 2. データベースの接続設定を行います。
- Database Server Host
- データベースサーバのIPアドレスかホスト名を入力してください。
- Database Server Username
- データベースサーバにアクセスするユーザー名を入力してください。
- Database Server Password
- データベースユーザーのパスワードを入力してください。
- Database Name
- 予め用意したデータベース名を入力してください。
- Table prefix
- 任意で、データベース内に作成するテーブル名にプレフィックスを追加する場合、そのプレフィックスとして使用する値を入力してください。
すべて入力が終わったら、「Next」ボタンを押します。
- 3.Webサイトの基本情報を設定します。
- Your Store Address
- WebサイトのURLを入力してください。
- Magento Admin Address
- Magentoの管理画面のURLを指定します。わかりにくい名称であることが攻撃防御に繋がります。
- Http Options
- フロントエンドでHTTPSを使用する場合は「Use Https for Magento Storefront」にチェックを入れます。
管理画面でHTTPSを使用する場合は「Use Https for Magento Admin」にチェックを入れます。 - Encryption Key
- セッションとCookie間での暗号化キーです。自動で作成したキーを使用する場合は「I want to use a Magento generated Key」を選択し、自身で作成したキーを設定する場合は、「I want to use my own encryption key」を選び値を入力してください。セッションハイジャックから防御するためには、自動化、複雑なキーを設定する必要があります。
- Session Save
- 「File」、「Database」が選べます。検証環境や開発環境では「Files」でも構わないと思いますが、特に多重化されたMagentoサーバを用意するような環境では、セッションをMagentoサーバ間で共有する必要があるため、「Database」を選択します。
すべて設定したら「Next」ボタンを押してください。
- 4. 標準となるタイムゾーンや通貨、言語を設定します。あくまで標準ですので、あとから変えることも可能ですし、また標準以外で表示する言語や通貨なども後から追加可能です。日本語ロケール等英語以外の言語を追加していない場合は、標準のEnglish(USA)のままで構いません。
- 5.管理者アカウントの設定を入力します。管理者も後からの追加が可能です。最初に作成するアカウントは特権ユーザですので、すべての機能に対しアクセスする権限があります。
「Advanced Module Configurations」の設定は、サーバ1第にすべてのMagentoの機能をもたせて動作させる場合は、「Select All」にチェックが入った状態で「Next」ボタンを押してください。
- New User Name
- 管理者のユーザー名を入力してください。
- New Email
- 管理者のメールアドレスを入力してください。
- New Password
- 管理者のパスワードを入力してください。
- Confirm Password
- 確認用に管理者のパスワードを再度入力してください。
- 6. 「Install Now」ボタンを押すと、インストール処理が実行されます。データベースの中にテーブルが作成され、また必要なマスターデータなども格納されていきます。
- 7. インストールの処理が完了すると、「Success」の文字が表示され、インストールの完了を確認できます。
「Your Store Address:」のURLをクリックするとフロントエンドの画面が表示されます。
「Magento Admin Address:」のURLをクリックすると管理画面へのログイン画面が表示されます。 - 8. インストールが完了です。
インストールの手順としてはここまでになりますので、管理画面にログインし、ストア名や決済の設定、配送の設定、商品登録などを行っていくことで、新しいオンラインストアをオープンできます。