某合宿で web サービスを作成する際に cakePHP を利用したので,そのまとめ.ローカルでの立ち上げから,サーバに up して外部から見れるようにするまでやる.導入とサーバ立ち上げの両方ではまった.
自分の環境
Mac OS X Yosemite です.
1 2 3 4 |
|
インストール
まず composer をいれる.
1
|
|
適当なプロジェクトを作成してみる.
1
|
|
エラーが出た.
1 2 3 4 5 |
|
intl がないと言われる.Mac の人は pecl を利用してintl
を導入する(pecl導入していない場合は導入して…).
Win の人は php.ini
の ;extention=php_intl.dll
のコメントアウトを外すと良い.
1
|
|
すると,またエラーが出る.
1 2 |
|
ICUがないと言われるので導入する.homebrew でインストールした.
1 2 |
|
もう一度インストールしてみる.
1 2 3 4 5 6 7 8 9 |
|
やっとインストールできた!
sudo apachectl start
でapacheを起動し,phpでintlがロードできているか確認する.
1 2 |
|
できているらしい.今度こそプロジェクトをちゃんと作ってみる.
1 2 3 4 |
|
bin/cake server
を起動し,localhost:8765
にアクセスできて確認できればOK.
$ sudo ./pecl install intl
環境構築 - icuのインストール - Qiita
intl と APC を PHP 5.3.15 (MacBook Air)… « をぶろぐ
Installing Intl package on OSX Lion - Darragh Enright
CakePHP3の使い方まとめ - Qiita
サーバにアップロード
IDCFクラウドのサービスを利用した.
設定
仮想マシンを作成して,めちゃらくガイドを参考に設定すればいい.OS は班員の一人が利用したことがあるということで Debian にした.
ログイン
秘密鍵をダウンロードできたはず(うろ覚え…)なので,以下でアクセスできるはず.
ssh -i [/path/to/秘密鍵] -p 22 [user_name]@[IPアドレス]
アプリの立ち上げ
cakePHP で作成したアプリケーションは,Github あたりで共有しておいて,サーバにログイン & clone すればよい.設定で 80 番ポートを開けていたので,そこでアプリケーションを起動すればよいはず.ポートの指定方法は公式にある.
1
|
|
これでhttp://[IPアドレス]
にアクセスすればよいはずなんだけど,できなくてはまった.ちょっと調べてみると…
1 2 |
|
IPv4 ではなく,IPv6 で LISTEN してしまっているので,以下のようにホストを指定して起動する.
1 2 3 |
|
これで外部から見れるようになった!サーバの設定が悪いのかと思ってだいぶ時間がかかってしまった…
春だし CakePHP 3.0をComposer経由でCentOS6.5にインストール してみた - Qiita
コンピュータとかバイクとか。 Apache HTTP Server の設定いろいろ。
Linux - 特定のポート番号をLISTENしているプロセスが知りたい - Qiita
ユーザの追加
班員各が公開鍵認証でサーバにアクセスできるようにしたかったので,ユーザ追加の方法もメモっておく.
クライアント側で以下の操作を行う.
1 2 3 4 |
|
サーバ側で以下の操作を行う.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
これで,クライアント側から ssh -i [/path/to/id_hoge] -p 22 [user_name]@210.140.68.52
でサーバにログインできるはず.
ちなみに,ユーザに管理者権限を付与したい場合は,以下のサイトを参考にすればよい.グループに対して設定を行うときには,%wheel ALL=(ALL) ALL
のように先頭に %
を付加するんだけど,なぜか除いてしまっていてつまづいた.
CentOS で root 権限を持ち、sudo を実行できるユーザーを作成する | Webセキュリティの小部屋
Debianでユーザー追加を追加して権限を付与などをするメモ - Qiita