なんかのLog

Cloud9でCakePHPの環境構築をする

🗓️ 2016-05-31
📑 Post 

人のPCで開発環境を作ろうとすると非常に多種多様な状況なので、苦労します。 Cloud9を使ったら簡単に実行環境を作れたので備忘録として残します。最近はRails TutorialもCloud9ベースになったようですね。

Cloud9は現状、無料ユーザだとpublicプロジェクトは無制限、privateプロジェクトは1つ作れるようです。

新規プロジェクトをPHPで作成。既存のgitプロジェクト等あればクローンできます。 c9-new-workspace.png

Create Workspaceを押すとIDEが開きます。Eclipse Likeな感じです。 c9-open-ide.png

ケーキのチュートリアルを試す感じだったので、composerから取得します。PHP環境だとデフォルトで入ってるみたいです。 IDE画面下部のbashウィンドウからコマンド実行ができます。

$ composer create-project --prefer-dist cakephp/app blog-tutorial
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Installing cakephp/app (3.2.6)
  - Installing cakephp/app (3.2.6)
    Downloading: 100%
    ...
    (略)
Set Folder Permissions ? (Default to Y) [Y,n]? Y
    ...
    (略)

Run Projectをするとapacheの起動をするのですが、その前にドキュメントルートを設定します。

$ sudo vim /etc/apache2/sites-available/001-cloud9.conf

<VirtualHost *:8080>
    DocumentRoot /home/ubuntu/workspace/blog-tutorial/webroot
    ServerName https://${C9_HOSTNAME}:443

    LogLevel info

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /home/ubuntu/workspace/blog-tutorial/webroot>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

ついでにphpmyadminをいれます。

$ phpmyadmin-ctl install

コマンドでいくぞという場合は下記です。

$ mysql-ctl cli

で、DBなのですがユーザ名のみのパスなし状態です。ユーザIDとプロジェクト名さえわかればURLは特定できるのでパスワードを設定しましょう。

mysql> select current_user();
+----------------+
| current_user() |
+----------------+
| sugumura@%     |
+----------------+
1 row in set (0.00 sec)

mysql> SET PASSWORD FOR 'sugumura'@'%'=PASSWORD('難しめのパスワード');

あとはコマンドなりphpmyadminからデータベースを作ってごりごりコードを書いてRun Projectをしましょう。 環境構築が手軽にできるってすばらしい。

ちなみにマシン(コンテナ?)はubuntu 14.04みたい。

 $ cat /etc/debian_version
jessie/sid

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"

$ arch
x86_64

$ uname -a
Linux sugumura-sugumura-cakephp-blogtutorial-3269648 4.2.0-c9 #1 SMP Wed Sep 30 16:14:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

🏷️ #Cloud9 #CakePHP