【PaaS】fluxflexにRedmine(ベーシック認証付き)を構築してみた

今話題のPaaSを片っ端からアカウントつくりまくって試しまくってたりするhirohiです。 学生の頃は自宅サーバのがカッコイイだろ!とか思い、自宅にしょぼいサーバたてて色々やっていましたが、メンテがもろもろだるいし、ドキュメント残さないから何をどう設定したかすぐわかんなくなるし(ドキュメントは残すべき。)ということで、VPSをレンタルしてそこでサーバを運用している今日この頃です。

…が、最近はすっかりPaaSで良いんじゃないかと思い色々試してみています。 だって無料だよ!個人レベルだったら十分な容量だよ!

さて、WkipediaによるとPaaSとは、

PaaS(Platform as a Serviceの略、パースまたはパーズ)とは、インターネットを利用したコンピュータの新しい利用形態の1つである。PaaSでは、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供する。開発者は、プラットフォーム上で構築したサービスを自分の顧客に提供することができる。 具体的には、インフラ、DBMS、ユーザーインターフェースなどのシステム開発手段となるツールや、開発したシステムを運用するための環境をインターネットを通じて「サービス」として提供し、月額使用料などの形で収入を得る事業モデルである。

とのこと。最近ではクラウド開発なんて言われてたり言われてなかったり。

とにかく、自分で開発サーバを構築する必要がなく、ある程度開発環境そろってるので、いきなりソースコードを書いて動かすことができる環境のことだと思っています。(あってる?) 有名どころでいくと、AWS Elastic Beanstalkや、Google App Engine、Herokuなど。

Rubyが好きなので自分もHerokuでRailsやらRedmineやらやってみよーと思いちょろちょろ触ってみたのですが、よくわからない部分が多かったので、Redmineをポチっとインストールできるfluxflexを使ってみることにします。

fluxflex http://www.fluxflex.com/

アカウントを取得したらログインして、新規プロジェクトをつくります。

プロジェクトを作ったら以下の手順でRedmineをポチッとインストールします。

インストール完了のダイアログが出たら、ブラウザでプロジェクトのURLにアクセスして確認します。Redmineが正常にインストールされていたら、とりあえずRedmineのパスワードだけは変更しちゃいましょう。

※デフォルトのID/PASSは、admin/adminになります。

Redmineのパスワードの変更が終わったら、ベーシック認証をかける準備をします。LinuxかMacOSXでターミナルを起動してください。 fluxflexはgitで更新やデプロイができるので、ターミナルからもろもろ操作します。

プロジェクトのリポジトリからgit cloneしてください。

$ git clone ssh://git@git.fluxflex.com:443/PROJETCT_NAME

ローカルリポジトリができたら、.htaccessを編集して、ベーシック認証が使えるようにします。

$ cd PROJECT_NAME
$ vi public/.htaccess
AuthType Basic
AuthName "Are you ready?"
AuthUserFile /home/PROJECT_NAME/.htpasswd
AuthGroupFile /dev/null
require valid-user

次に.htpasswdを生成します。

$ htpasswd -mc .htpasswd userName

.htpasswd を生成したら、コミットして、デプロイします。

$ git add .htpasswd
$ git commit -a -m "basic auth"
$ git push

git push が成功したら、そのままデプロイされるので、しばらくしたらプロジェクトのURLにアクセスしてください。 ベーシック認証のログイン画面が出てきてログインできれば成功です。

SaaSのRedmineサービスとかもありますが、PaaSでここまで設定できればむしろこっちの方が安あがりかも!メンテはある程度必要ですけど。