
AWSにCakePHPをインストールして環境構築する
CakePHPの環境をAWSのEC2上に構築することがあったので、手順をまとめます。
AWSでEC2のインスタンスを作成
まずは、AWSでEC2のインスタンスを作成します。
手順はAWS公式のチュートリアルが分かりやすいので、参考にしてください。
↓AWS公式チュートリアル
https://aws.amazon.com/jp/getting-started/tutorials/launch-a-virtual-machine/
LAMP環境の構築
まずはLAMP(Linux、Apache、MySQL、PHP)環境を作ります。
パッケージを最新にする
$ sudo yum update -y
LAMPのインストール
本記事では、以下のバージョンでインストールします。
Apache:2.4
PHP:7.2
MySQL:5.7
PHPの拡張モジュール「mysqlnd」も一緒にインストールします。
$ sudo yum install -y httpd24 php72 mysql57-server php72-mysqlnd
Apacheの起動
LAMPのインストールが完了したら、Apacheを起動します。
$ sudo service httpd start
また、EC2を再起動した場合にApacheが自動で起動するように設定します。
$ sudo chkconfig httpd on
$ chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
HTTP接続の許可
EC2インスタンスは作成した時点では、HTTP接続を許可していないので、許可設定を追加します。
該当するインスタンスのセキュリティグループのインバウンドで、以下のようにHTTPを追加します。
ブラウザで確認
ここで、ブラウザからインスタンスのパブリックDNSアドレス(またはパブリックIPアドレス)を開くと、以下のようにApacheのテストページが表示されます。
ドキュメントルートの権限を設定
Apacheのドキュメントルート(/var/www/html)は、デフォルトではroot権限になっているため、ec2-userで使用できるように設定します。
apacheグループにec2-userを追加します。
$ sudo usermod -a -G apache ec2-user
一度ログアウトして、再ログインします。
$ exit
apacheグループが設定されているかを確認します。
$ groups
ec2-user wheel apache
/var/www/のグループ所有権をApacheグループに変更します。
$ sudo chown -R ec2-user:apache /var/www
グループの書き込み権限を追加し、サブディレクトリに対しても再帰的に許可を設定します。
$ sudo chmod 2775 /var/www
$ find /var/www -type d -exec sudo chmod 2775 {} \;
$ find /var/www -type f -exec sudo chmod 0664 {} \;
LAMPサーバーの動作確認
インストールおよびファイルのアクセス許可が正しく設定できたかを確認するために、PHPファイルを作成します。
$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
ブラウザで確認すると、以下のページが表示されます。
正しく表示することが確認できたら、作成したファイルは削除します。
$ rm /var/www/html/phpinfo.php
MySQLの設定
MySQLを起動します。
$ sudo service mysqld start
MySQLの初期設定を行います。
$ sudo mysql_secure_installation
rootのパスワードを入力しますが、デフォルトでは設定されていないのでEnterキーを押します。
新しいパスワードを設定します。
Please set the password for root here.
New password:
Re-enter new password:
「Y」と入力して匿名ユーザーアカウントを削除します。
「Y」と入力してリモートルートログインを無効にします。
「Y」と入力してテストデータベースを削除します。
「Y」と入力して権限テーブルを再ロードし、変更を保存します。
EC2を再起動した場合にMySQLが自動で起動するように設定します。
$ sudo chkconfig mysqld on
CakePHPのインストール
LAMP環境ができたら、CakePHPをインストールします。
必要なライブラリをインストール
まず、CakePHPに必要なライブラリをインストールします。
$ sudo yum install -y php72-intl php72-mbstring php72-pdo
Composerのインストール
CakePHPはComposerを利用してインストールするので、まずはComposerをインストールします。
$ cd ~
$ curl -sS https://getcomposer.org/installer | sudo php
All settings correct for using Composer
Downloading...
Composer (version 1.8.6) successfully installed to: /home/ec2-user/composer.phar
Use it: php composer.phar
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo ln -s /usr/local/bin/composer /usr/bin/composer
Composerのインストールが正常に完了したかを確認します。
下記のようにバージョンが表示されれば、インストール完了です。
$ composer -V
Composer version 1.8.6 2019-06-11 15:03:05
CakePHPプロジェクトの作成
CakePHPをインストールし、プロジェクトを作成します。
$ cd /var/www/html
$ composer create-project --prefer-dist cakephp/app [ここにプロジェクト名を入れる]
Apacheのドキュメントルートを変更します。
$ sudo vi /etc/httpd/conf.d/custom.conf
以下のようにドキュメントルートを変更します。
DocumentRoot "/var/www/html/[プロジェクト作成時に指定したプロジェクト名]"
Apacheを再起動します。
$ sudo service httpd restart
ブラウザで確認
ブラウザでアクセスし、以下の画面が表示されればCakePHPのインストール完了です。
▼ 業務効率化代行サービス「カワリニ」
「業務効率化って簡単に言うけど、なかなか実現できない。」
そんな状況にいるのなら、お気軽にご相談ください。あなたの代わりに、業務効率化を担当します。
IT全般はお任せ。
プログラミングメインに活動中。
Java、PHP、C#、SQL、HTML、CSSやWordPressなどプログラミングから、情シスなど奮闘中。
最近の趣味はGAS。
競馬が好き。そしてスポーツ、読書、食べること、スイーツ好き。
好きなことでサービスやアプリを作りたい。
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。