Magentoは、強力な機能と柔軟性およびユーザーフレンドリーなインターフェースを組み合わせたオープンソーステクノロジーに基づいて構築された、主要なエンタープライズクラスのeコマースプラットフォームです。
魅力的なショッピング体験、柔軟なモジュラーアーキテクチャ、エンタープライズグレードのスケーラビリティとパフォーマンスなどの機能を備えたMagentoは、ほとんどのオンラインマーチャントに最適なプラットフォームです。
これは、CentOS7にMagento2をインストールして構成する方法シリーズの最初の投稿です。このチュートリアルでは、CentOS7マシンにMagento2をインストールする手順を説明します。
前提条件#
このチュートリアルに従うための前提条件として、次のものが必要になります。
- CentOS 7サーバー、公式のMagento 2システム要件によると、少なくとも2GのRAMが必要です。 RAMが2GB未満のサーバーを使用している場合は、スワップファイルを作成する必要があります。
- sudo権限を持つユーザーアカウントとしてログインしました。
- パブリックサーバーのIPを指すドメイン名。このチュートリアルでは、
example.com
を使用します 。 - Nginx、MySQL、およびPHP7.1をインストールして構成しました。まだ読んでいない場合は、LEMP onCentOS7ガイドを参照してください。
- 有効なSSL証明書。持っていない場合は、CentOS7でLet’sEncryptを使用してSecureNginxを実行することで、無料のLets’sEncryptSSL証明書を作成できます。
Magentoアクセスキーペア#
Magento2コードリポジトリとサードパーティの拡張機能およびテーマへのアクセスを認証するためのアクセスキーを生成する必要があります。
Magento Marketplaceアカウントをお持ちでない場合は、ここで作成できます。アカウントを作成したら、新しいアクセスキーのセットを生成する方法についてこれらの手順を確認してください。
MySQLデータベースの作成#
Magento 2は、MySQL 5.6および5.7、MariaDB 10.x、およびPercona5.7と互換性があります。サーバーにMySQLまたはMariaDBがインストールされていない場合は、このガイドを確認できます。
MySQLシェルにログインします:
mysql -u root -p
そして、次のコマンドを実行して、新しいデータベースとユーザーを作成し、新しく作成されたデータベースに対する特権をそのユーザーに付与します。
CREATE DATABASE magento;
GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';
PHP拡張機能をインストールする#
ガイドを使用して、PHP7.1Remiリポジトリをすでに有効にしていることを前提としています。
次のコマンドを使用して、必要なすべてのPHP拡張機能をインストールします。
sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip
インストールが完了したら、php.ini
を編集して、必須および推奨のPHPオプションを設定します。 sed
のファイル :
sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini
Composer#をインストール
Composerは、ライブラリのインストール、更新、および管理に使用されるPHPの依存関係マネージャーです。
composerをグローバルにインストールするには、curl
を使用してComposerインストーラーをダウンロードします。 ファイルを/usr/local/bin
に移動します ディレクトリ:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Magentoのインストールを実行する新しいユーザーとグループを作成します。簡単にするために、ユーザーにmagento
という名前を付けます。 :
sudo useradd -m -U -r -d /opt/magento magento
nginx
を追加します magento
へのユーザー グループ化して/opt/magento
を変更します NginxがMagentoインストールにアクセスできるようにするためのディレクトリ権限:
sudo usermod -a -G magento nginx
sudo chmod 750 /opt/magento
PHP FPMの構成#
次に、PHPを構成し、magento
のFPMプールを作成する必要があります。 ユーザー。
テキストエディタを開き、次のファイルを作成します。
/etc/php-fpm.d/magento.conf[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children = 50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /
ファイルを保存し、PHP FPMサービスを再起動して、変更を有効にします。
sudo systemctl restart php-fpm
Magentoをインストールする#
Magentoをインストールするにはいくつかの方法があります。 GithubリポジトリからMagentoをインストールすることは避けてください。そのバージョンは開発用であり、本番インストール用ではないためです。このチュートリアルでは、composerを使用してリポジトリからMagentoをインストールします。
ユーザーmagento
に切り替えます :
sudo su - magento
/opt/magento/public_html
にmagentoファイルをダウンロードしてインストールを開始します ディレクトリ:
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: e758ec1745d190520ca246e4e832e12c
Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]
プロジェクトが作成されたら、インストールを開始できます。コマンドラインまたはWebセットアップウィザードを使用して、Magentoをインストールできます。このチュートリアルでは、コマンドラインを使用してMagentoをインストールします。
次のオプションを使用して、Magentoストアをインストールします。
- ベースおよびベースセキュアURLは
https://example.com
に設定されます 、ドメインに合わせて変更してください。 - Magento管理者:
John
Doe
姓名として。-
[email protected]
メールとして。 -
john
ユーザー名およびj0hnP4ssvv0rD
として パスワードとして。
- データベース名
magento
、ユーザー名magento
、パスワードP4ssvv0rD
、およびデータベースサーバーは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="P4ssvv0rD"
パスワードを変更することを忘れないでください(j0hnP4ssvv0rD
)より安全なものに。 インストールが成功すると、Magento管理ダッシュボードへのURIを含むメッセージが表示されます。
[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.
Magento crontabを作成します#
Magentoはcronジョブを使用して、インデックスの再作成、通知、サイトマップ、メールなどのタスクをスケジュールします。
Magento crontabを作成するには、次のコマンドをmagento
として実行します。 ユーザー:
php ~/public_html/bin/magento cron:install
次のコマンドを実行して、crontabがインストールされていることを確認できます。
crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /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/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d
Nginxを構成する#
CentOS 7ガイドのLEMPに従っている場合は、マシンにNginxがすでにインストールされているはずです。これで、Magentoをインストールするための新しいサーバーブロックを作成するだけで済みます。 magentoに付属しているデフォルトのNginx構成を含める予定です:
/etc/nginx/conf.d/example.com.confupstream fastcgi_backend {
server unix:/run/php-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;
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;
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;
}
変更を有効にするには、Nginxサービスをリロードします:
sudo systemctl reload nginx
最後に、https://example.com/admin_1csalp
でMagentoインストールにログインできるはずです。 Magentoインストーラーの実行時に指定した管理者ユーザーを使用します。