Magento インストール · 2 min read · Oct 14, 2025

Ubuntu 18.04にNginxとLetsencryptでMagento 2をインストールする方法

Magentoは、PHP Zendフレームワークに基づくeコマースウェブサイト用の広く使用されているオープンソースのeコマースソフトウェアおよびコンテンツ管理システムです。MySQLまたはMariaDBをデータベースバックエンドとして使用します。Magentoの開発は2008年にVarienによって開始されました。

このチュートリアルでは、Nginx、PHP 7.1 FPM、およびMySQLをデータベースとして使用してMagento 2をインストールする方法を示します。サーバーオペレーティングシステムとしてUbuntu 18.04(Bionic Beaver)を使用します。まだ最小限のサーバーセットアップがない場合は、適切なベースセットアップを取得するためにこのチュートリアルを参照してください。

前提条件

  • Ubuntu 18.04
  • 2GB以上のRAMメモリ
  • ルート権限

何をするか

  1. Ubuntu 18.04にNginxをインストールする
  2. PHP-FPM 7.1をインストールおよび構成する
  3. MySQLサーバーをインストールおよび構成する
  4. Magento 2をインストールおよび構成する
    1. PHP Composerをインストールする
    2. Magento 2をダウンロードする
    3. Magentoコンポーネントをインストールする
    4. SSL Letsencryptを生成する
    5. Magento用のNginx仮想ホストを構成する
    6. Magentoのインストール後の設定
  5. テスト

ステップ1 - Ubuntu 18.04 LTSにNginxをインストールする

このチュートリアルでは、MagentoのインストールにNginxウェブサーバーを使用します。

サーバーにログインし、リポジトリを更新し、すべてのパッケージをアップグレードします。

sudo apt update  
sudo apt upgrade

次に、以下のaptコマンドを使用してNginxウェブサーバーをインストールします。

sudo apt install nginx -y

インストールが完了したら、Nginxサービスを開始し、システム起動時に毎回起動するように有効にします。

systemctl start nginx  
systemctl enable nginx

Nginxウェブサーバーがインストールされました。netstatコマンドを使用して確認し、HTTPポート80が「LISTEN」状態であることを確認します。別の方法は、以下のcurlコマンドを使用することです。

netstat -plntu  
curl -I localhost

Nginxウェブサーバーのインストール

ステップ2 - PHP-FPM 7.1をインストールおよび構成する

Nginxウェブサーバーのインストール後、MagentoはPHP 7.2をサポートしていないため、サーバーにPHP 7.1をインストールします。Magento 2に必要なすべての拡張機能を持つPHP-FPMをインストールします。

Magento 2のインストールに必要なPHP拡張機能のリスト:

  • bc-math
  • ctype
  • curl
  • dom
  • gd、ImageMagick 6.3.7(またはそれ以降)または両方
  • intl
  • mbstring
  • mcrypt
  • hash
  • openssl
  • PDO/MySQL
  • SimpleXML
  • soap
  • spl
  • libxml
  • xsl
  • zip
  • json
  • iconv

このガイドでは、PPAリポジトリからPHP-FPMパッケージをインストールします。’ondrej/php’リポジトリを使用します。

‘software-properties-common’パッケージをインストールし、以下のコマンドを使用して’ondrej/php’リポジトリを追加します。

sudo apt install software-properties-common -y  
sudo add-apt-repository ppa:ondrej/php -y

PHP 7.1のインストール

次に、必要なすべての拡張機能を持つPHP-FPM 7.1をインストールします。

sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -y

インストールが完了したら、PHPコマンドを使用してPHPのバージョンとインストールされた拡張機能を確認します。

php -v  
php -me

PHPインストールの確認

次に、PHP-FPMおよびPHP-CLIのためにphp.iniファイルを構成します。

vimを使用してphp.iniファイルを編集します。

vim /etc/php/7.1/fpm/php.ini  
vim /etc/php/7.1/cli/php.ini

以下のようにこれらの行の値を変更します。

memory_limit = 512M
max_execution_time = 180
zlib.output_compression = On

保存して終了します。

次に、PHP-fpmサービスを再起動し、システム起動時に毎回起動するように有効にします。

systemctl restart php7.1-fpm  
systemctl enable php7.1-fpm

PHP-FPM 7.1のインストールと構成が完了しました。netstatコマンドを使用してサービスを確認します。

netstat -pl | grep php

以下のようにPHP-fpmソックスファイルが表示されます。

PHP-FPMソケットの確認

ステップ3 - MySQLサーバーをインストールおよび構成する

MagentoソフトウェアはMySQL 5.6.xを必要とし、Magento 2.1.2以降はMySQL 5.7.xを必要とします。このチュートリアルでは、Ubuntu 18.04システムに最新のMySQLサーバー5.8をインストールします。

以下のaptコマンドを使用してMySQL 5.8をインストールします。

sudo apt install mysql-server mysql-client -y

インストールが完了したら、MySQLサービスを開始し、システム起動時に毎回起動するように有効にします。

systemctl start mysql  
systemctl enable mysql

次に、’mysql_secure_installation’コマンドを使用してMySQLのルートパスワードを構成します。

mysql_secure_installation

このMySQL 5.8バージョンでは、MySQLパスワードポリシーのセキュリティが向上しています。パスワードポリシーを選択する必要があります - 0はLOWポリシー、1はMEDIUMポリシー、2はSTRONGパスワードポリシーです。

このガイドでは’MEDIUM’パスワードポリシーを使用し、プロダクションサーバーでは’STRONG’パスワードポリシーを使用することをお勧めします。

番号「1」を選択してEnterを押し、新しいMySQL ‘root’パスワードを入力します。

MySQLインストールのセキュリティ

匿名ユーザーを削除しますか?(はいの場合はy|Yを押し、いいえの場合は他のキーを押してください):Y  
リモートでのルートログインを禁止しますか?(はいの場合はy|Yを押し、いいえの場合は他のキーを押してください):Y  
テストデータベースとそのアクセスを削除しますか?(はいの場合はy|Yを押し、いいえの場合は他のキーを押してください):Y  
特権テーブルを再読み込みしますか?(はいの場合はy|Yを押し、いいえの場合は他のキーを押してください):Y

MySQLのルートパスワードが設定されました。

次に、Magentoインストール用の新しいデータベースを作成します。’magentodb’という名前の新しいデータベースを作成し、ユーザー’magentouser’とパスワード’Magento0463@#’を設定します。

ルートユーザーを使用してMySQLシェルにログインします。

mysql -u root -p

次に、以下のMySQLクエリを実行してデータベースとユーザーを作成します。

create database magentodb;  
create user magentouser@localhost identified by 'Magento0463@#';  
grant all privileges on magentodb.* to magentouser@localhost identified by 'Magento0463@#';  
flush privileges;

MagentoインストールのためのMySQLサーバーのインストールと構成が完了しました。

Magento用のMySQLデータベースとユーザーの作成

ステップ4 - Magento 2をインストールおよび構成する

このステップでは、GithubリポジトリからMagento 2.2.4の最新バージョンをインストールします。MagentoコンポーネントをインストールするためにPHP Composerをインストールし、GithubリポジトリからMagentoをダウンロードし、Magento用のNginx仮想ホストを構成し、ウェブベースのインストール後の設定を使用してMagentoをインストールします。

- PHP Composerをインストールする

以下のaptコマンドを使用してUbuntu 18.04にPHP Composerをインストールします。

sudo apt install composer -y

インストールが完了したら、システムにインストールされたComposerのバージョンを確認します。

composer -V

最新バージョンのPHP Composerがインストールされました。

- Magento 2をダウンロードする

‘/var/www’ディレクトリに移動し、wgetコマンドを使用してGithubからMagentoアーカイブソースコードをダウンロードします。

cd /var/www/  
wget https://github.com/magento/magento2/archive/2.2.4.tar.gz

次に、Magentoアーカイブファイルを抽出し、ディレクトリ名を’magento2’に変更します。

tar -xf 2.2.4.tar.gz  
mv magento2-2.2.4/ magento2/

Magentoのソースコードがダウンロードされ、’/var/www/magento2’ディレクトリがMagentoサイトのウェブルートになります。

- Magentoコンポーネントをインストールする

PHP Composerを使用してMagentoコンポーネントをインストールします。’magento2’ディレクトリに移動し、’composer’コマンドを使用してMagentoに必要なすべてのPHPコンポーネントをインストールします。

cd /var/www/magento2  
composer install -v

インストールが完了すると、以下のような結果が得られます。

- SSL Letsencryptを生成する

LetsencryptからのSSLを使用してMagentoインストールを保護します。以下のaptコマンドを使用してLetsencryptをインストールします。

sudo apt install letsencrypt -y

インストールが完了したら、nginxサービスを停止します。

systemctl stop nginx

次に、certbotコマンドを使用してドメイン名のSSL証明書を生成します。

certbot certonly --standalone -d magento.hakase-labs.pw

メールアドレスを入力し、LetsencryptのTOSに同意し、メール共有には’N’を入力します。

Let's encrypt SSL証明書の有効化

完了すると、以下のような結果が得られます。

SSL証明書が正常に発行されました

Letsencrypt SSL証明書ファイルは’/etc/letsencrypt/live’ディレクトリに生成されました。

- Nginx仮想ホストを構成する

‘/etc/nginx/sites-available’ディレクトリに移動し、vimを使用して新しい仮想ホストファイル’magento’を作成します。

cd /etc/nginx/sites-available/  
vim magento

以下の構成をそこに貼り付けます。

upstream fastcgi_backend {
        server  unix:/run/php/php7.1-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.pw;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl;
        server_name magento.hakase-labs.pw;

        ssl on;
        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

構成を保存して終了します。

次に、Magento仮想ホストファイルのシンボリックリンクを’sites-enabled’ディレクトリに作成して仮想ホストを有効にします。

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/

nginx構成ファイルをテストし、エラーがないことを確認します。

ginx -t

次に、PHP-FPMとNginxサービスを再起動します。

systemctl restart php7.1-fpm  
systemctl restart nginx

Magentoウェブルートディレクトリの所有者を’www-data’ユーザーおよびグループに変更します。

chown -R www-data:www-data /var/www/magento2/

Magentoのためのnginx仮想ホストが追加されました。

- Magentoのインストール後の設定

ウェブブラウザを開き、MagentoのURLを入力します。私のは:

https://magento.hakase-labs.pw/

「利用規約」に対して、「Magentoを同意して設定」ボタンをクリックします。

Magentoウェブインストーラー

次に、Magentoの「Readlines Check」のためにすべてのシステムおよびサーバー構成を確認し、すべてのシステムおよび構成チェックが「合格」することを確認します。

前提条件の確認

次のボタンをクリックします。

Magentoのデータベース構成 - すべてのデータベース情報を入力し、次のボタンをクリックします。

データベース構成

ウェブ構成では、「ストアアドレス」をHTTPSに変更し、「Magento管理アドレス」を管理パスURLに変更し、「Apache Rewrites」のチェックを外します。なぜなら、Nginxウェブサーバーを使用しているからです。

ウェブ構成

再度「次へ」ボタンをクリックします。

「ストアをカスタマイズ」をデフォルトのままにして「次へ」をクリックします。

Magentoストアのカスタマイズ

管理ユーザー名とパスワードを入力し、「次へ」をクリックします。

管理アカウントの設定

「今すぐインストール」ボタンをクリックしてMagentoをインストールします。

Magentoインストールの開始

インストールが完了すると、以下のような「成功」結果が得られます。

Magentoインストール成功

次に、’/var/www/magento2/app/etc’ディレクトリの書き込みアクセスを無効にする必要があります。以下のコマンドを実行します。

sudo chmod -w /var/www/magento2/app/etc

MagentoはUbuntu 18.04 Bionic Beaverサーバーにインストールされました。

ステップ5 - テスト

MagentoのURLホームアドレスを入力し、Magentoのデフォルトのホームページが表示されることを確認します。私のは: https://magento.hakase-labs.pw/

Magentoホームページ

次に、インストール中に定義されたURL ‘admin_hakase’にアクセスしてMagento管理ダッシュボードにログインします。私のは:

https://magento.hakase-labs.pw/admin_hakase/

Magentoバックエンドログイン

ユーザー名とパスワードを入力し、「サインイン」ボタンをクリックします。

そして、以下のようにMagento管理ダッシュボードが表示されます。

Magentoダッシュボード

Magento 2は、Nginxウェブサーバー、MySQLデータベース、およびPHP-FPM 7.1を使用してUbuntu 18.04にインストールされました。

追加:

Magentoインデクサーのcronjobが欠落しているというエラーが表示された場合は、以下のコマンドを使用してcrontabスクリプトを生成することで解決できます。

cd /var/www/magento2  
sudo -u www-data php bin/magento cron:install --force

次に、’www-data’ユーザーのcrontabスクリプトのリストを確認します。

crontab -u www-data -l

Magentoインデクサーcronjobの設定

参考

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。