CentOS7、SCL(Software Collections)リポジトリからのLAMP環境構築について(前編)

投稿者: | 2017年11月11日

はじめに

CentOSの標準リポジトリ(Base、Updates、Extras)で提供されているバージョンより、新しいバージョンのパッケージをインストールする場合の方法として、CentOSコミュニティのSoftware Collections SIGで維持、管理されているSCLリポジトリが利用できます。

数年前は、別々のリポジトリからパッケージをインストールしていましたが、SCLリポジトリのみで標準リポジトリに無いパッケージや、新しいバージョンのパッケージをインストールできます。

VagrantとVirtualBoxで構築した仮想マシン上のCentOS 7.4に、SCLパッケージによりCakePHP3が利用できるLAMP環境を構築します。この構築を通して、SCLパッケージの仕組みにより、通常のパッケージとは異なる部分をまとめます。

ソフトウェアコレクションについては「ソフトウェアコレクション(SCL:Software Collections)とは?」で、まとめています。このページだけでも作業は進められます。

「[CentOS7、SCL(Software Collections)リポジトリからのLAMP環境構築について(後編)](http://stupiddog.jp/note/archives/1115)」でCakePHPアプリ(CMSチュートリアル)の実行までの設定をまとめてます。

用語説明

SCLリポジトリとは?

SCLパッケージを提供するためのリポジトリです。

SCL (Software Collections) パッケージとは?

ソフトウェア・コレクションの仕組みに沿って作られたRPMパッケージです。

SCL (Software Collections)とは?

近年の長いサポートライフサイクルの間でも、安定した最新版のソフトウェアコンポーネントを利用できるよう考えられた仕組みで、既存システムを上書きせずに、複数のバージョンの同じソフトウェアコンポーネントを同時にシステムにインストールできます。

Redhatで考えられ、Red Hat Enterprise LinuxとCentOSで利用できます。

(詳細は What are Software Collectionsや、Red Hat Software Collections)

Software Collections SIGとは?

CentOSのSCLパッケージを主に扱っているSIGです。

SCLパッケージの配布は、centos.orgとSoftwareCollections.orgを介して行われます。

(詳細はSoftware Collections SIG)

SIG (Special Interest Group)とは?

特定の話題ごとに作成されたCentOSコミュニティ内の小規模なグループです。

(詳細はSpecial Interest Group)

検証環境

ホスト環境

  • macOS 10.12.6 Sierra
  • Vagrant 2.0.1
  • VirtualBox 5.2.6r120293

ゲスト環境(仮想マシン)

概要

以下の手順で構築・設定を行います。

  • 仮想マシンの構築
  • 仮想マシン構築後のソフトウェア構成確認
  • SCLリポジトリの追加
  • LAMP環境に必要なパッケージのインストール
  • 実行確認

仮想マシンの構築

VagrantとVirtualBoxがインストールされている状態で次の手順で仮想マシンを構築します。

(主目的がSCLについてなので、仮想マシン構築の詳細説明は省きます)

  1. Vagrantのプロジェクトのルートディレクトリを作成し、設定ファイル(Vagrantfile)を作成します。
~$ mkdir -p vm/lamp
~$ cd vm/lamp
~/vm/lamp $ vagrant init -m
~/vm/lamp $ ls
Vagrantfile
  1. vagrant initコマンドで作成されたVagrantfileの中身を以下の内容に置き換えます。
#
# Vagrantfile
#
Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.box_version = "1801.02"

  config.vm.network "private_network", ip:"192.168.202.201"
  config.vm.hostname = "www.local" 

  config.vbguest.auto_update = false
  config.vbguest.no_remote   = true

  config.vm.provider "virtualbox" do |vb|
      vb.memory = 4096
      vb.customize ["modifyvm", :id, "--natdnshostresolver1", "off"]
  end
end
  1. vagrant upにより仮想マシンを構築、起動します。
~/vm/lamp $ vagrant up

仮想マシン構築後のソフトウェア構成確認

vagrant sshコマンドで構築した仮想マシンへSSHログインし、仮想マシン構築後の状態を確認します。

~/vm/lamp $ vagrant ssh
[vagrant@www ~]$

リポジトリリスト

3つの標準リポジトリ(Base、Updates、Extras)が有効な状態です。

[vagrant@www ~]$ yum repolist -q
repo id                             repo name                             status
base/7/x86_64                       CentOS-7 - Base                       9,591
extras/7/x86_64                     CentOS-7 - Extras                       388
updates/7/x86_64                    CentOS-7 - Updates                    1,929

標準パッケージの状況

OS以外の各パッケージが少々古いバージョンです。

php5.4に関しては、セキュリティサポートも含めて公式サポートが終了しています。

Webフレームワークの必要条件でも、CakePHP3はphp5.6以降、Laravel 5.6はphp7.1.3以降なので条件不足です。

LAMPのL (Linux)

これは既にインストール済みのCentOS 7.4です。

[vagrant@www ~]$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 

LAMPのA (Apache httpd)

CentOS Wiki – CentOSの製品仕様 – Web Serverから、httpd 2.4.6 (apache)が利用可能です。

[vagrant@www ~]$ yum -q list httpd
Available Packages
httpd.x86_64                    2.4.6-67.el7.centos.6                    updates

LAMPのM (MySQL)

CentOS Wiki – CentOSの製品仕様 – Databaseから、MariaDB 5.5.xが標準対応です。

[vagrant@www ~]$ yum -q list mariadb
Available Packages
mariadb.x86_64                        1:5.5.56-2.el7                        base

標準対応のDatabaseがMySQLからMariaDBに変わったため、現在の標準リポジトリにはMySQLパッケージがありません。(SCLリポジトリからMySQLをインストールできます)

LAMPのP (PHP)

CentOS Wiki – CentOSの製品仕様 – Programming Languagesから、php5.4が利用可能です。

[vagrant@www ~]$ yum -q list php | cat
Available Packages
php.x86_64                        5.4.16-43.el7_4                        updates

SCLリポジトリの追加

SCLリポジトリを登録するためのパッケージはCentOS Extrasリポジトリに含まれるので、yumコマンドによりSCLリポジトリを追加できます。

インストール

[vagrant@www ~]$ sudo yum install centos-release-scl-rh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package centos-release-scl-rh.noarch 0:2-2.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                       Arch           Version                Repository      Size
==========================================================================================
Installing:
 centos-release-scl-rh         noarch         2-2.el7.centos         extras          12 k

Transaction Summary
==========================================================================================
Install  1 Package

Total download size: 12 k
Installed size: 19 k
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/extras/packages/centos-release-scl-rh-2-2.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for centos-release-scl-rh-2-2.el7.centos.noarch.rpm is not installed
centos-release-scl-rh-2-2.el7.centos.noarch.rpm                    |  12 kB  00:00:00     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Is this ok [y/N]: y

GPG keyに対する警告について(標準リポジトリ)

初回のyum installではGPG Keyがインポートされていないので警告が出ます。GPG Keyのファイルはローカルにあるので、問い合わせにyと答えればインポートされます。

GPG Keyは公式サイトで公開されているので、一応Fingerprintを確認してからインポートします。

CentOS 7 Signing Key

SCLリポジトリの確認

[vagrant@www ~]$ yum -q repolist
repo id                               repo name                           status
base/7/x86_64                         CentOS-7 - Base                     9,591
centos-sclo-rh/x86_64                 CentOS-7 - SCLo rh                  6,640
extras/7/x86_64                       CentOS-7 - Extras                     388
updates/7/x86_64                      CentOS-7 - Updates                  1,929

centos-sclo-rh/x86_64 CentOS-7 – SCLo rh」が追加されたSCLリポジトリです。

LAMP環境に必要なパッケージのインストール

SCLリポジトリからインストールできるSCLパッケージは標準パッケージとは異なり、それぞれが衝突しないように命名ガイドに従って一意の名前が付けられています。また、インストールされる場所も異なります。

(詳細はPackaging Guide – 2.5. Software Collection Package Names)

必要なパッケージを調べる場合はBrowse Collectionsで検索できます。

LAMP環境に必要なパッケージは以下の通りです。(2018.1.28時点)

#パッケージ名コンポーネント
1httpd24Apache HTTP Server 2.4
2rh-mysql57MySQL 5.7
3rh-php71PHP7.1 with PEAR 1.10

インストール

パッケージ名が一意なので--enablerepoでリポジトリを指定する必要はありません。

GPG keyに対する警告について(SCLリポジトリ)

ここでも、初回はGPG keyがインポートされていないので警告がでます。

...
warning: /var/cache/yum/x86_64/7/centos-sclo-rh/packages/httpd24-1.1-18.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f2ee9d55: NOKEY
Public key for httpd24-1.1-18.el7.x86_64.rpm is not installed
Importing GPG key 0xF2EE9D55:
 Userid     : "CentOS SoftwareCollections SIG (https://wiki.centos.org/SpecialInterestGroup/SCLo) <security@centos.org>"
 Fingerprint: c4db d535 b1fb ba14 f8ba 64a8 4eb8 4e71 f2ee 9d55
 Package    : centos-release-scl-rh-2-2.el7.centos.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
Is this ok [y/N]: 

SCLリポジトリのGPG KeyはCommunity Driven Project keys – Software Collections SIGです。Fingerprintを確認してインポートします。

Apache httpd 2.4

[vagrant@www ~]$ sudo yum -q install httpd24

==========================================================================================
 Package                     Arch        Version                Repository           Size
==========================================================================================
Installing:
 httpd24                     x86_64      1.1-18.el7             centos-sclo-rh      4.5 k
Installing for dependencies:
 apr                         x86_64      1.4.8-3.el7_4.1        updates             103 k
 apr-util                    x86_64      1.5.2-6.el7            base                 92 k
 audit-libs-python           x86_64      2.7.6-3.el7            base                 73 k
 checkpolicy                 x86_64      2.5-4.el7              base                290 k
 httpd24-httpd               x86_64      2.4.27-8.el7           centos-sclo-rh      1.4 M
 httpd24-httpd-tools         x86_64      2.4.27-8.el7           centos-sclo-rh       86 k
 httpd24-libnghttp2          x86_64      1.7.1-6.el7            centos-sclo-rh       61 k
 httpd24-runtime             x86_64      1.1-18.el7             centos-sclo-rh       28 k
 libcgroup                   x86_64      0.41-13.el7            base                 65 k
 libsemanage-python          x86_64      2.5-8.el7              base                104 k
 mailcap                     noarch      2.1.41-2.el7           base                 31 k
 policycoreutils-python      x86_64      2.5-17.1.el7           base                446 k
 python-IPy                  noarch      0.75-6.el7             base                 32 k
 scl-utils                   x86_64      20130529-18.el7_4      updates              24 k
 setools-libs                x86_64      3.3.8-1.1.el7          base                612 k

Transaction Summary
==========================================================================================
Install  1 Package (+15 Dependent packages)

Is this ok [y/d/N]: y

MySQL5.7

[vagrant@www ~]$ sudo yum -q install rh-mysql57

==========================================================================================
 Package                      Arch        Version               Repository           Size
==========================================================================================
Installing:
 rh-mysql57                   x86_64      2.3-3.el7             centos-sclo-rh      6.4 k
Installing for dependencies:
 perl                         x86_64      4:5.16.3-292.el7      base                8.0 M
 perl-Carp                    noarch      1.26-244.el7          base                 19 k
 perl-Encode                  x86_64      2.51-7.el7            base                1.5 M
 perl-Exporter                noarch      5.68-3.el7            base                 28 k
 perl-File-Path               noarch      2.09-2.el7            base                 26 k
 perl-File-Temp               noarch      0.23.01-3.el7         base                 56 k
 perl-Filter                  x86_64      1.49-3.el7            base                 76 k
 perl-Getopt-Long             noarch      2.40-2.el7            base                 56 k
 perl-HTTP-Tiny               noarch      0.033-3.el7           base                 38 k
 perl-PathTools               x86_64      3.40-5.el7            base                 82 k
 perl-Pod-Escapes             noarch      1:1.04-292.el7        base                 51 k
 perl-Pod-Perldoc             noarch      3.20-4.el7            base                 87 k
 perl-Pod-Simple              noarch      1:3.28-4.el7          base                216 k
 perl-Pod-Usage               noarch      1.63-3.el7            base                 27 k
 perl-Scalar-List-Utils       x86_64      1.27-248.el7          base                 36 k
 perl-Socket                  x86_64      2.010-4.el7           base                 49 k
 perl-Storable                x86_64      2.45-3.el7            base                 77 k
 perl-Text-ParseWords         noarch      3.29-4.el7            base                 14 k
 perl-Time-HiRes              x86_64      4:1.9725-3.el7        base                 45 k
 perl-Time-Local              noarch      1.2300-2.el7          base                 24 k
 perl-constant                noarch      1.27-2.el7            base                 19 k
 perl-libs                    x86_64      4:5.16.3-292.el7      base                688 k
 perl-macros                  x86_64      4:5.16.3-292.el7      base                 43 k
 perl-parent                  noarch      1:0.225-244.el7       base                 12 k
 perl-podlators               noarch      2.5.1-3.el7           base                112 k
 perl-threads                 x86_64      1.87-4.el7            base                 49 k
 perl-threads-shared          x86_64      1.43-6.el7            base                 39 k
 rh-mysql57-lz4               x86_64      r131-5.el7            centos-sclo-rh       71 k
 rh-mysql57-mecab             x86_64      0.996-1.el7.8         centos-sclo-rh      383 k
 rh-mysql57-mysql             x86_64      5.7.19-6.el7          centos-sclo-rh      8.3 M
 rh-mysql57-mysql-common      x86_64      5.7.19-6.el7          centos-sclo-rh       88 k
 rh-mysql57-mysql-config      x86_64      5.7.19-6.el7          centos-sclo-rh       60 k
 rh-mysql57-mysql-errmsg      x86_64      5.7.19-6.el7          centos-sclo-rh      273 k
 rh-mysql57-mysql-server      x86_64      5.7.19-6.el7          centos-sclo-rh       19 M
 rh-mysql57-runtime           x86_64      2.3-3.el7             centos-sclo-rh      1.2 M

Transaction Summary
==========================================================================================
Install  1 Package (+35 Dependent packages)

Is this ok [y/d/N]: y

PHP7.1

[vagrant@www ~]$ sudo yum -q install rh-php71

==========================================================================================
 Package                    Arch         Version               Repository            Size
==========================================================================================
Installing:
 rh-php71                   x86_64       1-1.el7               centos-sclo-rh       4.1 k
Installing for dependencies:
 libxslt                    x86_64       1.1.28-5.el7          base                 242 k
 rh-php71-php-cli           x86_64       7.1.8-1.el7           centos-sclo-rh       2.7 M
 rh-php71-php-common        x86_64       7.1.8-1.el7           centos-sclo-rh       648 k
 rh-php71-php-json          x86_64       7.1.8-1.el7           centos-sclo-rh        52 k
 rh-php71-php-pear          noarch       1:1.10.4-1.el7        centos-sclo-rh       356 k
 rh-php71-php-process       x86_64       7.1.8-1.el7           centos-sclo-rh        61 k
 rh-php71-php-xml           x86_64       7.1.8-1.el7           centos-sclo-rh       159 k
 rh-php71-php-zip           x86_64       7.1.8-1.el7           centos-sclo-rh        89 k
 rh-php71-runtime           x86_64       1-1.el7               centos-sclo-rh       1.1 M

Transaction Summary
==========================================================================================
Install  1 Package (+9 Dependent packages)

Is this ok [y/d/N]: y

CakePHP3に必要なPHP拡張

いくつかのパッケージは依存パッケージとしてインストールされていますが、CakePHP3を利用するために不足しているパッケージを追加します。

必要なパッケージの一覧

#パッケージ名コンポーネント/PHP拡張
1rh-php71-php-intlintl PHP拡張
2rh-php71-php-mbstringmbstring PHP拡張
3rh-php71-php-xmlsimplexml PHP拡張 (インストール済)
4rh-php71-php-zipzip PHP拡張 (インストール済)(composerで必要となります)
5rh-php71-php-pdoPDO PHP拡張
6rh-php71-php-mysqlndMySQL Native Driver
7rh-php71-phpmod_php(apacheでphpを処理するモジュール)
[vagrant@www ~]$ sudo yum install -q rh-php71-php rh-php71-php-{intl,mbstring,xml,pdo,mysqlnd}
Package rh-php71-php-xml-7.1.8-1.el7.x86_64 already installed and latest version

==========================================================================================
 Package                     Arch         Version              Repository            Size
==========================================================================================
Installing:
 rh-php71-php                x86_64       7.1.8-1.el7          centos-sclo-rh       1.3 M
 rh-php71-php-intl           x86_64       7.1.8-1.el7          centos-sclo-rh       165 k
 rh-php71-php-mbstring       x86_64       7.1.8-1.el7          centos-sclo-rh       521 k
 rh-php71-php-mysqlnd        x86_64       7.1.8-1.el7          centos-sclo-rh       165 k
 rh-php71-php-pdo            x86_64       7.1.8-1.el7          centos-sclo-rh        98 k
Installing for dependencies:
 libicu                      x86_64       50.1.2-15.el7        base                 6.9 M

Transaction Summary
==========================================================================================
Install  5 Packages (+1 Dependent package)

Is this ok [y/d/N]: y

Git

CakePHP3のインストール時に利用するcomposerコマンドで必要になります。

[vagrant@www ~]$ sudo yum install -q rh-git29

==========================================================================================
 Package                    Arch        Version                 Repository           Size
==========================================================================================
Installing:
 rh-git29                   x86_64      2.3-4.el7               centos-sclo-rh      2.9 k
Installing for dependencies:
 emacs-filesystem           noarch      1:24.3-20.el7_4         updates              58 k
 httpd24-libcurl            x86_64      7.47.1-4.el7            centos-sclo-rh      260 k
 libgnome-keyring           x86_64      3.12.0-1.el7            base                109 k
 perl-Error                 noarch      1:0.17020-2.el7         base                 32 k
 perl-TermReadKey           x86_64      2.30-20.el7             base                 31 k
 rh-git29-git               x86_64      2.9.3-3.el7             centos-sclo-rh      983 k
 rh-git29-git-core          x86_64      2.9.3-3.el7             centos-sclo-rh      3.4 M
 rh-git29-git-core-doc      x86_64      2.9.3-3.el7             centos-sclo-rh      2.2 M
 rh-git29-perl-Git          noarch      2.9.3-3.el7             centos-sclo-rh       35 k
 rh-git29-runtime           x86_64      2.3-4.el7               centos-sclo-rh       25 k

Transaction Summary
==========================================================================================
Install  1 Package (+10 Dependent packages)

Is this ok [y/d/N]: y

SCLパッケージがインストールされる場所

/opt以下にサブディレクトリが作成されます。

[vagrant@www ~]$ find /opt -maxdepth 2
/opt
/opt/rh
/opt/rh/httpd24
/opt/rh/rh-mysql57
/opt/rh/rh-php71
/opt/rh/rh-git29

SCLパッケージ間での連携

SCLパッケージ内で依存関係を持ち、共通ライブラリの配置や、デフォルトで実行できる設定ファイルなどで連携が取れています。これにより、少ない手順で環境の構築が行えます。

例としてmod_phpを提供するrh-php71-phpパッケージを確認すると、httpd24パッケージで配置されるディレクトリに、各種ファイルを配置する構成なのが分かります。

[vagrant@www ~]$ repoquery -ql rh-php71-php
/opt/rh/httpd24/root/etc/httpd/conf.d/rh-php71-php.conf
/opt/rh/httpd24/root/etc/httpd/conf.modules.d/15-rh-php71-php.conf
/opt/rh/httpd24/root/usr/lib64/httpd/modules/librh-php71-php7.so
/opt/rh/httpd24/root/usr/share/httpd/icons/rh-php71-php.gif
/opt/rh/rh-php71/register.content/var/opt/rh/rh-php71/lib/php/session
/opt/rh/rh-php71/register.content/var/opt/rh/rh-php71/lib/php/wsdlcache
/var/opt/rh/rh-php71/lib/php/opcache
/var/opt/rh/rh-php71/lib/php/session
/var/opt/rh/rh-php71/lib/php/wsdlcache

librh-php71-php7.soが共通ライブラリ、rh-php71-php.confmod_phpを使うための設定ファイルです。

設定ファイルを編集することなく、httpd24サービスを起動すだけでphpの拡張子を持ったファイルを処理することができます。

実行確認

Apache httpdの起動

systemctlコマンドでhttpd24-httpdサービスを起動します。

[vagrant@www ~]$ sudo systemctl start httpd24-httpd
[vagrant@www ~]$ sudo systemctl status httpd24-httpd
● httpd24-httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd24-httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-02-09 18:36:41 UTC; 10min ago
 Main PID: 3309 (httpd)
   Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec:   0 B/sec"
   CGroup: /system.slice/httpd24-httpd.service
           ├─3309 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
           ├─3310 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
           ├─3311 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
           ├─3312 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
           ├─3313 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
           └─3314 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND

設定ファイル(httpd.conf)の位置

設定ファイルは/opt/rh/httpd24/root/etc/httpd/conf/httpd.confにあります。

DocumentRootの位置

初期状態でのDocumentRootの位置は/opt/rh/httpd24/root/var/www/htmlです。
(後々、別の場所を使うので、初期状態の位置は気にせず進めます)

[vagrant@www www]$ grep -ir ^documentroot /opt/rh/httpd24/root/etc/httpd/conf/httpd.conf
DocumentRoot "/opt/rh/httpd24/root/var/www/html"

ファイルの配置

DocumentRootindex.phpファイルを以下の内容で作成します。

<?php
echo "<h1>らんぷ</h1>" . PHP_EOL;
phpinfo();

所有者、権限は以下の状態でかまいません。(CGIではないので実行権限は不要です)

[vagrant@www html]$ ll
total 4
-rw-r--r--. 1 root root 55 Feb  9 19:13 index.ph

サイトへアクセス

Vagrantfileでホスト名にwww.localを指定しているので、ホストOSのブラウザでhttp://www.local/index.phpへアクセスすれば、このページを表示できます。

備考

ここまでの手順は、SELinuxを有効にしたままで行えます。

どうしても以下のようなHTTP ERROR 500になる場合は、問題を減らすため一時的にSELinuxを監視だけにして原因を探ります。

[vagrant@www html]$ sudo setenforce 0
[vagrant@www html]$ getenforce 
Permissive

まとめ

これで設定無しでインストール可能なパッケージのインストールが完了しました。

ソフトウェア・コレクション(SCL)はパッケージ名やインストール先が変わるので、違和感がありますがSCLリポジトリだけで必要なパッケージが揃うので管理が容易です。ただし、SCLリポジトリのパッケージの更新は各々のプロジェクトに任されているので廃れないことを祈るばかりです。

次はCakePHP3アプリを実行するところまで行います。