[CakePHP3]AWS Linux2にPHP7.2とCakePHP3をインストール

AWS(アマゾンウェブサービス)のEC2インスタンスにCakePHP3をインストールした際の流れを記録した備忘録です。掲載日:2019年3月23日

悪戦苦闘の末、AWS EC2に下記のインスタンスを作成してCakePHPの初期画面を表示させることができました。

【AWS EC2 設定内容】
Amazon マシンイメージ (AMI):Amazon Linux 2 AMI (HVM)
PHP7.2
CakePHP3.7.5 Red Velvet

[LAMP サーバー構築]Amazon Linux 2のExtras Libraryを利用してPHP 7.2をインストール

AWS EC2にコマンドラインでログイン
ソフトウェアの更新を実行
$ sudo yum update -y
Amazon Linux Extras リポジトリをインストールしてAmazon Linux 2 PHP パッケージの最新バージョンを取得。PHP7.2をインストール
$ sudo amazon-linux-extras install -y php7.2
PHP本体のインストールとCakePHP公式サイトに記載のあった下記モジュール類をインストール
mbstring PHP 拡張、intl PHP 拡張、simplexml PHP 拡張
$ sudo yum install php php-mbstring php-intl php-xml
【2019年4月10日追記】
Apacheのインストールを書洩らしていましたので、下記に追記しました。MySQLは別途インストールする段取りにしました。
$ sudo yum install -y httpd
【2019年8月8日追記】
上記「sudo yum install php php-mbstring php-intl php-xml」を実行するとapacheも依存チェックにより、自動でインストールされていました。

Composerインストール

公式の Composer ドキュメント に書かれた インストーラースクリプトを実行。
Composer にパスを通す。
sudo mv composer.phar /usr/local/bin/composer

CakePHP3インストール

/var/www/html内に移動してCakePHPをインストール
※インストール前にディレクトリの所有権とアクセス許可を設定しておいてください。詳細はAWSのチュートリアル「ファイルの許可を設定するには」を参照してください。

composer create-project --prefer-dist cakephp/app my_cake_app

インストールが無事終われば、Apacheの設定へ

Apache設定

/etc/httpd/conf/httpd.conf設定変更。「webroot」をDocumentRootに加えることを忘れずに!
DocumentRoot "/var/www/html/cake/webroot"
.htaccessを使うため、下記に変更
Directory "/var/www/html"
AllowOverride None

AllowOverride All

【2019年8月8日追記】
DocumentRoot “/var/www/html/cake/webroot”のcakePHPのディレクトリ名が間違っていました。
修正前:DocumentRoot “/var/www/html/cake/webroot”

修正後:DocumentRoot “/var/www/html/my_cake_app/webroot”

CakePHP3インストール成功

Amazon Linux 2のExtras Libraryを使用することでphp7.2をインストールできることが分かりました。

Composerを使うメリット

パーミッション設定がラクに行える
CakePHP2の場合、パーミッションを手動で行っていましたが、Composerを使用することでこれらもコマンドラインで承認すれば、自動で行ってくれます。

CakePHP の変更に合わせて最新の状態に保つ
コマンドラインでphp composer.phar update を実行するたびに、このマイナーバージョンの パッチリリースが手に入るという機能は非常に有用。最新の安定版マイナーリリースを手に入れることができるようです。

【参考サイト】
Amazon Linux 2 に LAMP ウェブサーバーをインストールする
Amazon Linux 2でPHP7.2をインストールする


関連記事

  1. [開発者が使いたい言語]TypeScriptとは?

  2. [SVG]デバイスピクセル比に対応するべく「ベクターデータ」を使用する…

  3. [CakePHP]CakePHP3インストール:PHP7.1

  4. Amazon Echo

    [ウェブシステム開発]Alexa開発スキルを学ぶ:その2

  5. Amazon Echo

    [ウェブシステム開発]Amazon Alexa 開発

  6. Amazon Echo

    [ウェブシステム開発]Amazon Alexa開発:音声デザインガイド…

  7. [Python]pip(パッケージ管理システム)アップグレード

  8. [Alexa スキル開発]オーディオファイル作成

最近の記事

PAGE TOP