こんにちは、ITエンジニアの小村(@system_kom)です。
昨今のウェブサイトはLAMP(Linux、Apache、MySQL、PHPの頭文字をとってLAMP)で構成されていることが殆どです。
今回は、以前の記事で構築したLAMP環境に、オープンソースの代表的なCMS(コンテンツマネジメントシステム、ウェブサイトを管理するためのアプリケーション)である「WordPress」をインストールする手順を紹介していきます。
-
MySQL互換のオープンソースDB MariaDB 10をインストールして利用する
こんにちは、レムシステム株式会社 ITインフラ担当の小村(@system_kom)です。 前回の記事でウェブサーバーであるhttpdとアプリケーションサーバーであるphpのインストールが完了しました。 今回は作成した環境にデータベースとして ...
WordPressは現在のウェブサイトを作成・運用する上では欠かせないソフトウェアです。
個人向けのブログサイトや企業向けの大規模なサイトまで、多くのウェブサイトのバックエンドとして動作しています。
このWordPressですが、多くのレンタルサーバーではあらかじめ導入されている環境も多くインストールを行ったことがない方も多いと思います。本記事ではWordPressのダウンロードからデータベースの作成、インストールが理解できます。
是非、本記事を参考にWordPressをインストールしてみて下さい。
1. WordPressをインストールする環境
WordPressをインストールする環境はMySQLの導入手順を紹介した記事で紹介していますが、確認の意味で再度纏めておきます。
-
MySQL互換のオープンソースDB MariaDB 10をインストールして利用する
こんにちは、レムシステム株式会社 ITインフラ担当の小村(@system_kom)です。 前回の記事でウェブサーバーであるhttpdとアプリケーションサーバーであるphpのインストールが完了しました。 今回は作成した環境にデータベースとして ...
基本的な環境は以下の通りです。
- OSのバージョンはCentOSで最新(2018年5月現在)のバージョン7.5を利用しています。
- ウェブサーバーとしてApache2.4.6がインストールされています。
- Apacheは基本的な設定が完了して、テストページが表示されています。
- ApacheはHTTPS通信に対応した設定が完了しています。
- PHP 7.2系をインストールしており、テストページまで表示されています。
- MariaDBは10系(10.2)をインストールしており、最低限の設定を行っています。
- サーバーはインターネットへ接続されており、グローバルIPアドレスが一つ、割り当てられています。
- ファイアウォールとしてfirewalldを設定しています。
この環境を前提にWordPressのインストールを進めていきます。インストールするWordPressは2018年5月時点で最新のバージョンである4.9.6を利用します。(5.3系でも同じ手順でインストールできます)
2. WordPressのダウンロード
ApacheのドキュメントルートにWordPressをダウンロードします。ダウンロードするWordPressは公式サイトのダウンロードリンクを利用します。ダウンロードリンクは「zip」と「tar.gz」が用意されていますが、ここではtar.gz形式のものをダウンロードします。
2-1. ドキュメントルートへの移動
ダウンロードするファイルを配置するため、ディレクトリをApacheのドキュメントルートである”/home/www/html”へ移動します。
command
# cd /home/www/html
2-2. wgetパッケージの導入(インストールされていない場合のみ)
本手順はwgetが利用できる環境の場合は不要になります。その場合は項目2-3. へ進んで下さい。
続いてWordPressのアーカイブをダウンロードします。ダウンロードには"wget"コマンドを利用します。
wgetはウェブ上のURLを指定することで対象のファイルをダウンロードすることができるコマンドです。もしwgetがCentOSにインストールされていない場合、以下のように”コマンドが見つかりません。”と表示される場合があります。
command
# wget
-bash: wget: コマンドが見つかりません
このような場合は"yum"コマンドでwgetパッケージをインストールしてください。
以下のように"yum install"コマンドを実行します。
command
# yum install -y wget
コマンドを実行するとwgetパッケージのインストールが開始されます。以下のように出力されます。
log
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 7.1 kB 00:00
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
base | 3.6 kB 00:00
epel | 4.7 kB 00:00
extras | 3.4 kB 00:00
mariadb | 2.9 kB 00:00
remi-safe | 2.9 kB 00:00
updates | 3.4 kB 00:00
(1/5): epel/x86_64/updateinfo | 928 kB 00:00
(2/5): extras/7/x86_64/primary_db | 146 kB 00:00
(3/5): epel/x86_64/primary_db | 6.4 MB 00:01
(4/5): remi-safe/primary_db | 1.2 MB 00:01
(5/5): updates/7/x86_64/primary_db | 2.0 MB 00:01
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ wget.x86_64 0:1.14-15.el7_4.1 を インストール
--> 依存性解決を終了しました。依存性を解決しましたインストール中:
wget x86_64 1.14-15.el7_4.1 base 547 k
トランザクションの要約
インストール 1 パッケージ
総ダウンロード容量: 547 k
インストール容量: 2.0 M
Downloading packages:
wget-1.14-15.el7_4.1.x86_64.rpm | 547 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : wget-1.14-15.el7_4.1.x86_64 1/1
検証中 : wget-1.14-15.el7_4.1.x86_64 1/1
インストール:
wget.x86_64 0:1.14-15.el7_4.1
完了しました!
結果として「完了しました!」と表示されれば、wgetパッケージは正常にインストールされています。
2-3. wgetコマンドでのWordPressダウンロード
wgetコマンドが利用できるようになったら、WordPressのアーカイブ(複数のファイルを纏めたもの。tar.gzやzipといった拡張子が付いているファイル)をダウンロードします。
WordPressのアーカイブは最新バージョンが”latest-ja.tar.gz”アーカイブファイルとしてダウンロードできるようになっています。以下のようにwgetを実行します。
command
# wget https://ja.wordpress.org/latest-ja.tar.gz
コマンドの実行結果は以下のようになります。
log
--2018-05-28 10:55:15-- https://ja.wordpress.org/latest-ja.tar.gz
ja.wordpress.org (ja.wordpress.org) をDNSに問いあわせています... 198.143.164.252
ja.wordpress.org (ja.wordpress.org)|198.143.164.252|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9326906 (8.9M) [application/octet-stream]
`latest-ja.tar.gz' に保存中100%[=============================>] 9,326,906 4.86MB/s 時間 1.8s2018-05-28 10:55:18 (4.86 MB/s) - `latest-ja.tar.gz' へ保存完了 [9326906/9326906]
結果として「latest-ja.tar.gz」へ保存完了と表示されればダウンロードは完了しています。
念のためファイルがダウンロードされていることをlsコマンドで確認します。
command
# ls
latest-ja.tar.gz
「latest-ja.tar.gz」ファイルが表示されたことから、ファイルがダウンロードされていることが確認できました。これでwordpress本体のダウンロードと確認は完了です。
3. アーカイブの展開と権限設定
WordPressのダウンロードまで完了しましたので、アーカイブの展開と、展開したファイルにwwwサーバーがアクセスできるように権限設定を行います。
3-1. wordpressアーカイブの展開
アーカイブはtarというコマンドでgzip方式で圧縮されています。
展開には圧縮に利用されているtarコマンドにオプションを付けて実行します。本章ではオプションとして”zxvf”を付与しています。
このオプションには以下のような機能があります。
- z... gz圧縮を展開する。
- x... tarファイルを展開する。
- v... verbose。展開したファイルの一覧を表示する。
- f... ファイル名を指定するオプション。
tar.gzファイルの展開には、ほぼ上記のオプションを付与する形で問題ないと思います。覚えておくと、使い勝手が良いオプションです。以下のように実行します。
command
# tar zxvf latest-ja.tar.gz
実行すると、以下のように展開されたディレクトリとファイルがずらっと表示されます。この表示を省きたい場合は、オプションからvを外すことで対応可能です。(結果は割愛しています。)
log
wordpress/
wordpress/wp-mail.php
wordpress/wp-links-opml.php
wordpress/wp-settings.php
wordpress/license.txt
wordpress/wp-comments-post.php
wordpress/index.php
wordpress/readme.html【略】wordpress/wp-cron.php
wordpress/wp-content/plugins/akismet/class.akismet-admin.php
wordpress/wp-content/plugins/akismet/class.akismet-widget.php
wordpress/wp-content/plugins/akismet/akismet.php
wordpress/wp-content/plugins/akismet/class.akismet-rest-api.php
wordpress/xmlrpc.php
wordpress/wp-config-sample.php
エラーが出力されずにプロンプトが表示されれば、WordPressアーカイブの展開は完了です。lsコマンドで展開されたディレクトリを確認してみます。
command
# ls
latest-ja.tar.gz wordpress
上記のように「wordpress」ディレクトリが作成されています。これがWordPressの本体になります。これでディレクトリの確認は完了です。
3-2. WordPressディレクトリへの権限の設定
ウェブサーバーであるApacheからWordPressを構成するファイルやディレクトリにアクセスできるように実行権限を付与します。ここではウェブサーバーの動作ユーザーであるwwwユーザーとwwwグループをWordPressファイル(ディレクトリ)のオーナー(所有者)に設定します。
所有者を設定する"chown"コマンドを以下のように実行します。
command
# chown -R www:www wordpress
"-R"オプションはディレクトリ以下のファイルを含めてすべてのファイルを一括で変更するためのオプションです。
エラーが出力されなければ、権限の設定は完了です。念のためにlsコマンドで確認をします。
command
# ls -al
合計 9116
drwxr-xr-x 3 www www 45 5月 25 19:43 .
drwx------ 4 www www 84 4月 3 10:45 ..
-rw-r--r-- 1 root root 9326906 5月 19 16:14 latest-ja.tar.gz
drwxr-xr-x 5 www www 4096 5月 18 14:09 wordpress
ディレクトリの所有者がwwwに変更されていることが確認できました。wordpressディレクトリに含まれるファイルも併せて確認してみます。
wordpressディレクトリに移動します。
command
# cd wordpress/
"ls"コマンドで確認します。
command
# ls -al
合計 196
drwxr-xr-x 5 www www 4096 5月 18 14:09 .
drwxr-xr-x 3 www www 45 5月 25 19:43 ..
-rw-r--r-- 1 www www 418 9月 25 2013 index.php
-rw-r--r-- 1 www www 19935 1月 7 04:32 license.txt
-rw-r--r-- 1 www www 10303 5月 18 14:09 readme.html
-rw-r--r-- 1 www www 5458 5月 2 07:10 wp-activate.php
drwxr-xr-x 9 www www 4096 5月 18 14:09 wp-admin
-rw-r--r-- 1 www www 364 12月 19 2015 wp-blog-header.php
-rw-r--r-- 1 www www 1889 5月 3 07:11 wp-comments-post.php
-rw-r--r-- 1 www www 3886 5月 18 14:09 wp-config-sample.php
drwxr-xr-x 5 www www 65 5月 18 14:09 wp-content
-rw-r--r-- 1 www www 3669 8月 20 2017 wp-cron.php
drwxr-xr-x 18 www www 8192 5月 18 14:09 wp-includes
-rw-r--r-- 1 www www 2422 11月 21 2016 wp-links-opml.php
-rw-r--r-- 1 www www 3306 8月 22 2017 wp-load.php
-rw-r--r-- 1 www www 37760 5月 11 06:05 wp-login.php
-rw-r--r-- 1 www www 8048 1月 11 2017 wp-mail.php
-rw-r--r-- 1 www www 16246 10月 4 2017 wp-settings.php
-rw-r--r-- 1 www www 30091 4月 30 08:10 wp-signup.php
-rw-r--r-- 1 www www 4620 10月 24 2017 wp-trackback.php
-rw-r--r-- 1 www www 3065 9月 1 2016 xmlrpc.php
ファイルとディレクトリの所有者がwwwになっていることが確認できました。これで権限の設定と確認は完了です。
4. WordPress本体の移動
展開したwordpressのファイルをドキュメントルート直下は移動します。現状では
code
/home/www/html/wordpress/WordPress本体
というパスを
code
/home/www/html/WordPress本体
に変更します。
4-1. mvコマンドでのファイル・ディレクトリ移動
ファイルやディレクトリを移動するための"mv"コマンドでwordpressディレクトリに含まれる全てのファイルと子ディレクトリを移動します。
"mv"にワイルドカードである"*"を指定します。ワイルドカードの*(アスタリスク)は全てのファイルやディレクトリにマッチすることから指定しています。
移動先の指定は相対パスである"../"を指定します。これは現在いる場所から、一つ上のディレクトリを指定しています。以下のように実行します。
command
[root@www wordpress]# mv * ../
エラーが表示されなければ、ファイルとディレクトリの移動は完了しています。"ls"コマンドで確認します。
command
[root@www wordpress]# ls
ファイルとディレクトリは全て移動しましたので、lsでファイルやディレクトリは表示されません。cdコマンドで一つ上のディレクトリに移動します。
command
[root@www wordpress]# cd ..
再度、"ls"コマンドで確認してみます。以下のようにファイルとディレクトリが表示されます。
command
[root@www html]# ls
index.php wordpress wp-comments-post.php wp-includes wp-mail.php xmlrpc.php
latest-ja.tar.gz wp-activate.php wp-config-sample.php wp-links-opml.php wp-settings.php
license.txt wp-admin wp-content wp-load.php wp-signup.php
readme.html wp-blog-header.php wp-cron.php wp-login.php wp-trackback.php
これでWordPress本体のドキュメントルートへの移動は完了しました。
4-2. wordpressディレクトリとアーカイブファイルの削除
wordpressディレクトリは、中身を全てドキュメントルートへ移動しましたので空になっているはずです。ドキュメントルートに不要なディレクトリは配置しないほうが良いので、この時点で削除しておきます。以下のように削除を実行します。
command
# rm -r wordpress
rm: ディレクトリ `wordpress' を削除しますか? y
エラーが出力されなければ、ディレクトリは削除されています。
また展開元のダウンロードしたアーカイブファイルも不要ですので、併せて削除を行います
command
# rm latest-ja.tar.gz
rm: 通常ファイル `latest-ja.tar.gz' を削除しますか? y
こちらもエラーがなければ、削除は完了です。これでwordpressディレクトリとアーカイブファイルの削除は完了です。
5. WordPress用データベースの作成
項目4. まででWordPressのファイルは準備ができましたので、続いてデータベース側の準備を行います。データベースに関する作業は
- データベース自体の作成(データベース名はwpdb)
- ユーザーの作成、パスワードの設定(ユーザー名はwpdamin)
- 作成したユーザーの権限設定
の3点になります。本記事では、別の記事で設定が完了しているMariaDBを利用します。
-
MySQL互換のオープンソースDB MariaDB 10をインストールして利用する
こんにちは、レムシステム株式会社 ITインフラ担当の小村(@system_kom)です。 前回の記事でウェブサーバーであるhttpdとアプリケーションサーバーであるphpのインストールが完了しました。 今回は作成した環境にデータベースとして ...
もしMariaDBの導入と設定が完了していない場合は、記事を参照してセットアップを完了させて下さい。
5-1. MariaDBへの接続
動作しているMariaDBにmysqlコマンドで接続します。mysqlコマンドを以下のように実行します。
command
# mysql -uroot -p****** <=パスワードを指定
MariaDBへ接続できると以下のように応答があり、プロンプト”MariaDB [(none)]>”が表示されます。
command
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
5-2. WordPress用データベースの作成
プロンプトが表示されたら、データベースを作成するためのSQLコマンドである"CREATE DATABASE"を実行します。データベース名は「wpdb」にしています。
MariaDBのインストールと基本的な設定手順を紹介した記事でも書きましたが、SQL文には実行を意味する";"(セミコロン)を付けて実行します。
-
MySQL互換のオープンソースDB MariaDB 10をインストールして利用する
こんにちは、レムシステム株式会社 ITインフラ担当の小村(@system_kom)です。 前回の記事でウェブサーバーであるhttpdとアプリケーションサーバーであるphpのインストールが完了しました。 今回は作成した環境にデータベースとして ...
以下のようにSQL分を実行しました。
command
MariaDB [(none)]> CREATE DATABASE wpdb;
Query OK, 1 row affected (0.00 sec)
データベースが作成されると「Query OK」と応答があります。
念のために、データベースが正常に作成されているかをSQLコマンド”SHOW DATABASES”で確認します。
以下のように実行します。
command
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wpdb |
+--------------------+
4 rows in set (0.00 sec)
表示された一覧に作成したデータベースwpdbが含まれていれば、確認は完了です。
5-3. WordPress用データベースユーザーの作成と権限の設定
WordPress用のデータベースが作成されましたので、このデータベースの操作を行うことが出来るユーザー(管理者)の作成を行います。ここで作成したユーザー名とパスワードはWordPressのインストール時に利用しますので、メモをしておいてください。
ユーザーは「wpdamin」という名前で作成します。パスワードはここでは「password」を指定しますが、実際の環境では簡易なものではなく複雑で予想されにくいパスワードを指定してください。
ユーザーの作成とデータベースに対しての権限設定を一行で同時におこないます。以下のようにSQL文を実行します。
command
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpdbadmin'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.06 sec)
「Query OK」が表示されれば、ユーザーの作成と権限設定は完了です。
5-4. 作成されたユーザーの確認
「項目5-3.」で作成されたユーザーと権限の確認を行います。
まずは"USE"コマンドで「mysql」データベースへ接続します。作成されたデータベース用のユーザー情報はMariaDBのインストール時に作成される「mysql」データベースに入っています。
command
MariaDB [(none)]> USE mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]>
「Database changed」が表示され、プロンプトが「mysql」に変更されれば、mysqlデータベースへ接続されています。
存在しているユーザーを全て表示するSQL文を実行します。
command
MariaDB [mysql]> SELECT user, host from user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| wpdbadmin | localhost |
+-----------+-----------+
4 rows in set (0.00 sec)
上記のように「項目5-3.」で作成されたユーザー「wpdbadmin」が表示されます。
続いてwpdbadminの権限を確認します。wpdbadminに設定されている権限を表示するSQL文を実行します。
command
MariaDB [mysql]> SHOW GRANTS FOR 'wpdbadmin'@'localhost';
+------------------------------------------------------------------------------------------------------------------+
| Grants for wpdbadmin@localhost |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wpdbadmin'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
| GRANT ALL PRIVILEGES ON `wpdb`.* TO 'wpdbadmin'@'localhost' |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
上記の出力結果中で「GRANT ALL PRIVILEGES ON `wpdb`.* TO 'wpdbadmin'@'localhost'」が確認できます。
wpdb全てのテーブルに対してのアクセス権があることが確認できました。これでユーザーと権限設定の確認は完了です。
"quit"を入力してMariaDBとの接続を切断します。
command
MariaDB [mysql]> quit
Bye
これでデータベース側の準備は完了です。
6. WordPressのインストール
項目5. まででサーバー側の設定は完了しました。これからはWordPressに用意されているウェブベースのインストーラーを利用してWordPressのインストールを行います。事前に必要な情報を準備してから進めていきます。必要になる情報は
- データベース名 (本記事ではwpdb)
- ユーザー名 (本記事ではwpdbadmin)
- パスワード (設定したパスワード、本記事ではpassword)
の3点です。
6-1. WordPressインストーラーへの接続
WordPressをインストールするためにはウェブペースのインストーラーへ接続が必要になります。本記事の手順を行った場合、インストーラーのURLは
https://サーバのホスト名、又はIPアドレス/wp-admin/install.php
になります。(httpsが有効な場合のURLになります。)記事
「SEO対策にも有効!CentOS 7 と Let’s Encryptで信頼性の高いHTTPSを設定する」
で設定したウェブサーバーの場合は
https://www.testdom.com/wp-admin/install.php
になります。URLについては実際の環境に読み替えて下さい。ブラウザから接続できるとインストーラーのスタート画面が表示されます。
「さあ、始めましょう!」をクリックして、先へ進めてます。
6-2. データベースへの接続情報を入力
次の画面ではデータベースの接続情報を入力する画面になります。入力前の画面は最初から情報が入っています。これを作成したデータベースに合わせて内容を変更します。
変更が必要な項目は以下の3点です。
- データベース名 (本記事ではwpdb)
- ユーザー名 (本記事ではwpdbadmin)
- パスワード (設定したパスワード、本記事ではpassword)
それ以外の項目は本記事の環境では変更不要です。項目5. で作成したデータベースの情報を入力します。変更した画面は以下のようになります。
設定情報に間違いがなければ「送信」ボタンをクリックして先へ進めます。
6-3. データベースの接続性確認とWordPressのインストール開始
データベースへの接続が確認されます。正常に接続ができれば、以下の画面が表示されます。
本画面が表示されれば、データベースとの接続は完了しています。「インストール実行」をクリックして、インストールを実行します。
6-4. WordPressサイト情報の入力
インストールの開始すると「ようこそ」画面が表示されます。
ここではサイトの作成に必要な情報を入力します。太字になっている項目は指定が必須の情報になります。以下が必須の項目です。
- サイトのタイトル
- ユーザー名
- パスワード
- メールアドレス
を指定します。ここでは以下のように指定を行いました。
※ユーザー名以外はインストール後の設定変更も可能です。
情報の入力後、「WordPressをインストール」をクリックして、インストールを開始します。
6-5. WordPressインストールの終了
WordPressのインストールが終了すると、以下の画面が表示されます。
「成功しました!」と表示されていれば、WordPressのインストールは完了です。
7. WordPressへのログインと更新
インストールの完了画面から「ログイン」をクリックすると、WordPressのログイン画面が表示されます。
項目6-3. で設定したユーザー名とパスワードを入力して「ログイン」をクリックすると、WordPressの管理画面へログインできます。
7-1. WordPressの更新
WordPressへのログイン後に、最新の状態に更新することをお勧めします。上部にある更新状況を示すアイコンに1と表示されています。これは更新が可能なソフトウェアが一つあるという意味になります。アイコンをクリックします。
クリックすると更新内容が表示されます。今回はWordPress自体は最新のものですが、翻訳について新しいものが利用できるということがわかります。「翻訳を更新」をクリックします。
翻訳の更新が開始されます。以下の画面のように「翻訳が正常に更新されました。」と表示されれば更新は完了です。
基本的には本記事の手順の場合、WordPressは最新のものをインストールできますので、WordPress自体更新は発生しないのですが、今回のように部分的に更新が必要な場合がありますので、忘れずに更新を行っておきます。更新が完了すると、アイコンの数字が消えて、更新できる内容が消えます。
8. WordPressサイトの確認
管理画面へのログインと更新が完了しましたので、実際に運用されるサイトの確認を行います。上部メニューのサイト名にマウスを併せると「サイトを表示」というサブメニューが表示されますので、これをクリックします。
クリックすると以下のようにデフォルトで作成されたサイトの画面が表示されます。
これでサイトの確認は完了です。
9. まとめ
本記事では作成したLAMP環境(Linux/Apache/MySQL/PHP)にCMSであるWordPressのインストールと確認までを行いました。
WordPressは弊社のウェブサイトでも利用していますが、オープンソースであることが信じられないほど、機能が豊富なCMSです。ウェブサイトでの情報を多く、カスタイマイズも容易であることから多くのウェブサイトに採用されていることも納得できます。
是非、自社のサイト構築にWordPressの導入を行ってみて下さい。レンタルサーバーで手軽に運用することもできますが、バックエンドがどのような仕組みで動作しているかということが理解しやすいと思います。