FuelPhpをHerokuで動かす

heroku Logo-1

Fuelphpの動作確認用の環境が欲しかったので、herokuで構築してみました。

 

Herokuの準備

Herokuの準備をします。Herokuはアカウントを取得して、Appを新規に作成します。 空のAppをまずローカルにcloneしましょう。

この手順はherokuの管理画面のCodeで実行するコマンドが順番に書かれているのでこれを参考にcloneしましょう。

heroku管理画面

次に、DBはHerokuのアドオンとしてClearDB(MySQL)を追加できるので追加します。コマンドだと以下です。(FuelphpでPostgreSQLへの接続が出来なかったのでMySQLにしました・・・)

 

正しく追加されていれば、CLEARDB_DATABASE_URLというconfigが設定されているはず。

 

このconfigを環境変数として利用できるのでこれをパースして利用します。パースはこんな感じ。

 

Fuelphpの準備

次にFuelphpを準備します。 最新版であるFuelphp1.7.2はバグがあり動かせないため、Fuelphp1.7.1を利用しましょう。アーカイブページはこちら

解答したフォルダを任意の場所においてください。以下の説明はfuel-testとリネームした状態で説明します。 肝心のcomposerが同梱されていないので、別途ダウンロードします。

 

HerokuでFuelphpを起動するための設定

次にHerokuでFuelphpを動かすための設定をしていきます。 今回は、以下の仕様を想定しています。

  • Nginx+PHP-FPM
  • MySQL
  • 日本語を扱う

この環境を前提として、composer.jsonの変更、.user.iniの作成、nginx_app.configの作成、Procfileの作成を行います。

.user.iniの作成

まずPHPの設定をします。ドキュメントルートに.user.iniファイルを配置するとphp.iniの値を変更することができます。なのでFuelphpの場合、publicフォルダに配置します。 以下のような設定をしましょう。これはプロジェクト毎に合わせてください。

 

composer.jsonの変更

.user.iniでも設定しましたが、日本語のを利用するためmbstringを入れます。herokuにモジュールをインストールするには必要なモジュール名にextを付けるようです。

 

nginx_app.configの作成

Nginxの設定をnginx_app.configファイルとして作成します。herokuのNginxのvirtualhostの設定として設定されます。プロジェクトルートに配置します。

 

Procfileの作成

Webサーバの指定、Webサーバの設定ファイルの指定、ドキュメントルートの設定をProcfileに記述します。 Fuelphpは/publicがドキュメントルートで、WebサーバはNginx、Webサーバの設定ファイルは先ほど作成したnginx_app.configを指定します。

 

oil r migrateが動かない・・・

原因を特定できないんですが、oil r migrateが動きませんでした。色々試してみたんですが・・・。とりあえず直接コマンドで繋いでテーブルなどを作成しましょう。

 

herokuにデプロイ

gitコマンドでpushするとデプロイされます。簡単!

あとは、アプリをブラウザで開きましょう。URLをいちいち調べるのも面倒なのでコマンドで開きます。

 

Fuelphp Welcomeページ

Welcomeページが表示されればOK!

 

まとめ

herokuを使ってFuelphpの動作環境を整えました。DB接続周りがちょっと不安な感じですが、かなり簡単に構築できました。今後MongoDB接続もやってみたいところ。

 

 

おまけ: Herokuボタンへの対応

ボタンひとつでHerokuにデプロイができる「Heroku Button」に対応させてみましょう。

app.jsonの作成

プロジェクトルートにapp.jsonを作成しましょう。重要なのはrepository項目でパブリックなリポジトリを指定しましょう。

README.mdにボタンを記述

あとはREADME.mdにボタンコードを記述するだけです。これでherokuアカウントを持っている人はボタンひとつで環境を構築できます。なんて便利!

お試しあれ。


さくっと送って、さくっと受け取る
ファイル転送サービス 「tenpu」

tenpuは、一度に2GBまでのファイルを無料&会員登録の不要で、さくっと転送できます。
シンプルで美しい背景画面はファイルを受け取る人にも気持よく使えます。
有料プランは最大20GBまで転送可能、背景画像変更、ファイルの保存期間変更など無料版より裕福な機能を用意しています。
有料プランの詳細はこちらからご確認下さい。



大切なデータを気持ちよく送るファイル転送サービス「tenpu」

tenpu(テンプ)は、ファイルをシンプルに管理して セキュリティを向上するためのファイル転送サービスです。

ファイル転送における様々な課題を解決します。

宛先を間違えた場合情報漏洩を防ぐことができない
ファイルのやりとりが 残らず履歴を追跡できない
社外にどんなファイルが送付されたか一元管理ができない
こんなお悩みはありませんか?
tenpu Businessならすべて解決することができます。