Spika+DigitalOceanで5分でモバイルメッセンジャーサービスを始める方法
ご無沙汰しております、やっとこさSpikaのバックエンドの改修が完了し、当初叩かれていたセキュリティーやらバックエンドのレガシーコードの問題が解決しました。公開当時に炎上気味にdisられ、
ブログ書きました。
http://t.co/2zt94NPpoW
— cloverstudio (@cloverstudio1) October 20, 2013
ここで一段落ついたのですが、この段階ではまだ今後の改修の方向性が決まっただけで、まだまだな状況でした。10月末に終わらせます!とか言ってのたのですが、本業の受託の方がバタバタしだして、12月末までかかってしまいました。まぁまだまだカバレッジとかあり得ない感じですが、、、だれかテストケース書いてくれる人が居たら大歓迎です。
その間にも「サーバーインストール出来ねーぞ!!!」と問い合わせをほとんど毎日1通は貰っていて、最近は海外からの問い合わせというかクレームが多くなって来ました。弊社はクロアチアの会社ですが、Spikaは僕が英語がヘタクソで英語で広めるのが億劫なのでまずは日本をメインにやって行こうと思っています。海外向けにマーケティングする時は日本発!みたいな感じで露出させるつもりです。結局僕自身日本人(ハーフですが)で自分でコードも書いてるので。。
さてさて前置きが長くなりましたが、Spikaは開発環境の設定にVagrantを使っています。Vagrantは公開直後に@yandoさんがVagnrantファイルを書いてくれたのがきっかけで使い始めてまぁ便利ですよね。この後普通に受託の案件とかでもVagrantを使う様になって、もうVagrant無しでは生きて行けないと思います。
で、ちょっと前にこんな記事を見つけて
VagrantとSSDなVPS(Digital Ocean)で1時間1円の使い捨て高速サーバ環境を構築する - Glide Note - グライドノート
やってみたらこりゃ簡単。Spikaで「サーバーインストール出来ねーぞ!!!」って問い合わせを良く貰うのでここでまとめておけば、いちいち回答する必要も無くこのリンクを送れば良いと思うので、落ち着いたらSpikaバージョンを書こうと思っていました。
まぁどうせなんで、一度改修後バージョンで、バックエンド+iOS+Androidの構築方法をまとめたいと思います。
SpikaバックエンドをDigitalOceanで立ち上げる方法
まずは、繰り返しになりますが、
VagrantとSSDなVPS(Digital Ocean)で1時間1円の使い捨て高速サーバ環境を構築する - Glide Note - グライドノート
を参考にして一度サーバーを立ち上げる所までやってください。その後
vagrant destroy
で、一旦閉じてください。 次にSpika-Serverのコードを https://github.com/cloverstudio/Spika-Server からダウンロードします。そこで、Vagrantfile.digitaloceanとVagrantfileがあるのですが、Vagrantfileの方はローカルのVirtualboxで立ち上げる時に使います。今回はVagrantfile.digitaloceanの方を使うので、Vagrantfileは適当な名前に変更し、"Vagrantfile.digitalocean"を"Vagrantfile"に名前を変更します。"provider.client_id"と"provider.api_key"と"provider.ssh_key_name"はそれぞれ自分の環境用に値を設定してください。その後
vagrant up --provider=digital_ocean --provision
でサーバーを起動します。最初のステップで成功していたら問題なくサーバーの設定アップが完了するはずです。コマンドの前半に
Bringing machine 'default' up with 'digital_ocean' provider...
[default] Using existing SSH key: SpikaDemo
[default] Creating a new droplet...
[default] Assigned IP address: 192.241.214.51
とあると思うので、このIPアドレスを控えておいてください。一通り完了したら、最後に
please open http://ipaddress/wwwroot/install to finish setup
と表示されるので、このipaddressの部分をサーバーのIPアドレスに変更してください。この場合は、"http://192.241.214.51/wwwroot/install" をブラウザで開きます。で、色々表示されると思うのですが、これは必要な情報なので保存しておいてください。これでバックエンドの構築は完了です。めっちゃ簡単!!!
Create User OK: email is 'l5YtIHrO@clover-studio.com',password is 'YTqcbnJ7', support user id 61baafdaa680faa92c18dd81d20002c0
と表示されていると思うのですが、このメールアドレスとパスワードがサポートユーザーのアカウントになります、このままSpikaのクライアントアプリからログインしてください。ちなみにサーバーにログインするには、Vagrantfileの場所で、
vagrant ssh
とするだけです、Vagrantすげーーー!!
Spika iPhoneアプリのビルド
iOSのビルドでやる事は、
- APIのURLの変更
- サポートユーザーのIDの2点のみです。
まずは、https://github.com/cloverstudio/Spika-iOS から最新版をダウンロードしてください。
変更するのは、こことここのURLを変更します、この場合は、http://192.241.214.51/wwwroot/apiとします。次にここにサポートユーザーのIDを設定します。この場合は、61baafdaa680faa92c18dd81d20002c0となります。でそれをやったら、実行ボタンを押すだけです。iOSは以上!簡単ですね!!!
Spika Androidアプリのビルド
AndroidはiOSより若干作業が多くなります。Androidの開発環境は出来ている前提です。SpikaはEclipseを使って開発していますので、Eclipseでビルドしてください。まずは、ソースを https://github.com/cloverstudio/Spika-Android からダウンロードします。
■ プロジェクトへのインポート
File > Import > Existing Android Code Into Project
で、ダウンロードしたフォルダとプロジェクトにインポートします。
■ Build TargetをGoogle APIsに変更
プロジェクトトップを右クリック > Properties > Project Build Targetの部分で Google APIsの最新版を選択します。
■ Google Play Servicesをインポート
インポート方法は下記のサイトを参考にしてください。
Macの人はこちらを参考Windowsの人はこちらを参考Linuxの人は自分でがんばって下さい。
インポートが完了したら、 プロジェクトトップを右クリック > Properties > Java Build Path > Projectの部分で インポートしたGooglePlayServicesのプロジェクトを選択して下さい。
■ APIのURLの変更、サポートユーザーIDの設定
あとは、iOS同様にAPIのURLを変更してサポートユーザーのIDを設定します。変更ス角は、こことここです。繰り返しになりますが、URLはこの場合、http://192.241.214.51/wwwroot/apiとなり、サポートユーザーのIDは61baafdaa680faa92c18dd81d20002c0になります。
以上で、Spika公開方法となります。サービスとして成立させる為にはさらにプッシュ通知の設定が必要になりますが、それはまたの機会に書きたいと思います。