アンドロイド

ubuntu 18.04にmagento 2をインストールする方法

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

目次:

Anonim

Magentoは、強力な機能と柔軟性と使いやすいインターフェイスを組み合わせたオープンソーステクノロジーに基づいたエンタープライズクラスのeコマースプラットフォームです。

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

このチュートリアルでは、Ubuntu 18.04マシンにMagento 2.3をインストールする方法を示します。 NginxをWebサーバーとして使用し、最新のPHP 7.2とMySQL / MariaDBをデータベースサーバーとして使用します。

前提条件

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

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

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

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

sudo apt update && sudo apt upgrade sudo apt install unzip

MySQLデータベースの作成

サーバーにMySQLまたはMariaDBがインストールされている場合は、この手順をスキップできます。そうでない場合は、次のように入力して、UbuntuのデフォルトリポジトリからMySQL 5.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-data sudo chmod 750 /opt/magento

PHPのインストールと構成

Ubuntu 18.04のデフォルトのPHPバージョンであるPHP 7.2は、Magento 2.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

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

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo 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

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コンポーネントをインストールします。

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

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

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 ファイルに保存するように 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 ? Y

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

Writing lock file Generating autoload files

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

以下のオプションを使用して、Magentoストアをインストールします。

  • ベースおよびベースセキュアURLは https://example.com に設定され、domain.Magento管理者で変更します。
    • 姓と名としての John Doe [email protected] をメールとして。 ユーザー名として john 、パスワードとして j0hnP4ssvv0rD
    データベース名 magento 、ユーザー名 magento 、パスワード change-with-strong-password 、およびデータベースサーバーはWebサーバーと同じホスト上にあります。 en_US 、デフォルト言語としての米国英語。 デフォルト通貨としての米ドル。 タイムゾーンとしての 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を含むメッセージが表示されます。

: Magento installation complete.: 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の構成

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

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 Admin URIにアクセスし、adminユーザーとしてログインして、新しいMagentoインストールのカスタマイズを開始できます。

結論

おめでとうございます。Magento2.3がUbuntu 18.04サーバーに正常にインストールされました。 これで、ストアのカスタマイズを開始できます。

Magento 2.3開発者向けドキュメントは、Magentoのインストールを管理する方法について詳しく知るための出発点として適しています。

ubuntu magento mysql mariadb php nginx composer ecommerce