Diaspora を Windows 上にインストールします。 Windows 用のインストーラパッケージはありませんので、ちょっとした作業メモです。 このエントリは Diaspora の Wiki を参考にして、順番に進めた記録です。
Diaspora は Ruby on Rails で構築されたシステムであるため、 Ruby の実行環境およびそれに関連するツールをインストールする必要があります。 なお、Ubuntu だと一発でインストールできるスクリプトがあります。
まずは MongoDB をインストールしておきます。 MongoDB の動作を確認したら、必要なパッケージを順次インストールしていき、ローカルの Diaspora サーバにログインしてみます。
ツールのインストール
Cygwin で Ruby と ImageMagic と git をインストールします。 その他に XSLT のパッケージも必要になる模様なので、それもインストールします。 次の5つのパッケージを選択してインストールします。
- Ruby-1.8.7-p72-2
- ImageMagic-6.4.0.6-2
- git-1.7.2.3
- libxslt-1.1.26-2
- libxslt-devel-1.1.26-2
次に Ruby のパッケージ管理システムである Gem をインストールします。
$ cd /usr/local/src
$ wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz && tar xzf rubygems-1.3.7.tgz
$ mv rubygems-1.3.7 /usr/local && cd /usr/local
$ ln -s rubygems-1.3.7 rubygems && cd rubygems
$ ruby setup.rb
$ which gem
/usr/bin/gem
$ gem -v
1.3.7
さらに Ruby の依存性解決プログラムである bundler をインストールします。
$ gem install bundler
Successfully installed bundler-1.0.2
1 gem installed
Installing ri documentation for bundler-1.0.2...
Installing RDoc documentation for bundler-1.0.2...
$ bundle -v
Bundler version 1.0.2
Diaspora のセットアップ
Diaspora のソースコードと、依存するライブラリを取得します。
$ cd $HOME/work
$ git clone http://github.com/diaspora/diaspora.git
Cloning into diaspora...
remote: Counting objects: 21270, done.
remote: Compressing objects: 100% (6403/6403), done.
remote: Total 21270 (delta 14977), reused 20695 (delta 14442)
Receiving objects: 100% (21270/21270), 4.65 MiB | 190 KiB/s, done.
Resolving deltas: 100% (14977/14977), done.
$ cd diaspora
$ bundle install
(snip)
$ bundle show mongo
/usr/lib/ruby/gems/1.8/gems/mongo-1.0.8
ヘッダーファイルが足りない場合には途中で次のようなエラーメッセージが出力されます。 この場合は Cygwin の setup.exe を起動して libxslt-devel をインストールします。
/usr/bin/ruby.exe extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokog
iri.html for help with installing dependencies.
-----
MongoDB を起動します。
C:\Users\shigeru\work\mongodb-win32-i386-1.6.2\bin>mongod.exe
mongod.exe --help for help and startup options
Thu Oct 07 21:04:13 MongoDB starting : pid=4768 port=27017 dbpath=/data/db/ 32-b
it
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 07 21:04:14 db version v1.6.2, pdfile version 4.5
Thu Oct 07 21:04:14 git version: aef371ecf5d2a824f16ccdc3b745f3702165602f
Thu Oct 07 21:04:14 sys info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_35
Thu Oct 07 21:04:14 [initandlisten] waiting for connections on port 27017
Thu Oct 07 21:04:14 [websvr] web admin interface listening on port 28017
Diaspora のサーバを起動させます。 サーバは3000番ポートと8080番ポートを使用しますので、他のサーバ (例えば AppEngine の開発サーバ) が起動している場合には停止しておきます。
$ ./script/server
>> Using rack adapter
Websocket server started.
>> Thin web server (v1.2.7 codename No Hup)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
script/server
のスクリプトは ps ax
で mongod
プロセスが存在するかを確認します。
MongoDB の起動方法によってはここに表示されないかもしれませんので、
その場合は Cygwin のターミナルから起動させます。
テストまたは開発用ではなく、インターネット上にシードを公開する場合には
``config/app_config.yml.example`` を ``config/app_config.yml`` にコピーしてそれを編集してからサーバを起動します。
MongoDB を起動しているコンソールには次のようなログが出力されます。
Thu Oct 07 22:41:21 [initandlisten] connection accepted from 127.0.0.1:51668 #1
Thu Oct 07 22:41:21 [conn1] end connection 127.0.0.1:51668
Thu Oct 07 22:41:21 [initandlisten] connection accepted from 127.0.0.1:51669 #2
Thu Oct 07 22:41:21 [conn2] end connection 127.0.0.1:51669
Thu Oct 07 22:41:24 [initandlisten] connection accepted from 127.0.0.1:51670 #3
Thu Oct 07 22:41:24 [conn3] end connection 127.0.0.1:51670
Thu Oct 07 22:41:24 [initandlisten] connection accepted from 127.0.0.1:51671 #4
Thu Oct 07 22:41:24 [conn4] end connection 127.0.0.1:51671
Thu Oct 07 22:42:16 [initandlisten] connection accepted from 127.0.0.1:51685 #5
これでサーバ (いわゆるアプリケーションサーバだけでなく、websocket サーバも) が起動しましたので、 ブラウザから http://localhost:3000 にアクセスすると、次の画面が表示されます。
サンプルユーザでログイン
データベースにサンプルユーザを作成して、そのユーザアカウントでログインします。
まず、rake
のインストール場所を確認し、PATH に追加します。
$ ls /usr/lib/ruby/gems/1.8/bin/rake
/usr/lib/ruby/gems/1.8/bin/rake*
$ PATH=$PATH:/usr/lib/ruby/gems/1.8/bin
次に開発者と Tom を作ります。
それぞれの詳しい情報は db/seed/dev.rb
および db/seed/tom.rb
を確認します。
ファイルのパスがおかしい場合にはエラーログを確認します。
$ rake db:seed:dev
(in /cygdrive/c/Users/shigeru/work/diaspora)
Seeding the database for development...
$ rake db:seed:tom
(in /cygdrive/c/Users/shigeru/work/diaspora)
Seeding the database for development...
rake aborted!
No such file or directory - /cygdrive/c/Users/shigeru/shared/app_config.yml
(See full trace by running task with --trace)
$ vim db/seed/tom.rb # diff が下記のようになるように自力で編集する
$ git diff
diff --git a/db/seeds/tom.rb b/db/seeds/tom.rb
index 5c418c8..317904c 100644
--- a/db/seeds/tom.rb
+++ b/db/seeds/tom.rb
@@ -9,5 +9,5 @@ def set_app_config username
current_config[Rails.env.to_s] ||= {}
- current_config[Rails.env.to_s]['pod_url'] = "http://#{username}.joindiaspora.
- current_config['default']['pod_url'] = "http://#{username}.joindiaspora.com/"
- file = File.new(Rails.root.join('..','..','shared','app_config.yml'),'w')
+ current_config[Rails.env.to_s]['pod_url'] = "#{username}.joindiaspora.com"
+ current_config['default']['pod_url'] = "#{username}.joindiaspora.com"
+ file = File.new(Rails.root.join('config','app_config.yml'),'w')
file.write(current_config.to_yaml)
$ rake db:seed:tom
(in /cygdrive/c/Users/shigeru/work/diaspora)
Seeding the database for development...
そして、Tom でログインします。Username は tom
で、Password は evankorth
です。
ログインできれば成功です。次のような画面が表示されます。
コメントにはタグ付けできるようで、Facebook と同じようなタイムラインになります。
ということで、手元で Diaspora のシードを稼動できるようになりました。めでたしメデタシ :D
0 件のコメント:
コメントを投稿