このガイドでは、Ubuntu20.04VPSにLEMPスタックを使用してMagento2.4をインストールする方法を説明します。
Magentoは、そのカスタマイズと柔軟性のおかげで、利用可能な最も人気のあるオープンソースのeコマースプラットフォームの1つです。 Zend Frameworkを使用して作成され、データベース管理システムとしてMySQLを使用します。 Magentoは、オンラインマーチャントに非常に柔軟なショッピングカートを提供し、豊富な機能セットを備えているため、面倒なことなくオンラインストップを設定したい企業に最適です。
Ubuntu20.04にLEMPスタックを使用してMagento2.4をインストールする 完了するまでに10分未満かかるはずです。チュートリアルを始めましょう。
- rootアクセスが有効になっているUbuntu20.04VPS、またはsudo権限を持つユーザー
- 4GB以上のRAM
- Nginx
- MariaDB 10.4
- Magento2.4はこのバージョンでテストされているためElasticsearch7.6.x
- PHP 7.4で、bcmath、ctype、curl、dom、gd、hash、iconv、intl、libxml、mbstring、openssl、pdo_mysql、simplexml、soap、xsl、およびzip拡張機能が有効になっています。また、パフォーマンス上の理由から、opcache拡張機能をインストールして有効にすることをお勧めします。
- Magento2Webサイトにアクセスするための有効なドメイン名。また、HTTPSを使用してWebサイトにアクセスするには、有効なSSL証明書が必要です。
LEMPスタック(Nginx、MariaDB、PHP)を設定していない場合でも、問題ありません。これらのインストール方法についても、このチュートリアルで説明します。
まず、SSHを使用してサーバーにログインする必要があります。これを行うには、次のコマンドを入力します:
ssh root@IP_Address -p Port_number
必要に応じて、「root」をsudo権限を持つユーザーに置き換えます。さらに、「IP_Address」と「Port_Number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換えます。
ログインしたら、すべてのUbuntuOSパッケージを最新の利用可能なバージョンに更新する必要があります。
apt-get update apt-get upgrade
すべてのOSパッケージが最新の状態になったら、必要に応じてサーバーを再起動して、新しい構成の変更を適用します。
LEMPとElasticsearchをインストールする
LEMPは、Nginx、MySQL(またはMariaDB)、およびPHPを搭載したLinuxOSを表す頭字語です。これは、多くのソフトウェアパッケージの基盤を提供できるアプリケーションとサーバーの一般的なスタックです。 Ubuntu20.04VPSにLEMPをインストールしましょう。
Nginxをインストール
サーバーにApacheWebサーバーが既にインストールされている場合は、Apacheサービスを停止し、サーバーの起動時にサービスを開始できないようにします。
systemctl stop apache2 systemctl disable apache2
次のコマンドでNginxをインストールします:
apt-get install nginx
今のところ、Nginxで行う必要があるのはこれだけです。
MySQLをインストール
次に、MySQLデータベースサーバーをインストールします。このサーバーは、製品、カテゴリ、顧客、注文など、MagentoWebサイトのデータを保存するために使用されます。
このチュートリアルでは、MariaDBをインストールして使用します。 MariaDBデータベースサーバーをインストールするには、次のコマンドを入力します。
apt-get install software-properties-common
MariaDBリポジトリを追加するには、キーを追加する必要があります。
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
キーができたので、リポジトリをインストールしましょう:
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.4/ubuntu bionic main'
パッケージリストが読み取られるように、APTリポジトリを更新します。
apt update
最後に、MariaDBをインストールできます。
apt install mariadb-server
MariaDBをインストールしたら、MariaDBサービスをサーバーの起動時に開始できるようにします。
systemctl enable mariadb.service
MariaDBサービスのステータスを確認します:
systemctl status mariadb.service
実行されているはずです。今のところ、MariaDBで行う必要があるのはこれだけです。
ファイルを一時的にダウンロードできるディレクトリに切り替えます。
cd /opt
Elasticsearchパッケージファイルをダウンロードしましょう。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-amd64.deb
次のコマンドを実行してインストールします:
dpkg -i elasticsearch-7.6.1-amd64.deb
Elasticsearchサービスを開始します:
systemctl start elasticsearch
ステータスを確認してください:
systemctl status elasticsearch
Elasticsearchに関するバージョンとその他の情報を確認してください:
curl -XGET 'http://localhost:9200'
この時点までにすべてが正常に見える場合は、PHPをインストールできます。
PHP7.4をインストール
PHP 7.4のPPAを追加します:
add-apt-repository ppa:ondrej/php
次に、OSパッケージリストを更新し、次のコマンドを使用してPHP7.4をインストールします。
apt-get update apt-get install php7.4
次のコマンドを使用して、必要なすべてのPHP拡張機能をインストールします。
apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-bcmath
PHP拡張機能がサーバーにインストールされたら、Magento2のインストールに必要な他のいくつかのOSパッケージをインストールします。
apt-get install git curl software-properties-common
次に、メインのPHP構成ファイル/etc/php/7.4/fpm/php.ini
を開きます。 :
nano /etc/php/7.4/fpm/php.ini
次の設定を変更します:
file_uploads = On allow_url_fopen = On short_open_tag = On memory_limit = 256M cgi.fix_pathinfo = 0 zlib.output_compression = On upload_max_filesize = 128M max_execution_time = 600 max_input_time = 900 date.timezone = America/Chicago
PHP構成ファイルを保存して閉じます。
Magento2のデータベースを作成する
mysql_secure_installation
を使用して、MariaDBのインストールを保護します 脚本。このスクリプトは、匿名ユーザーを削除し、rootログインをリモートで禁止し、テストデータベースを削除します。
mysql_secure_installation
以下に示すように、すべての質問に回答することをお勧めします。
Enter current password for root (enter for none): Press [Enter] since no password is set by default Set root password? [Y/n]: N (You can set a password if you like) Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
次に、Magento2Webサイト用のMySQLユーザーとデータベースを作成します。次のコマンドを使用してMySQLサーバーにログインし、プロンプトが表示されたらMySQLrootパスワードを入力します。
mysql -u root -p
Magento 2インスタンスの新しいデータベースを作成するには、次のコマンドを実行します。
mysql> set global log_bin_trust_function_creators=1; mysql> CREATE USER 'magento'@'localhost' IDENTIFIED WITH mysql_native_password BY 'strongPassword'; mysql> create database magentodb; mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost'; mysql> flush privileges; mysql> quit
必ずmagento
を指定してください MariaDBユーザーは本物の強力なパスワードです。
Magento2をインストール
これで、Magento2のインストールを続行できます。この記事を書いている時点で、Magentoの最新の安定バージョンはバージョン2.4です。
まず、GitHubリポジトリに移動し、次のコマンドを使用してMagentoの最新バージョンをダウンロードします。
mkdir -p /var/www/magento2/ cd /var/www/magento2/ git clone https://github.com/magento/magento2.git /var/www/magento2/
次に、Composerをインストールして、必要なすべてのMagentoコンポーネントをインストールする必要があります。次のコマンドを実行するだけでComposerをインストールできます。
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
次のコマンドを実行して、composerを構成します。
cd /var/www/magento2 composer install bin/magento setup:install --base-url=http://yourdomain.com/ --db-host=localhost --db-name=magentodb --db-user=magento --db-password=strongPassword --admin-firstname=FirstName --admin-lastname=LastName [email protected] --admin-user=magentoadmin --admin-password=strong-password --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1
忘れないでください ドメイン名を置き換える 、データベースパスワード 、管理者ユーザー名 、パスワード および管理者のメールアドレス によると。
インストールが完了すると、次の出力が表示されます。
[Progress: 699 / 701]
Post installation file permissions check...
For security, remove write permissions from these directories: '/var/www/magento2/app/etc'
[Progress: 700 / 701]
Write installation date...
[Progress: 701 / 701]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1k4pc0
Nothing to import.
「Magento管理者URI」を覚えておいてください。この情報は、Magentoバックエンドへのログインに使用するURLであるため、後で必要になります。
magento2
の所有権を変更します www-data
へのディレクトリ 次のコマンドを使用します:
chown -R www-data:www-data /var/www/magento2/
Nginx構成ファイルを作成する
テキストエディタでNginx構成ファイルを作成します:
nano /etc/nginx/sites-available/magento2
次に、ファイルのコンテンツとして以下を追加します。
upstream fastcgi_backend { server unix:/run/php/php7.4-fpm.sock; } server { server_name yourdomain.com; listen 80; set $MAGE_ROOT /var/www/magento2; set $MAGE_MODE developer; # or production access_log /var/log/nginx/magento2-access.log; error_log /var/log/nginx/magento2-error.log; include /var/www/magento2/nginx.conf.sample; }
必ずyourdomain.com
を設定してください 登録したドメイン名に。
使用されていない場合は、デフォルトのNginx構成ファイルを削除します:
rm -f /etc/nginx/sites-enabled/default
新しく作成されたNginx構成ファイルを有効にしてから、Nginx構成をテストし、エラーがないことを確認します。
ln -s /etc/nginx/sites-available/magento2 /etc/nginx/sites-enabled/magento2
nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
それでおしまい!これで、Webサーバーが正常に構成されました。
SSL証明書をインストールする
Let’sEncryptから無料のSSL証明書をインストールします。次のコマンドを実行して、必要なパッケージをインストールします。
apt-get install certbot python3-certbot-nginx
次に、ドメイン名の新しいSSL証明書をインストールし、yourdomain.com
であることを確認します。 登録済みのドメイン名に設定されています:
certbot --nginx -dyourdomain.com
-dwww.yourdomain.com
「2」を選択し、HTTPトラフィックをHTTPSにリダイレクトすることを選択してください:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
次のMagento2CLIコマンドを使用して、Magento base-url
を更新します。 およびbase-url-secure
値:
cd /var/www/magento2/
php bin/magento setup:store-config:set --base-url="https://yourdomain.com/
"
php bin/magento setup:store-config:set --base-url-secure="https://yourdomain.com/
"
Nginx構成ファイルを編集し、HTTP / 2を有効にします:
nano /etc/nginx/sites-enabled/magento2
置換:
listen 443 ssl;
あり:
listen 443 ssl http2;
変更を有効にするためにNginxサービスを再起動します:
systemctl restart cron.service
Magentoでは、多くの重要なシステム機能のためにcronジョブ構成が必要です。次のcronジョブを作成しましょう:
crontab -u www-data -e
これをファイルに追加します:
* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log
ファイルを保存して閉じます。
cronサービスを再起動します:
systemctl restart cron.service
それがすべてです! Magento2がサーバーに正常にインストールされました。
Magentoフロントエンドにはhttp://yourdomain.com
からアクセスできます。 :
http://
、必要に応じてMagentoを構成します。拡張機能をインストールしたり、製品やカテゴリなどを追加したりできます。yourdomain.com
でMagento2バックエンドにログインします /Magento管理URI
今日のデジタル世界でオンラインプレゼンスを持つことがますます重要になっています。 Managed Magentoホスティングを使用する場合、Linuxシステム管理の専門家である必要はありません。すべてがVPSに含まれているため、すべてをセットアップして維持します。サーバーを最適化するだけでなく、リクエストを実行することもできます。サーバーを完全に制御することはできますが、面倒な作業を二度と行う必要はありません。
このチュートリアルが、Ubuntu20.04VPSにMagento2をインストールするのに役立つことを願っています。もしそうなら、私たちの共有ショートカットを使ってソーシャルメディアでこの投稿を共有することを検討するか、あなたが持っているかもしれない質問や提案を下にコメントを残してください。ありがとうございます。