GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04にMagento2をインストールする方法

強力な機能と柔軟性およびユーザーフレンドリーなインターフェースを組み合わせたオープンソーステクノロジーに基づいて構築された、Magentoisをリードするエンタープライズクラスのeコマースプラットフォーム。

魅力的なショッピング体験、柔軟なモジュラーアーキテクチャ、エンタープライズグレードのスケーラビリティとパフォーマンスなどの機能を備えたMagentoは、ほとんどのオンラインマーチャントに最適なプラットフォームです。

このチュートリアルでは、Ubuntu18.04マシンにMagento2.3をインストールする方法を示します。 NginxをWebサーバーとして使用し、最新のPHP7.2とMySQL/MariaDBをデータベースサーバーとして使用します。

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • パブリックサーバーのIPを指すドメイン名を使用します。 example.comを使用します 。
  • Nginxは、次の手順に従ってUbuntuサーバーにインストールされます。
  • ユーザーの情報を暗号化するためにドメインにインストールされたSSL証明書。次の手順に従って、無料のLet’sEncryptSSL証明書をインストールできます。

Magento 2コードリポジトリにアクセスできるようにするには、認証キーを生成する必要があります。 Magento Marketplaceアカウントをお持ちでない場合は、ここで作成できます。アカウントを作成したら、新しい認証キーのセットを生成する方法について、これらの手順を確認してください。

システムパッケージを最新バージョンに更新し、解凍ユーティリティをインストールします。

sudo apt update && sudo apt upgradesudo apt install unzip
MySQLデータベースの作成#

サーバーにMySQLまたはMariaDBがインストールされている場合は、この手順をスキップできます。インストールされていない場合は、次のように入力して、UbuntuのデフォルトリポジトリからMySQL5.7サーバーパッケージをインストールできます。

sudo apt install mysql-server mysql-client
MySQLを新しくインストールする場合は、mysql_secure_installationを実行することをお勧めします。 MySQLサーバーのセキュリティを向上させるコマンド。

次のコマンドを使用してMySQLシェルにログインします。

sudo mysql

MySQLシェル内から、次のSQLステートメントを実行して、magentoという名前の新しいデータベースを作成します。 :

CREATE DATABASE magento;

次に、magentoという名前のMySQLユーザーアカウントを作成します 次のコマンドを実行して、ユーザーに必要な権限を付与します。

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
必ずchange-with-strong-passwordを変更してください 強力なパスワードを使用します。

完了したら、次のように入力してMySQLコンソールを終了します。

EXIT;
システムユーザー番号の作成

新しいユーザーとグループを作成します。これはMagentoファイルシステムの所有者になります。簡単にするために、ユーザーにmagentoという名前を付けます。 :

sudo useradd -m -U -r -d /opt/magento magento

www-dataを追加します magentoへのユーザー グループ化して/opt/magentoを変更します NginxがMagentoインストールにアクセスできるようにするためのディレクトリ権限:

sudo usermod -a -G magento www-datasudo chmod 750 /opt/magento

PHPのインストールと構成#

Ubuntu18.04のデフォルトのPHPバージョンであるPHP7.2は完全にサポートされており、Magento2.3で推奨されています。 NginxをWebサーバーとして使用するため、PHP-FPMパッケージもインストールします。

次のコマンドを実行して、PHPと必要なすべてのPHPモジュールをインストールします。

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

PHP-FPMサービスは、インストールプロセスが完了すると自動的に開始されます。サービスのステータスを印刷することで確認できます:

sudo systemctl status php7.2-fpm

出力は、fpmサービスがアクティブで実行中であることを示しているはずです。

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 16814 (php-fpm7.2)
   Status: "Ready to handle connections"
    Tasks: 3 (limit: 505)
   CGroup: /system.slice/php7.2-fpm.service

php.iniを編集して、必須および推奨のPHPオプションを設定します sedのファイル ::

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

次に、magentoのFPMプールを作成する必要があります ユーザー。

テキストエディタを開き、次のファイルを作成します。

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
/etc/php/7.2/fpm/pool.d/magento.conf
[magento]
user = magento
group = www-data
listen.owner = magento
listen.group = www-data
listen = /var/run/php/php7.2-fpm-magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

変更を有効にするには、PHP-FPMサービスを再起動します。

systemctl restart php7.2-fpm

次のlsコマンドを実行して、PHPソケットが正常に作成されたかどうかを確認します。

ls -al /var/run/php/php7.2-fpm-magento.sock

出力は次のようになります。

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=
Composerのインストール#

ComposerはPHPの依存関係マネージャーであり、これを使用してMagentoコアをダウンロードし、必要なすべてのMagentoコンポーネントをインストールします。

composergloballyをインストールするには、curlandを使用してComposerインストーラーをダウンロードし、ファイルを/usr/local/binに移動します。 ディレクトリ:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

コンポーザーのバージョンを印刷して、インストールを確認します。

composer --version

出力は次のようになります。

Composer version 1.8.0 2018-12-03 10:31:16

Magentoのインストール#

Magento 2をインストールする方法はいくつかあります。GithubリポジトリからMagentoをインストールすることは避けてください。そのバージョンは開発用であり、本番インストール用ではないためです。

この記事を書いている時点で、Magentoの最新の安定バージョンはバージョン2.3.0です。 。このチュートリアルでは、composerを使用してリポジトリからMagentoをインストールします。

ユーザーmagentoに切り替えます 次のように入力します:

sudo su - magento

magentoファイルを/opt/ magento/public_htmlディレクトリにダウンロードしてインストールを開始します。

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

アクセスキーを入力し、Magentoマーケットプレイスアカウントからキーをコピーして、auth.jsonに保存するように求められます。 ファイルなので、後でインストールを更新するときに、同じキーを再度追加する必要はありません。

    Authentication required (repo.magento.com):
      Username: e758ec1745d190320ca246e4e832e12c
      Password: 
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn] Y

上記のコマンドは、必要なすべてのPHPパッケージをフェッチします。このプロセスには数分かかる場合があり、成功した場合、出力の終わりは次のようになります。

Writing lock file
Generating autoload files

プロジェクトが作成されたら、Magentoのインストールを開始できます。 Magentoは、コマンドラインから、またはWebセットアップウィザードを使用してインストールできます。このチュートリアルでは、コマンドラインを使用してMagentoをインストールします。

Magentoストアをインストールするには、次のオプションを使用します。

  • ベースおよびベースセキュアURLはhttps://example.comに設定されます 、ドメインに合わせて変更してください。
  • Magento管理者:
    • John Doe 姓名として。
    • [email protected] メールとして。
    • john ユーザー名およびj0hnP4ssvv0rDとして パスワードとして。
  • データベース名magento 、ユーザー名magento 、パスワードchange-with-strong-password データベースサーバーはWebサーバーと同じホスト上にあります。
  • en_US 、デフォルト言語としての米国英語。
  • USD デフォルト通貨としてのドル。
  • America/Chicago タイムゾーンとして。
ここにすべてのインストールオプションがあります。

Magentoの~/public_htmlに変更します ディレクトリ:

cd ~/public_html

次のコマンドを実行して、インストールを開始します。

php bin/magento setup:install --base-url=https://example.com/ \
        --base-url-secure=https://example.com/ \
        --admin-firstname="John" \
        --admin-lastname="Doe" \
        --admin-email="[email protected]" \
        --admin-user="john" \
        --admin-password="j0hnP4ssvv0rD" \
        --db-name="magento" \
        --db-host="localhost" \
        --db-user="magento" \
        --currency=USD \
        --timezone=America/Chicago \
        --use-rewrites=1 \
        --db-password="change-with-strong-password"
パスワードを変更することを忘れないでください(j0hnP4ssvv0rD )より安全なものに。

このプロセスには数分かかる場合があり、完了すると、Magento管理ダッシュボードへのURIを含むメッセージが表示されます。

[Progress: 773 / 773]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_13nv5k
Nothing to import.

Magento crontabの作成#

Magentoはcronジョブを使用して、インデックスの再作成、通知、サイトマップ、メールなどのタスクをスケジュールします。

Magento crontabを作成するには、次のコマンドをmagentoとして実行します。 ユーザー:

php ~/public_html/bin/magento cron:install
Crontab has been generated and saved

次のように入力して、crontabがインストールされていることを確認します。

crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d

Nginxの構成#

このチュートリアルの前提条件を確認しない場合は、これまでに、SSL証明書を使用したNginxがUbuntuサーバーにインストールされているはずです。

Magentoに同梱されているデフォルトのNginx構成を含める予定です。

sudoユーザーに切り替え、テキストエディターを開いて、次のファイルを作成します。

sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
upstream fastcgi_backend {
  server   unix:/var/run/php/php7.2-fpm-magento.sock;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /opt/magento/public_html/nginx.conf.sample;
}
example.comをMagentoドメインに置き換え、SSL証明書ファイルへの正しいパスを設定することを忘れないでください。この構成で使用されるスニペットは、このガイドで作成されます。

Nginxサービスを再起動する前に、構文エラーがないことを確認するためのテストを行います。

sudo nginx -t

エラーがない場合、出力は次のようになります。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、次のように入力してNginxサービスを再起動します。

sudo systemctl restart nginx
インストールの確認#

ブラウザを開き、ドメインを入力すると、インストールが成功したと仮定して、次のような画面が表示されます。

これで、Magento管理URIに移動し、管理ユーザーとしてログインして、新しいMagentoインストールのカスタマイズを開始できます。


Ubuntu
  1. Ubuntu16.04にMagento2をインストールする方法

  2. Ubuntu14.04にPHP7をインストールする方法

  3. Ubuntu15.04にPHP7をインストールする方法

  1. Ubuntu20.04にRをインストールする方法

  2. Ubuntu 18.04 /Ubuntu16.04にPHP7.4/ 7.3/7.2をインストールする方法

  3. Ubuntu18.04にMagentoをインストールする方法

  1. Ubuntu18.04にGoをインストールする方法

  2. Ubuntu16.04にNginxを使用してMagentoをインストールする方法

  3. Ubuntu20.04にJoomla3.9をインストールする方法