Nginx
Adobe Commerceは、nginx 1.x (または 最新のメインラインバージョン)をサポートしています。 また、php-fpm
の最新バージョンをインストールする必要があります。
インストール手順は、使用しているオペレーティングシステムによって異なります。 詳しくは、PHP を参照してください。
Ubuntu
次の節では、nginx、PHP、MySQL を使用して、Ubuntu にAdobe Commerce 2.x をインストールする方法について説明します。
nginx のインストール
sudo apt -y install nginx
ソースから nginx を構築することもできます。
以下のセクションを完了し、アプリケーションをインストールしたら、サンプルの設定ファイルを使用して nginx を設定します。
php-fpm のインストールと設定
Adobe Commerceが正しく機能するには、いくつかの PHP 拡張が必要です。 nginx を使用している場合は、これらの拡張機能に加えて、php-fpm
拡張機能もインストールして設定する必要があります。
php-fpm
をインストールして設定するには:
-
php-fpm
とphp-cli
をインストールします。code language-bash apt-get -y install php7.2-fpm php7.2-cli
note note NOTE このコマンドは、利用可能な最新バージョンの PHP 7.2.X をインストールします。サポートされる PHP のバージョンについては、 システム要件を参照してください。 -
エディターで
php.ini
のファイルを開きます。code language-bash vim /etc/php/7.2/fpm/php.ini
code language-bash vim /etc/php/7.2/cli/php.ini
-
次の行に一致するように両方のファイルを編集します。
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE Adobe Commerceをテストする際は、メモリ制限を 2 G に設定することをお勧めします。 詳しくは、 必須の PHP 設定を参照してください。 -
保存して、エディターを終了します。
-
php-fpm
サービスを再起動します。code language-bash systemctl restart php7.2-fpm
MySQL のインストールと設定
詳細は、MySQL を参照してください。
インストールと設定
Adobe Commerceをダウンロードするには、次のようないくつかの方法があります。
この例は、コマンドラインを使用した Composer ベースのインストールを示しています。
-
ファイルシステムの所有者として、アプリケーションサーバーにログインします。
-
Web サーバーの docroot ディレクトリまたは仮想ホストの docroot として設定したディレクトリに移動します。 この例では、Ubuntu のデフォルト
/var/www/html
を使用しています。code language-bash cd /var/www/html
-
Composer をグローバルにインストール Adobe Commerceをインストールする前に、依存関係を更新するために Composer が必要です。
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
Adobe Commerce メタパッケージを使用して Composer プロジェクトを作成します。
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
プロンプトが表示されたら、 認証キーを入力します。 公開鍵 はユーザー名で、秘密鍵 はパスワードです。
-
アプリケーションをインストールする前に、Web サーバーグループの読み取り/書き込み権限を設定します。 これは、コマンドラインがファイルをファイルシステムに書き込めるようにするために必要です。
code language-bash cd /var/www/html/<magento install directory>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :www-data . # Ubuntu
code language-bash chmod u+x bin/magento
-
コマンドラインからをインストールします。 この例では、インストールディレクトリの名前が
magento2ee
で、db-host
が同じマシン(localhost
)上にあり、db-name
、db-user
、db-password
がすべてmagento
であることを前提としています。code language-bash bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --search-engine=elasticsearch7 \ --elasticsearch-host=es-host.example.com \ --elasticsearch-port=9200
-
開発者モードに切り替えます。
code language-bash cd /var/www/html/magento2/bin
code language-bash ./magento deploy:mode:set developer
Nginx の設定
インストール ディレクトリおよび nginx 仮想ホストに用意されている nginx.conf.sample
設定ファイルを使用して、nginx を設定することをお勧めします。
これらの手順は、nginx 仮想ホストの Ubuntu のデフォルトの場所(例:/etc/nginx/sites-available
)と Ubuntu のデフォルトの docroot (例:/var/www/html
)を使用していることを前提としています。ただし、これらの場所は、環境に合わせて変更できます。
-
サイトの新しい仮想ホストを作成します。
code language-bash vim /etc/nginx/sites-available/magento
-
次の設定を追加します。
code language-conf upstream fastcgi_backend { server unix:/run/php/php7.2-fpm.sock; } server { listen 80; server_name www.magento-dev.com; set $MAGE_ROOT /var/www/html/magento2; include /var/www/html/magento2/nginx.conf.sample; }
note note NOTE include
ディレクティブは、インストールディレクトリ内のサンプル nginx 設定ファイルを指している必要があります。 -
www.magento-dev.com
を自分のドメイン名に置き換えます。 これは、Adobe Commerceのインストール時に指定したベース URL と一致する必要があります。 -
保存して、エディターを終了します。
-
/etc/nginx/sites-enabled
ディレクトリに新しい仮想ホストへのシンボリックリンクを作成して、新しく作成した仮想ホストをアクティベートします。code language-bash ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
-
構文が正しいことを確認します。
code language-bash nginx -t
-
nginx を再起動します。
code language-bash systemctl restart nginx
インストールの確認
Web ブラウザーを開き、サイトのベース URL に移動して インストールを確認します。
CentOS 7
次の節では、nginx、PHP、および MySQL を使用して、CentOS 7 にAdobe Commerce 2.x をインストールする方法について説明します。
nginx のインストール
yum -y install epel-release
yum -y install nginx
インストールが完了したら、nginx を起動し、ブート時に起動するように設定します。
systemctl start nginx
systemctl enable nginx
以下のセクションを完了し、アプリケーションをインストールしたら、サンプルの設定ファイルを使用して nginx を設定します。
php-fpm のインストールと設定
Adobe Commerceが正しく機能するには、いくつかの PHP 拡張モジュールが必要です。 nginx を使用している場合は、これらの拡張機能に加えて、php-fpm
拡張機能もインストールして設定する必要があります。
-
php-fpm
のインストール:code language-bash yum -y install php70w-fpm
-
/etc/php.ini
ファイルをエディターで開きます。 -
cgi.fix_pathinfo
行のコメントを解除し、値を0
に変更します。 -
次の行に一致するようにファイルを編集します。
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE Adobe Commerceをテストする際は、メモリ制限を 2 G に設定することをお勧めします。 詳しくは、 必須の PHP 設定を参照してください。 -
セッションパスディレクトリのコメントを解除し、パスを設定します。
code language-conf session.save_path = "/var/lib/php/session"
-
保存して、エディターを終了します。
-
エディターで
/etc/php-fpm.d/www.conf
を開きます。 -
次の行に一致するようにファイルを編集します。
code language-conf user = nginx group = nginx listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660
-
環境の行をコメント解除します。
code language-conf env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
-
保存して、エディターを終了します。
-
PHP セッションパスのディレクトリを作成し、所有者を
apache
のユーザーおよびグループに変更します。code language-bash mkdir -p /var/lib/php/session/
code language-bash chown -R apache:apache /var/lib/php/
-
PHP セッションパスのディレクトリを作成し、所有者を
apache
のユーザーおよびグループに変更します。code language-bash mkdir -p /run/php-fpm/
code language-bash chown -R apache:apache /run/php-fpm/
-
php-fpm
サービスを開始し、起動時に開始するように設定します。code language-bash systemctl start php-fpm
code language-bash systemctl enable php-fpm
-
php-fpm
サービスが実行されていることを確認します。code language-bash netstat -pl | grep php-fpm.sock
MySQL のインストールと設定
詳細は、MySQL を参照してください。
インストールと設定
Adobe Commerceをダウンロードするには、次のようないくつかの方法があります。
この例は、コマンドラインを使用した Composer ベースのインストールを示しています。
-
ファイルシステムの所有者として、アプリケーションサーバーにログインします。
-
Web サーバーの docroot ディレクトリまたは仮想ホストの docroot として設定したディレクトリに移動します。 この例では、Ubuntu のデフォルト
/var/www/html
を使用しています。code language-bash cd /var/www/html
-
Composer をグローバルにインストール Adobe Commerceをインストールする前に、依存関係を更新するために Composer が必要です。
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
Adobe Commerce メタパッケージを使用して Composer プロジェクトを作成します。
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
プロンプトが表示されたら、 認証キーを入力します。 公開鍵 はユーザー名で、秘密鍵 はパスワードです。
-
アプリケーションをインストールする前に、Web サーバーグループの読み取り/書き込み権限を設定します。 これは、コマンドラインがファイルをファイルシステムに書き込めるようにするために必要です。
code language-bash cd /var/www/html/<magento install directory>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :www-data . # Ubuntu
code language-bash chmod u+x bin/magento
-
コマンドラインからをインストールします。 この例では、インストールディレクトリの名前が
magento2ee
で、db-host
が同じマシン(localhost
)上にあり、db-name
、db-user
、db-password
がすべてmagento
であることを前提としています。code language-bash bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1
-
開発者モードに切り替えます。
code language-bash cd /var/www/html/magento2/bin
code language-bash ./magento deploy:mode:set developer
Nginx の設定
インストール ディレクトリおよび nginx 仮想ホストに用意されている nginx.conf.sample
設定ファイルを使用して、nginx を設定することをお勧めします。
これらの手順は、nginx 仮想ホストの CentOS のデフォルトの場所(例:/etc/nginx/conf.d
)とデフォルトの docroot (例:/usr/share/nginx/html
)を使用していることを前提としています。ただし、これらの場所は、環境に合わせて変更できます。
-
サイトの新しい仮想ホストを作成します。
code language-bash vim /etc/nginx/conf.d/magento.conf
-
次の設定を追加します。
code language-conf upstream fastcgi_backend { server unix:/run/php-fpm/php-fpm.sock; } server { listen 80; server_name www.magento-dev.com; set $MAGE_ROOT /usr/share/nginx/html/magento2; include /usr/share/nginx/html/magento2/nginx.conf.sample; }
note note NOTE include
ディレクティブは、インストールディレクトリ内のサンプル nginx 設定ファイルを指している必要があります。 -
www.magento-dev.com
を自分のドメイン名に置き換えます。 -
保存して、エディターを終了します。
-
構文が正しいことを確認します。
code language-bash nginx -t
-
nginx を再起動します。
code language-bash systemctl restart nginx
SELinux と Firewalld の設定
CentOS 7 では、SELinux がデフォルトで有効になっています。 次のコマンドを使用して、実行中かどうかを確認します。
sestatus
SELinux と firewalld を設定するには:
-
SELinux 管理ツールをインストールします。
code language-bash yum -y install policycoreutils-python
-
次のコマンドを実行して、インストールディレクトリのセキュリティコンテキストを変更します。
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
code language-bash restorecon -Rv '/usr/share/nginx/html/magento2/'
-
firewalld パッケージのインストール:
code language-bash yum -y install firewalld
-
ファイアウォールサービスを起動し、起動時に起動するように設定します。
code language-bash systemctl start firewalld
code language-bash systemctl enable firewalld
-
次のコマンドを実行して HTTP および HTTPS のポートを開くと、web ブラウザーからベース URL にアクセスできます。
code language-bash firewall-cmd --permanent --add-service=http
code language-bash firewall-cmd --permanent --add-service=https
code language-bash firewall-cmd --reload