16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cloud9でCakePHP3.2開発環境構築の手順

Posted at

ドットインストールさんの動画を参考に、Cloud9でCakePHP3の開発環境を作ってPHPの学習をしました。その際の手順を残します。

1.PHP環境の確認

まずは、必要要件であるPHP環境を確認。
CakePHP3.2での必要条件は、以下のとおり。

PHPのバージョンが5.5.9 以上
インターナショナル拡張が必要

➀PHPのバージョン確認

$ php -v

私の環境では、以下のように表示されました。
PHP 5.5.9-1ubuntu4.17 (cli) (built: May 19 2016 19:05:57)

➁PHPインターナショナル拡張の確認

$ php -i|grep intl

以下のように表示されればOK。(私の環境では拡張済みでした。)
/etc/php5/cli/conf.d/20-intl.ini,
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0

2.データベースの設定

➀mysqlのバージョン確認

$ mysql --version

cloud9では、mysql自体はインストール済みです。念のため、バージョン確認をしました。
私の環境では以下のように表示されました。
mysql Ver 14.14 Distrib 5.5.49, for debian-linux-gnu (x86_64) using readline 6.3

➁phpmyAdminのインストール

$ phpmyadmin-ctl install

ログが流れて・・・最後の行にphpmyAdminへアクセスするためのリンクが表示されます。
PHPMyAdmin Installation complete. You can log in at: https://ワークスペース名−ユーザID.c9users.io/phpmyadmin with the following username (and blank password):
「You can log in at:」の後ろのURLがphpMyadminにアクセスするURL。
ログインIDは「Username:」以降に記載されたIDで、cloud9自体のIDと同じ。
➂phpMyAdminのログインとセットアップ

ログイン:
 Cloud9のIDと同じIDでログインする。パスワードは最初は設定されていないので空欄。
設定:
 「一般設定」の「サーバ接続の照合順序」: utf8_general_ci
外観の設定:
 「言語」を「日本語」
ユーザパスワードの設定:
 「ユーザ」タブを開いて該当ユーザIDの「特権を編集」リンクをクリック。
 下の方へスクロールすると、「パスワードを変更する」とあるのでそこでパスワードを入れ、
 右下に見える「実行」ボタンをクリックする。

➃ユーザの確認

ホーム>ユーザと遷移して登録済みのユーザを確認すると、
自分のCloud9のユーザIDと同じIDが登録されていることが確認できます。

➄DBサーバのIPアドレス

PHPからDBへアクセスする際にDBサーバのIPアドレスが必要ですが、
クラウドなのでDBサーバのアドレスはどうなるの?と私のように迷う方もいるかと思います。
Cloud9上では、IPアドレスを指定せずとも「localhost」でPHPからアクセス可能です。

3.cakePHPのインストール

いよいよ本題のcakePHPのインストールです。

➀ Composerのインストール

先に、Composerをインストールします。ターミナルで次のコマンドを実行。

$ curl -s https://getcomposer.org/installer | php

➁cakePHP3.2のインストール

ターミナルで次のコマンドを実行します。コマンド一番後ろには、これから作成するcakePHPアプリのプロジェクト名を入力。

$ php composer.phar create-project --prefer-dist cakephp/app 作成したいプロジェクトの名前
例えば、「myapp」という名前のプロジェクトを作りたいのであれば

php composer.phar create-project --prefer-dist cakephp/app myapp
と入力すればOK。

しばらく待つとターミナルに以下のメッセージ(フォルダのパーミッションは設定するか?)が表示されるので「Y」を押す。

Set Folder Permissions ? (Default to Y) [Y,n]?

ここまででの操作で、ワークスペースの指定フォルダ(上の例だとmyappフォルダ)の下にcakePHPのスケルトンが作成されます。

➂ブラウザから確認する

ブラウザから以下のURLへアクセス。
https://ワークスペース名−ユーザID.c9users.io/プロジェクト名

例えば、Cloud9でワークスペースを「myworkspace」、Cloud9のユーザIDが「user1」、
cakePHPインストール時に「myapp」というプロジェクト名にした場合、

「Get the Ovens Ready」と書かれたページが表示されればOK。

4.cakePHPのデータベース設定

➀ configフォルダのapp.phpを開き、データベース設定を記載する

プロジェクトフォルダ\configにあるapp.phpファイルを開き、「Datasources」という文字列を検索。
(私の場合217行目にありましたが、その時点のバージョンにより数行の変動があると思います。)
そこから12行程度下までスクロールさせると 'username' => という記載が見つかるのでそこから下を修正。

'username' => 自分のDBユーザ名
'password' => パスワード
'database' => データベース名
'timezone' => '+09:00',

➁bootstrup.phpも修正する

同じフォルダにあるbootstrup.phpを開き、「timezone」と記載された行を文字列検索する。

date_default_timezone_set('UTC');

と記載されいますので、UTCをAsia/Tokyoに変更。

date_default_timezone_set('Asia/Tokyo');

➂ブラウザから確認

cakePHPインストール直後にアクセスした先に再度アクセス。

画面を下へスクロールさせて、「Database」と書かれたところに

CakePHP is able to connect to the database.  と表示されていれば接続成功。

もしも、「CakePHP is NOT able to connect to the database.」となっていたらまだつながっていません。
app.phpに記載したID、パスワードあたりをよく確認してください。

5.bakeコマンドによるソース生成

➀ bakeコマンドでMVCのソースを自動生成

事前にテーブルを作り、そのテーブル名をbakeコマンドの一番後ろに指定します。

$ bin/cake bake all テーブル名

➁ ブラウザによる確認

以下のURLへアクセスすると、テーブルのデータ一覧が表示されます。
https://ワークスペース名−ユーザID.c9users.io/プロジェクト名/テーブル名

ワークスペース「myworkspace」、ユーザIDが「user1」、プロジェクト「myapp」、テーブルが「posts」という名前だった場合
https://myworkspace-user1.c9users.io/myapp/posts となります。

これで一通りの設定は完了です。

ここまでできたら、後はバリバリと開発するだけです。お疲れ様でした。

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?