インストール手順(CakePHP開発環境)(Ubuntu 18.04)

パッケージをインストール

$ sudo apt-get install composer apache2 libapache2-mod-php libapache2-mod-php7.0 mysql-server sqlite3 php7.0 php-intl php-mbstring php-mysql php7.0-sqlite3 composer

Apacheの設定

/etc/apache2/sites-available/000-default.conf をカスタマイズします。
apache2のルートディレクトリの初期値は/var/wwwですが、CakePHPを設置したいディレクトリへ移動させます。
DocumentRootを書き換え、Directoryブロックを追加します。

DocumentRoot 【設置したいディレクトリ】/webroot
<Directory 【設置したいディレクトリ】/webroot/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

mod_rewriteを有効化します。

$ sudo a2enmod rewrite
$ sudo service apache2 restart

mysqlの設定

データベースを作成します。
【管理ユーザ名】はmysqlのインストール時に設定したユーザです。
【データベースユーザ名】はCakePHPからアクセスするためのユーザです。

$ mysql -u 【管理ユーザ名】 -p
mysql> CREATE DATABASE 【データベース名】 CHARACTER SET utf8;
mysql> GRANT ALL ON *.* to 【データベースユーザ名】@localhost identified by '【パスワード】';
mysql> FLUSH PRIVILEGES;
musql> quit

CakePHPを設置

一般ユーザで下記のコマンドを実行します。
ユーザのホームディレクトリ直下に配置すると、セキュリティを保ちつつftp等で編集することも可能になります。

$ cd 【設置したいディレクトリ】
$ composer create-project --prefer-dist cakephp/app 【サイト名】

config/app.php の中にあるデータベースへの接続情報をカスタマイズします。

'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'persistent' => false,
            'host' => 'localhost',
            /**
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'nonstandard_port_number',
            'username' => '【データベースユーザ名】',
            'password' => '【パスワード】',
            'database' => '【データベース名】',
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'cacheMetadata' => true,

【設置したいディレクトリ】/tmp 以下にwww-dataの書き込み権を追加します。

$ chmod -R o+w 【設置したいディレクトリ】/tmp

【設置したいディレクトリ】/logs 以下にwww-dataの書き込み権を追加します。

$ chmod -R o+w 【設置したいディレクトリ】/logs

スタイルシート/webroot/css/cake.cssにwww-dataの読み込み権を追加します。

$ chmod o+r 【設置したいディレクトリ】/webroot/css/cake.css

動作テスト

ブラウザでCakePHPを設置したマシンのURLを開けて動作確認を行います。