アプリは結構作成していますが、サーバーサイドはたまにしか作業しないためつい忘れてしまい、、、
あらためてメモすることにしました。
今の主流としてはcomposerを利用して管理するようです。
1.インストールディレクトリの作成
1 2 3 4 5 |
$ cd ~/ $ mkdir local $ mkdir local/src |
2.icuライブラリのインストール
icuが必要なようですが、入れないインストール方法もあるようです。
1 2 3 4 5 6 7 8 9 |
$ cd ~/local/src $ wget http://download.icu-project.org/files/icu4c/58.2/icu4c-58_2-src.tgz $ tar zxvf icu4c-58_2-src.tgz $ cd icu/source $ ./configure --prefix=$HOME/local $ gmake $ gmake install |
3.intlのインストール
defaultの部分はさくらのphpのバージョンで大丈夫です。
1 2 3 4 5 6 7 8 9 |
$ 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 |
4.modulesのコピー
1 2 3 4 5 6 7 8 |
$ cd ~/ $ mkdir modules $ mkdir modules/php $ mkdir modules/php/extensions $ cd modules/php/extensions $ cp ~/local/src/intl-3.0.0/modules/intl.so . |
5.php.ini設定
直接でもよいし、さくらの管理画面でphp.iniの設定を記載します。
1 2 3 4 |
extension_dir = /home/USERNAME/modules/php/extensions extension = intl.so |
6.phpのオプションをエイリアスに設定
オプションを記載するのは面倒なのでaliasに設定します。編集したらsourceでアプデ。
1 2 3 4 |
$ cd ~/ $ vi .cshrc |
1 2 3 |
alias php php -c /home/USERNAME/www/php.ini |
7.composerのインストール
ハッシュはバージョンによって?違いそうなので、https://getcomposer.org/download/でコピペしましょう。
1 2 3 4 5 6 7 8 |
$ cd ~/ $ mkdir composer $ cd composer php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" |
8.プロジェクト作成
プロジェクトフォルダを作成して、プロジェクトを作成します。このときcakephpもインストールされます。
1 2 3 4 5 6 7 |
$ cd ~/ $ mkdir project $ cd project $ cp ~/composer/composer.phar . $ php composer.phar create-project --prefer-dist cakephp/app PROJECT_NAME |
9.公開されるwebrootは別の場所に
公開されているwwwの下にプロジェクトのwebrootのリンクをはります。
ln -s で問題なさそうです。パーミッションはいろいろ後から考えます。