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