Magentoは、最も人気のあるオープンソースのeコマースプラットフォームの1つであり、eコマースWebサイトとオンラインストアを数分でセットアップできます。これは、Zend Frameworkに基づいてPHPで記述されており、エンティティ属性値(EAV)データベースモデルを使用してデータを格納します。シンプルでユーザーフレンドリーなインターフェースが付属しており、オンラインストアをカスタマイズして、製品やサービスを簡単に販売できます。
このチュートリアルでは、MagentoeCommerceプラットフォームをCentOS8にLet'sEncryptの無料SSLを使用してインストールする方法を示します。
- 2GBのRAMを搭載したCentOS8を実行しているサーバー。
- サーバーIPで指定された有効なドメイン名。
- ルートパスワードはサーバーで構成されています。
LEMPサーバーをインストールする
まず、次のコマンドを実行して、Nginx Webサーバー、MariaDBデータベースサーバー、PHP、およびその他の必要なPHPライブラリをインストールします。
dnf install nginx mariadb-server php php-cli php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip unzip git -y
すべてのパッケージがインストールされたら、Nginx、MariaDB、およびPHP-FPMサービスを開始し、次のコマンドを使用してシステムの再起動後にそれらを開始できるようにします。
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm
次に、php.iniファイルを編集し、いくつかの設定を微調整する必要があります。
nano /etc/php.ini
次の行を変更します:
memory_limit =512Mupload_max_filesize =200Mzlib.output_compression =On max_execution_time =300 date.timezone =Asia / Kolkata
終了したら、ファイルを保存して閉じます。
デフォルトでは、MariaDBは保護されていないため、最初に保護する必要があります。次のスクリプトを実行して、MariaDBを保護します。
mysql_secure_installation
以下に示すように、すべての質問に答えてください。
rootの現在のパスワードを入力してください(noneの場合は入力してください):rootパスワードを設定しますか? [Y / n] Y新しいパスワード:新しいパスワードを再入力します:匿名ユーザーを削除しますか? [Y / n] Yrootログインをリモートで許可しませんか? [Y / n] Yテストデータベースを削除してアクセスしますか? [Y / n] Y特権テーブルを今すぐリロードしますか? [Y / n] Y
完了したら、次のコマンドを使用してMariaDBシェルにログインします。
mysql -u root -p
プロンプトが表示されたらrootパスワードを入力し、次に示すMagentoのデータベースとユーザーを作成します。
MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> GRANT ALLONmagentodb。*[email protected] IDENTIFIED BY'password';
次に、特権をフラッシュし、次のコマンドを使用してMariaDBシェルを終了します。
MariaDB [(none)]>フラッシュ特権;
MariaDB [(none)]> exit;
Magento用にPHP-FPMを構成する
次に、Magentoインスタンス用にPHP-FPMプールを構成する必要があります。次のファイルを作成して構成できます:
nano /etc/php-fpm.d/magento.conf
次の行を追加します:
[magento] user =nginxgroup =nginxlisten.owner =nginxlisten.group =nginxlisten =/run/php-fpm/magento.sockpm =ondemandpm.max_children =50pm.process_idle_timeout =10spm.max_requests =500chdir =/
ファイルを保存して閉じてから、PHP-FPMサービスを再起動して変更を実装します。
systemctl restart php-fpm
まず、次のコマンドを使用して、Gitリポジトリから最新バージョンのMagentoをダウンロードします。
cd /var/www/html
wget https://github.com/magento/magento2/archive/2.3.zip
ダウンロードしたら、以下に示すように、ダウンロードしたファイルを解凍します。
unzip 2.3.zip
次に、以下に示すように、抽出したディレクトリをmagento2に移動します。
mv magento2-2.3 magento2
次に、Composerをインストールして、MagentoのPHP依存関係をインストールする必要があります。
次のコマンドでComposerをインストールできます:
curl -sS https://getcomposer.org/installer | php
mv composer.phar / usr / local / bin / composer
次に、ディレクトリをmagento2に変更し、次のコマンドを使用してすべてのMagento依存関係をインストールします。
cd / var / www / html / magento2
コンポーザーの更新
コンポーザーのインストール
次に、タスクをスケジュールするためにMagentocrontabを作成する必要があります。次のコマンドで作成できます:
./ bin / magento cron:install
次のコマンドを使用してcrontabを確認できます:
crontab -l </ pre>次の出力が得られるはずです:
#〜MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f * * * * * / usr / bin / php / var / www / html / magento2 / bin / magento cron:run 2>&1 | grep-v"スケジュールでジョブを実行">>/var/www/html/magento2/var/log/magento.cron.log * * * * * / usr / bin / php / var / www / html / magento2 / update /cron.php> > /var/www/html/magento2/var/log/update.cron.log * * * * * / usr / bin / php / var / www / html / magento2 / bin / magento setup:cron :run>> /var/www/html/magento2/var/log/setup.cron.log#~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f次に、magento2ディレクトリに適切な権限を付与します。
chown -R nginx:nginx / var / www / html / magento2
chmod -R 755 / var / www / html / magento2Magento用にNginxを構成する
次に、Magento用のNginx仮想ホストファイルを作成する必要があります。次のコマンドで作成できます:
nano /etc/nginx/conf.d/magento.conf次の行を追加します:
upload fastcgi_backend {server unix:/run/php-fpm/magento.sock;} server {listen 80; server_name magento.linuxbuz.com; $ MAGE_ROOT / var / www / html/magento2を設定します; $MAGE_MODE開発者を設定します。 access_log /var/log/nginx/magento-access.log; error_log /var/log/nginx/magento-error.log; /var/www/html/magento2/nginx.conf.sample;}を含める終了したら、ファイルを保存して閉じます。次に、NginxとPHP-FPMサービスを再起動して、変更を実装します。
systemctl restart php-fpm
systemctl restart nginxSELinuxとファイアウォールを構成する デフォルトでは、SELinuxはCentOS 8で有効になっているため、Magentoが正しく機能するようにSELinuxを構成する必要があります。
次のコマンドでSELinuxを設定できます:
semanage permissive -a httpd_t次に、外部ネットワークからのHTTPおよびHTTPSサービスを許可するファイアウォールルールを作成する必要があります。次のコマンドで許可できます:
Firewall-cmd --permanent --add-service =httpFirewall-cmd --permanent --add-service =https
Firewall-cmd --reloadSSLを暗号化してLet'sで安全なMagento これでMagentoがインストールおよび構成されました。 Let'sEncryptの無料SSLで保護する時が来ました。
そのためには、サーバーにcertbotクライアントをダウンロードする必要があります。次のコマンドを実行して、正しい権限をダウンロードして設定できます。
wget https://dl.eff.org/certbot-auto
mv certbot-auto / usr / local / bin / certbot-auto
chown root / usr / local / bin / certbot- auto
chmod 0755 / usr / local / bin / certbot-auto次に、次のコマンドを実行して、MagentoWebサイトのSSL証明書を取得してインストールします。
certbot-auto --nginx -d magento.linuxbuz.com上記のコマンドは、最初に以下に示すように、必要なすべての依存関係をインストールします。
インストール済み:gcc-8.2.1-3.5.el8.x86_64 mod_ssl-1:2.4.37-12.module_el8.0.0 + 185 + 5908b0db.x86_64 python3-virtualenv-15.1.0-18.module_el8.0.0 + 33 + 0a10c0e1.noarch python36-devel-3.6.8-2.module_el8.0.0 + 33 +0a10c0e1.x86_64redhat-rpm-config-116-1.el8.0.1.noarchaugeas-libs-1.10.1-8.el8。 x86_64 libffi-devel-3.1-18.el8.x86_64 openssl-devel-1:1.1.1-8.el8.x86_64 annobin-8.64-1.el8.x86_64 cpp-8.2.1-3.5.el8.x86_64 dwz-0.12 -9.el8.x86_64 efi-srpm-macros-3-2.el8.noarch ghc-srpm-macros-1.4.2-7.el8.noarch go-srpm-macros-2-16.el8.noarch isl-0.16.1-6.el8.x86_64 libmpc-1.0.2-9.el8.x86_64 ocaml-srpm-macros-5-4.el8.noarch openblas-srpm-macros-2-2.el8.noarch perl- srpm-macros-1-25.el8.noarch platform-python-devel-3.6.8-2.el8_0.0.1.x86_64 python-rpm-macros-3-37.el8.noarch python-srpm-macros-3-37 .el8.noarch python3-rpm-generators-5-4.el8.noarch python3-rpm-macros-3-37.el8.noarch qt5-srpm-macros-5.11.1-2.el8.noarch rust-srpm-macros -5-2.el8.noarch glibc-devel-2.28-42.el8.1.x86_64 glibc-headers-2.28-42.el8.1.x86_64 kernel-headers-4.18.0-80.11.2.el8_0.x86_64 keyutils-libs-devel-1.5.10-6.el8.x86_64 krb5-devel-1.16.1-22.el8.x86_64 libcom_err-devel-1.44.3 -2.el8.x86_64 libkadm5-1.16.1-22.el8.x86_64 libselinux-devel-2.8-6.el8.x86_64 libsepol-devel-2.8-2.el8.x86_64 libverto-devel-0.3.0-5.el8 .x86_64 libxcrypt-devel-4.1.1-4.el8.x86_64 pcre2-devel-10.32-1.el8.x86_64 pcre2-utf16-10.32-1.el8.x86_64 pcre2-utf32-10.32-1.el8.x86_64 zlib- devel-1.2.11-10.el8.x86_64 Complete!仮想環境の作成...インストールPythonパッケージ...インストールに成功しました。すべての依存関係がインストールされると、以下に示すように、メールアドレスを入力し、利用規約に同意するよう求められます。
デバッグログを/var/log/letsencrypt/letsencrypt.logに保存する選択したプラグイン:Authenticator nginx、Installer nginxEnterメールアドレス(緊急の更新とセキュリティ通知に使用)(「c」を入力してキャンセル):[メール保護]------ ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- -------- /documents/LE-SA-v1.2-November-15-2017.pdf。 ACMEサーバー(https://acme-v02.api.letsencrypt.org/directory)に登録するには、同意する必要があります。 ---- ---- ---- ---- --------(A)gree /(C)ancel:デバッグログを/var/log/letsencrypt/letsencrypt.logに保存する選択したプラグイン:Authenticator nginx、Installernginx新しい証明書の取得次の課題:http-01magento.linuxbuz.comの課題検証を待っています...課題のクリーンアップVirtualHost/etc/nginx/conf.d/magento.confへの証明書の展開次に、以下に示すように、HTTPトラフィックをHTTPSにリダイレクトするかどうかを選択する必要があります。
HTTPトラフィックをHTTPSにリダイレクトするかどうかを選択し、HTTPアクセスを削除してください。 ---- ---- ---- ---- -1:リダイレクトなし-Webサーバー構成にそれ以上の変更を加えません。2:リダイレクト-すべてのリクエストを安全なHTTPSアクセスにリダイレクトします。新しいサイトの場合、またはサイトがHTTPSで動作することが確実な場合は、これを選択してください。 Webサーバーの構成を編集することで、この変更を元に戻すことができます。 -適切な番号[1-2]を選択してから[Enter]を選択します(キャンセルするには「c」を押します):22と入力し、Enterキーを押して、以下に示すように、ドメインのLet'sEncryptSSL証明書をインストールします。
ポート80のすべてのトラフィックを/etc/nginx/conf.d/magento.confのsslにリダイレクトします---------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - - - - - - - - - - - -おめでとう! https://magento.linuxbuz.comが正常に有効になりました。次のURLで構成をテストする必要があります:https://www.ssllabs.com/ssltest/analyze.html?d =magento.linuxbuz.com- --- --- --- - --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---重要な注意事項:-おめでとうございます!証明書とチェーンは次の場所に保存されています:/etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pemキーファイルは次の場所に保存されています:/etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem証明書は2020-03-23に期限切れになります。将来、この証明書の新しいバージョンまたは微調整されたバージョンを取得するには、「certonly」オプションを指定してcertbot-autoを再度実行するだけです。 *すべての*証明書を非対話的に更新するには、「certbot-autorenew」を実行します-Certbotが気に入った場合は、次の方法で私たちの作業をサポートすることを検討してください:ISRGへの寄付/ Let's Encrypt:https://letsencrypt.org/donateへの寄付EFF:https://eff.org/donate-leMagentoにアクセス これでMagentoがインストールおよび構成されました。 Magentoインストールウィザードにアクセスするときが来ました。
Webブラウザーを開き、URLhttps://magento.linuxbuz.comを入力します。 Magentoのウェルカムページにリダイレクトされます:
同意してMagentoをセットアップするをクリックします ボタン。 Magentoの準備チェックウィザードが表示されます:
次に、次へをクリックします ボタン。次のページが表示されます:
データベースの詳細を入力し、次へをクリックします ボタン。次のページが表示されます:
次に、Magentoストアと管理者URLを入力し、次へをクリックします。 ボタン。次のページが表示されます:
希望のタイムゾーン、通貨、言語を選択し、次へをクリックします ボタン。次のページが表示されます:
次に、Magento管理者のユーザー名とパスワードを入力し、次へをクリックします。 ボタン。次のページが表示されます:
次に、インストールをクリックします 今 ボタンをクリックして、Magentoのインストールを開始します。インストールが正常に完了したら。次のページが表示されます:
次に、ストアアドレスをクリックします ボタン。次のページにMagentoストアが表示されます:
Magento管理インターフェースにアクセスするには、WebブラウザーでURLhttps://magento.linuxbuz.com/admin_1teqssを入力します。 Magentoのログインページにリダイレクトされます:
Magento管理者のユーザー名とパスワードを入力し、署名をクリックします で ボタン。次のページにMagento管理インターフェースが表示されます:
今のところ以上です。これで、MagentoがLet'sEncryptの無料SSLで保護されました。
Cent OS