PHPフレームワーク(CakePHP3)の動作環境を構築する

CakePHP3をインストールする

ComposerでCakePHP3をインストールします。今回は/var/wwwディレクトリにcake3sampleというディレクトリに作成し、そこにインストールします。

cd /var/www
mkdir cake3sample
cd cake3sample
composer create-project --prefer-dist cakephp/app ./

 

CakePHP内のディレクトリに対して権限の設定を行います。

cp /var/www/cake3sample/config/app.default.php /var/www/cake3sample/config/app.php
chmod 777 /var/www/cake3sample/logs/
chmod -R 777 /var/www/cake3sample/tmp/

 

CakePHPの設定ファイルを編集します。Security.saltというCakePHPで使用する暗号化メソッドの基底となる値を設定します。画像の赤線部分を適当なランダム文字列に変更して保存します。

vi /var/www/cake3sample/config/app.php

install_cake3_005

データベースを作成、CakePHP3の設定ファイルを編集する

mariadbのコンソールにログインし、データベースの作成、作成したデータベースに対しての権限の作成、usersという名前のテーブルを作成します。

mysql

 

-- データベースを作成する
CREATE DATABASE cake3sample CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 作成したデータベースに対しての権限を作成する
-- IDENTIFEIDの行の[password]はデータベースへアクセスする際のパスワードになるので適宜変更してください
GRANT ALL ON cake3sample.* TO 'cake3sample'@'localhost'
IDENTIFIED BY '[password]';
FLUSH PRIVILEGES;

-- 作成したデータベースにusersというテーブルを作成する
use cake3sample;
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    created DATETIME,
    modified DATETIME
);
exit;

 

作成したデータベース関係の情報をCakePHP3の設定ファイルに書き込みます。

vi /var/www/cake3sample/config/app.php

230行目付近のusername、password、databaseの項目の値を編集します。

Bakeでデータ管理機能のプログラムを自動生成する

Bakeと呼ばれるCakePHPの機能を使用して先ほど作成したusersテーブルのデータを登録/更新/一覧表示/削除する機能を生成します。

/var/www/cake3sample/bin/cake bake all users

 

自動生成に成功すると以下のような画面が表示されます。

install_cake3_006

SSL証明書を発行(拡張)する

先ほどお名前.comで追加したcake3サブドメインで使用可能なSSL証明書を発行します。今回は先にサブドメインを含まないドメインに対してのSSL証明書を発行していますので、拡張という形で証明書を再発行します。SSL証明書の発行時に80番ポートを使用するため、再発行のコマンドの前後でhttpdを停止、起動します。

systemctl stop httpd
certbot certonly --standalone -d blog.imo-tikuwa.com/ssl -d cake3.blog.imo-tikuwa.com/ssl
systemctl start httpd

certbotコマンド中に以下の画像ようなTUIの表示がされるので指示に従い、<Expand>を選択してEnterキーを押下します。<Expand>を押下してCongratulations!という表示とexpire on ~~という証明書の期限が表示されていれば正常に発行されています。

install_cake3_003

install_cake3_004

httpdのバーチャルホストを設定する

ブラウザでアプリケーションにアクセスできるようにするため、httpdのバーチャルホストの設定ファイルに追記します。

vi /etc/httpd/conf.d/httpd-vhosts.conf

以下を追記します。

<VirtualHost *:80>
    ServerName cake3.blog.imo-tikuwa.com/ssl
    DocumentRoot /var/www/cake3sample/
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    <Directory /var/www/cake3sample/>
        AllowOverride All
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerName cake3.blog.imo-tikuwa.com/ssl
    DocumentRoot /var/www/cake3sample/
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/blog.imo-tikuwa.com/ssl-2016/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/blog.imo-tikuwa.com/ssl-2016/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/blog.imo-tikuwa.com/ssl-2016/chain.pem
    <Directory /var/www/cake3sample/>
        AllowOverride All
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>
タイトルとURLをコピーしました