LoginSignup
49
50

More than 5 years have passed since last update.

オープンソースメッセンジャー「Spika」を試してみた。

Last updated at Posted at 2015-11-07

オープンソースメッセンジャーの「Spika」というものがおもしろそうだったので試してみました。

事前に調べていた情報だとPHPやCouchDBで動いていると書いてありましたが、情報が古かったためか、蓋を開けてみるとNode.jsとMongoDBで動作するようで、当然、構築手順も全然違ったので、備忘録を残しておきます。

ちなみにライセンスはMITライセンスを使用しているようなので、他のアプリへの組み込みやカスタマイズもしやすそうですね。GitHubで公開されています。

2015/11/07 追記
2015/08に旧バージョンから新バージョンへ言語ごと移行しているようですね。下記のSpika-Serverが旧版。今回試したのは、下記のSpikaの方です。となると、クライアントも旧版の可能性があります。

https://github.com/cloverstudio/Spika
https://github.com/cloverstudio/Spika-Server
→ 2015/08にhttps://github.com/cloverstudio/Spika へ統合

https://github.com/cloverstudio/Spika-Android
https://github.com/cloverstudio/Spika-iOS

今回試したのはサーバーサイドのみ。環境はCentOS6です。GitHubのページにUbuntuの場合の構築手順が解説してあるので、それを参考に進めてみました。

まずは、GitHubからソースを入手します。クローンを作成するディレクトリに移動して、git cloneコマンドを実行します。

$ git clone https://github.com/cloverstudio/Spika.git

次に、Spkiaを動作させるのに必要なパッケージのインストールをします。CentOSの標準パッケージだででは足りないようでしたので、先にEPELリポジトリを追加しました。

# yum install epel-release

Node.jsをインストールします。

# yum install nodejs npm nodejs-mongodb

データベースをインストールして起動します。

# yum install mongodb mongodb-server 
# /etc/init.d/mongod start

ImageMagickって何か知らないけど必要らしいのでインストールします。私の環境ではインストール済みでした。

# yum install ImageMagick

当然ですが、Webアプリなので/etc/sysconfig/iptablesを編集してポートを開放してやってください。編集したら/etc/init.d/iptables restartでファイアーウォールを再起動しておきます。

準備が終わったら、「Spika」の構築です。まず、package.jsonのあるディレクトリに移動してから、npmコマンドを使用します。

$ cd Spika/web
$ npm install 
$ npm install gulp -g

公式の手順には上記のように書いてあるのですが、私の環境だとエラーが発生してしまいました。どうやらgulpのインストールには管理者権限がいるようで再実行しました。

# npm install gulp -g

次に、init.jsにホスト名やポート番号が書いてあるので設定値を変更します。ローカルで試すだけならlocalhostのままでも構いません。ネットワーク越しの場合は、この他に、DNSまたはクライアントのhostファイルを設定してやってください。

web/src/server/init.js
Config.host = "localhost";
Config.port = 8080;
Config.urlPrefix = '/spika';
Config.socketNameSpace = '/spika';

web/src/server/init.js.sampleを参考。

web/src/client/js/init.js
Config.apiBaseUrl = "http://localhost:8080/spika/v1";
Config.socketUrl = "http://localhost:8080/spika";

web/src/client/init.js.sampleを参考。

設定値の変更がすんだら、ビルドとサーバーの起動です。

bash
$ gulp build-dist
$ node src/server/main.js

無事、サーバーが起動したらブラウザから次のURLにアクセスします。

http://localhost:8080/spika/#login

すると、ログイン画面が表示され、サービスが起動していることを確認できます。(なぜかテキストボックスの枠が表示されなかった。)

7e8f10e2-08e7-4360-9720-d224ebda2ae2.png

ログインして使用するとこんな感じ。何故か同じメッセージが複数表示される。何の不具合だろう?

5bdb0b17-4552-429c-a9b3-6f60a30ac8f2.png

今回試したのはここまで。機会があればスマホアプリとの連携も試したいです。(iPhone持ってない(>_<)Androidしか試せないかも。)

2015/11/07 追記
スマホアプリは旧バージョン用かもしれない。試してみないとわからんぞ。→誰か試してください。

49
50
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
50