パッケージをインストール
$ 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を開けて動作確認を行います。