Magento 2は、Linuxディストリビューションで利用可能な強力なオープンソースのeコマースプラットフォームMagentoの後継です。このチュートリアルでは、Ubuntu18.04にNginxを使用してMagento2をインストールする手順を説明します。このソフトウェアはPHPで記述されており、データベースにMysqlまたはMariaDBを使用します。つまり、LEMPを使用して構成を行うことができます。
Magento 2は、Magentoの最新のアップグレードであり、
などのいくつかの改善が施されています。- フロントエンドとバックエンドの両方、1つは管理用、もう1つは店舗の顧客用
- 柔軟性と完全なサポート
- サイトの速度と統合されたプラグイン...
Magento2のデータベース図はMagento1とは異なります。 一部のテーブルは、 Magento 1から名前が変更または変更されています Magento2へ
- core_website-store_website(構造が変更されています)
- core_store-ストア(構造は変更されません)
- core_translate-翻訳
- core_url_rewrite-url_rewrite
- core_store_group-store_group(構造は変更されません)
- core_email_template --email_template
- admin_role --authorization_role(構造が変更されています)
- admin_rule --authorization_rule(構造が変更されています)
- sales_flat_order --sales_order
- sales_flat_order_address --sales_order_address
- sales_flat_order_grid-sales_order_grid
- sales_flat_order_item --sales_order_item
- sales_flat_order_payment-sales_order_payment
- sales_flat_order_status_history-sales_order_status_history
- クーポン_aggregated_order-salesrule_coupon_aggregated_order
Magentoは実際にはphp 7.2と完全には互換性がないようです これはUbuntu18.04にインストールされているデフォルトです。 GitHubにはMagentoコミュニティがあり、Magentoでphp-7.2のサポートを実装しようとしています。
以下で、実際にmagento2と互換性のあるさまざまなphpバージョンを確認できます。その他の要件はmagentoの公式サイトで確認できます
1)前提条件をインストールします
このチュートリアルでは、Magento2とNginxをUbuntu18.04にインストールし、MySQLデータベースを使用します。これは、サーバー上で実行中のLEMPサーバーが必要になることを意味します。 Magentoには、インストールする必要のあるいくつかのPHP拡張機能が必要です
- bc-math
- ctype
- カール
- dom
- gd、ImageMagick 6.3.7(またはそれ以降)またはその両方
- intl
- mbstring
- mcrypt
- ハッシュ
- openssl
- PDO / MySQL
- SimpleXML
- 石鹸
- spl
- libxml
- xsl
- zip
- json
- iconv
software-properties-commonが必要です Ubuntu18.04およびondrej / phpにすでに存在するパッケージ 追加するリポジトリ
# add-apt-repository ppa:ondrej/php -y
次に、依存関係を使用してphp7.1をインストールします
# apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
autoconf automake autopoint autotools-dev binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 debhelper dh-autoreconf
dh-php dh-strip-nondeterminism dpkg-dev fakeroot g++ g++-7 gcc gcc-7
...
...
これらのphp依存関係をすべてインストールしないと、チュートリアルの今後のステップでブロックされることに注意してください。
次に、ファイルの行を編集します/etc/php/7.1/fpm/php.ini
以下のようなものを用意し、値を自分のものに適合させるようにしてください
# vim /etc/php/7.1/fpm/php.ini
file_uploads = On
upload_max_filesize = 150M
memory_limit = 256M
cgi.fix_pathinfo=0
date.timezone = Cameroon/Douala
php 7.1-fpm
を再起動します# systemctl restart php7.1-fpm
2)Magento2データベースを作成します
次に、Magentoのデータベースを作成するために、MySQLデータベースに接続する必要があります
# mysql -u root -p
Enter password:
次に、magentoデータベース、ユーザーを作成し、権限を付与します
mysql> CREATE DATABASE magentodb;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
3)Magento2をダウンロードして構成します
このチュートリアルでは、 Magento 2.2.5のインストールについて説明します。 これは実際に利用可能な最新のリリースバージョンです。 Magentoの公式GitHubリポジトリから直接ダウンロードします
# wget https://github.com/magento/magento2/archive/2.2.5.tar.gz
--2018-07-13 08:24:37-- https://github.com/magento/magento2/archive/2.2.5.tar.gz
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
...
今それを解凍します
# tar xvf 2.2.5.tar.gz
次に、それをnginxサーバーのルートフォルダーに移動します
# mv magento2-2.2.5/ /var/www/html/magento
以下に示すように、chmodコマンドを使用して権限を更新し、chownコマンドを使用して所有権を更新してください。
# chown -R www-data:www-data /var/www/html/ && chmod -R 755 /var/www/html/
Magento拡張機能の開発を計画している場合は、composerも必要になる場合があります。 Magento2コードベースに貢献したい場合にも必要になります。
# apt install composer -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
jsonlint php-cli-prompt php-composer-ca-bundle
....
....
次に確認します
# composer -V
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Composer 1.6.3 2018-01-31 16:28:17
これで、composerを使用してmagentoコンポーネントをインストールできます。これは、すべてのphp要件をインストールした場合にのみ実行できます
# cd /var/www/html/magento/ && composer install -v
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Dependency resolution completed in 0.001 seconds
Analyzed 177 packages to resolve dependencies
Analyzed 482 rules to resolve dependencies
Package operations: 117 installs, 0 updates, 0 removals
Installs: magento/magento-composer-installer:0.1.13, braintree/braintree_php:3.28.0, colinmollenhour/cache-backend-file:1.4, colinmollenhour/cache-bac
kend-redis:1.10.4, colinmollenhour/credis:1.8.2
...
...
4)Magento用にnginxを構成する
次に、Magento用にNginxを構成します。 Nginxが接続するPHPソケットの場所を確認してください。したがって、ディレクトリ/var/run/php/
の内容を一覧表示します
# ls /var/run/php/
php7.1-fpm.pid php7.1-fpm.sock
次に、構成ファイルを編集します
# vim /etc/nginx/sites-available/magento
upstream fastcgi_backend {
server unix:/var/run/php/php7.1-fpm.sock;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.mywebstore.com;
set $MAGE_ROOT /var/www/html/magento;
set $MAGE_MODE developer;
include /var/www/html/magento/nginx.conf.sample;
}
以下のようにシンボリックリンクを作成することで、構成を保存し、仮想ホストを終了してアクティブ化できます
# ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
使用するデフォルトの仮想ホストに関するエラーを回避するには、nginxのデフォルト構成のサーバーブロックを必ず編集してください/etc/nginx/sites-available/default
default_serverを削除するため 以下に言及
#vim /etc/nginx/sites-available/default
server {
listen 80;
listen [::]:80;
# your others line below
}
そうしないと、以下のようなエラーが発生します
[emerg] 2369#2369: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/magento:22
2つの仮想ホストが使用するデフォルトの仮想ホストと同じように考慮されていることを示しています。構成を確認してください
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ここでnginxサーバーを再起動します
# systemctl restart nginx
4)完全なMagentoウィザードのWebインストール
これで、Webブラウザーを起動して、Magento http://www.yourwebstore.comのインストールを続行し、同意することができます
PHP環境を確認してください
環境が正しければ、すべてが緑色になります
次に、mysqlコマンドラインで以前に使用した情報を使用して作成済みのデータベースを構成します
Webアクセスを構成します。 Magentoの管理者アドレスを保持してください。高度なオプションを確認できます
次に、ストアで使用する通貨、言語、タイムゾーンを選択します
インストールされるモジュールを示す詳細オプションが表示されます
管理者アカウントを構成する
これでインストールを開始できます
これで、構成の要約を確認できます。セキュリティ上の理由から、このページの重要な言及を忘れないでください
これで、ログインページが表示されます。前に作成した管理パラメータを入力してください
MagentoWebストアのダッシュボードホームページを表示できます。 magento2が提供する各機能を自由に閲覧してください
ウェブストアのホームページを開くことができます。クライアント向けのページです
プロセス中にいくつかのエラーが発生する可能性があります。発生する可能性のあるエラーについて説明します。
5)考えられるエラーを修正します
プロセス中に、Magento 2のインストールを停止する可能性のあるいくつかの問題に直面する可能性があります。そのため、適用できる修正を含むいくつかのエラーをリストしました
phpFastCGIが拒否されました
Magento 2のデフォルトのnginx構成ファイルが機能しないために、アクセス許可が拒否される可能性があります。 nginxログを確認すると、以下のエラーを確認できます
これを解決するには、/var/www/html/magento/nginx.conf.sample
を編集します / setup locationブロックは、以下のように特定の行を追加します
# vim /var/www/html/magento/nginx.conf.sample
location ~* ^/setup($|/) {
root $MAGE_ROOT;
location ~ ^/setup/index.php {
### The only line to add is the one below:
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
###################
## Don't change anything else in the file
次に、nginxを再起動します。 nginxでWebセットアップを実行できない場合は、その問題についてMagentoGithubのスレッドをフォローできます
1つ以上のインデクサーが無効です。 Magentocronジョブが実行されていることを確認してください
初めて管理パネルにアクセスするときに、以下のように正しく機能していない無効なインデックスとmagentocronジョブに関するメッセージが表示される場合があります
ここでは、Magento 2で使用可能なすべてのインデックスを再インデックスする必要があります。そのためには、プロジェクトのルートディレクトリに移動します
# cd /var/www/html/magento
MagentoCLIを実行します
# php bin/magento indexer:reindex
Design Config Grid index has been rebuilt successfully in 00:00:00
Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:00
Magento 2のcronをセットアップして実行するには、コマンド
を使用します。# php bin/magento cron:run
Ran jobs by schedule.
キャッシュタイプが無効になります
無効化されたキャッシュタイプに直面する可能性があります。メッセージは上部に表示されます
1つ以上のキャッシュタイプが無効になっています:ページキャッシュ。キャッシュ管理に移動し、キャッシュタイプを更新してください。
ブロックキャッシュが無効になる理由は、製品の更新、カタログ価格ルールの変更、およびサードパーティの拡張機能が原因である可能性があります。一部の実行中のcronジョブにより、ブロックキャッシュが無効になる可能性もあります。解決策はメッセージに示されています。システム>キャッシュ管理に移動してください
すべてのキャッシュタイプが表示されます。次に、 をクリックします。 フラッシュM エージェントキャッシュ
また読む:
- Ubuntu18.04にLAMPスタックをインストールする方法
- Ubuntu18.04にLAMPを使用してPhpMyAdminをインストールする方法
Ubuntu18.04でMagento2を機能させるにはさまざまな手順があります。 php-7.2のサポートは準備ができていないようですが、magentoコミュニティがこの目的に取り組んでいます。 Magento 2をphp-7.2に強制的に適合させることはできますが、公式サポートの準備が整うと、パッチが機能しなくなる可能性があります。