さくらインターネットのレンタルサーバ(スタンダードプラン)へCakePHP3をインストールする方法を説明します。
※with-php-configで、コントロールパネルのPHPのバージョン選択に合わせないと正しくintl.soが作成されない。
作成されても動作しないものが完成する。
- intlの存在確認
- シェルにログイン
- インストールディレクトリの作成
- icuライブラリのインストール
- intlのインストール
- モジュールのコピー
- php.iniの設定
- .cshrcの設定
- composerのインストール
- CakePHPプロジェクトを作成
- 動作確認を取る
- CakePHP3本体と公開用ディレクトリの切り分け
- アップデート方法
intlの存在確認
phoinfoを表示して、intlの存在確認をします。
もし、存在していれば、そのままCakephp3をインストールできます。
<?php phpinfo(); ?>
シェルにログイン
Tera Termなどでシェルにログインします。
インストールディレクトリの作成
ホームディレクトリにインストール用のディレクトリを作成します。
$ cd ~/ $ mkdir local $ mkdir local/src
icuライブラリのインストール
先ほど作成したディレクトリにicuライブラリをインストールします。
$ cd ~/local/src $ wget http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz $ tar zxvf icu4c-57_1-src.tgz $ cd icu/source $ ./configure --prefix=$HOME/local $ gmake $ gmake install
intlのインストール
続いて、intlもインストールします。
$ cd ~/local/src $ wget http://pecl.php.net/get/intl-3.0.0.tgz $ tar zxvf intl-3.0.0.tgz $ cd intl-3.0.0 $ phpize $ ./configure --prefix=$HOME/local --with-icu-dir=$HOME/local --with-php-config=/usr/local/php/default/bin/php-config $ make
with-php-configで指定しているパスは、コントロールパネルのPHPのバージョン選択に合わせる必要があります。
例えば、5.3の場合は、/usr/local/php/5.3/bin/php-config になります。
コントロールパネルで、新しいバージョンを推奨に設定すると現在のバージョンがdefaultとなります。
新しいバージョンを推奨に設定してからconfigureすると良いと思います。
モジュールのコピー
作成したモジュールをコピーしていきます。
$ cd ~/ $ mkdir modules $ mkdir modules/php $ mkdir modules/php/extensions $ cd modules/php/extensions $ cp ~/local/src/intl-3.0.0/modules/intl.so . $ ln -s /usr/local/php/default/lib/php/extensions/no-debug-non-zts-20131226/* .
php.iniの設定
コントロールパネルにあるphp.iniの設定などから変更します。
extension_dir = /home/USERNAME/modules/php/extensions extension = intl.so
.cshrcの設定
.cshrcに設定を加えます。
$ cd ~/
$ vi .cshrc
最終行に以下を追加して、シェルを立ち上げ直します。
alias php php -c /home/USERNAME/www/php.ini
composerのインストール
ここでようやく、composerのインストールです。
$ cd ~/ $ mkdir composer $ cd composer $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $ php composer-setup.php $ php -r "unlink('composer-setup.php');"
CakePHPプロジェクトを作成
ようやく、CakePHPプロジェクトを作成できるようになりました。
$ cd ~/ $ mkdir project $ cd project $ cp ~/composer/composer.phar . $ php composer.phar create-project --prefer-dist cakephp/app PROJECTNAME
動作確認を取る
さくらインターネットで、独自ドメイン設定などをしていると動かないことがあります。
webrootにある.htaccessに以下を追加するなど、配置場所の調整を取ると直ります。
RewriteBase /
CakePHP3本体と公開用ディレクトリの切り分け
CakePHP3本体を公開用ディレクトリ(www)配下に置くのはセキュリティ上、好ましくありません。
webrootの中身を/home/USERNAME/www/DOMAINに置いて、本体は別のところに置いた方が良いです。
DOMAINは、コントロールパネルで設定したパスの位置になります。
例えば、webroot/index.phpを以下のように変更するなどの方法があります。
require dirname(__DIR__) . '/config/bootstrap.php'; ↓ require '/home/USERNAME/project/PROJECTNAME/' . '/config/bootstrap.php';
config/paths.phpは、以下のようになります。
define('WWW_ROOT', ROOT . DS . 'webroot' . DS); ↓ define('WWW_ROOT', '/home/USERNAME/www/DOMAIN');
アップデート方法
最後にCakePHP3のアップデート方法です。
$ cd ~/ $ cd project/PROJECTNAME $ cp ~/composer/composer.phar . php composer.phar update
以上、さくらインターネットのレンタルサーバにCakePHP3をインストールする方法についてでした。