Sqale で Symfony を利用する

このマニュアルでは、 Sqale で Symfony のデモ画面を表示する方法を説明します。

  • Symfony のインストール
  • Sqale で表示するための調整
  • Sqale にデプロイ
  • デプロイされたアプリケーションをブラウザで確認する


Symfony のインストール

Symfony の公式サイト http://symfony.com/ から最新版の Symfony をダウンロードします。
※2013年4月24日時点での最新版はバージョン 2.2.1 です

Symfony の公式サイトから最新版の Symfony をダウンロードする

ダウンロードした Symfony_Standard_Vendors_2.2.1.tgz というファイルを展開すると、Symfony というディレクトリが作成されます。

Symfony のインストール手順は以上です。


Sqale で表示するための調整

展開してできた Symfony というディレクトリ以下 (以下ルートディレクトリと呼びます) に .gitignore というファイルを用意して、

app/cache/dev
app/cache/prod
app/logs/*

を追加します。

またルートディレクトリで

$ ln -s ./web ./public

とします。これは Sqale では public というディレクトリがドキュメントルートになるためシンボリックリンクを貼って対応します。

次に app/config/routing.yml に以下のように記述します。

_welcome:
    pattern:  /
    defaults: { _controller: AcmeDemoBundle:Welcome:index }

_demo_secured:
    resource: "@AcmeDemoBundle/Controller/SecuredController.php"
    type:     annotation

_demo:
    resource: "@AcmeDemoBundle/Controller/DemoController.php"
    type:     annotation
    prefix:   /demo

デモ用に表示するために app/AppKernel.php

 25         if (in_array($this->getEnvironment(), array('dev', 'test'))) {
 26             $bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
 27             $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
 28             $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
 29             $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
 30         }
 25         // if (in_array($this->getEnvironment(), array('dev', 'test'))) {
 26             $bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
 27             $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
 28             $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
 29             $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
 30         // }

としてコメントします。

ルートディレクトリで git の初期化を行います。

$ git init
$ git add .
$ git commit -m "first commit"

5. Sqale にデプロイ

まず、Sqale でアプリケーションを作成します。

Sqale のダッシュボードにログインし、【新しいアプリケーションを作成】からアプリケーション名を入力し、アプリケーションタイプに【PHP】を選択し【アプリケーションを作成】ボタンから作成します。

次に、Git を使ってデプロイします。(あらかじめ、公開鍵の登録が必要です。)

Sqale のアカウント設定ページでデプロイ設定が、【Git】 になっていることを確認してください。

Symfony デプロイタイプで Git を選択している画面

Git になっていることを確認したら、以下のコマンドで Push 先として Sqale を登録します。

$ git remote add sqale ssh://sqale@gateway.sqale.jp:2222/【ユーザー名】/【アプリケーション名】.git

リモートのアドレスは、アプリケーション詳細ページで確認することができます。

Symfony Git リモートアドレス画面

リモートを追加したら、 Push して Sqale にデプロイします。

$ git push -f sqale master

6. ブラウザで確認する

アクセスして Welcome! と表示されていれば、デプロイ完了です。

Symfony Welcome 画面