2010年10月10日

Install Diaspora on Mac OSX

Windows へのインストールができましたので、Mac OSX にも Diaspora をインストールしてみます。 おおまかな手順は同じです。

  1. Ruby と RubyGems を準備 / 確認する。
  2. ImageMagick をインストールする。システムにインストールされていないなら OpenSSL と libxslt のヘッダーファイルもインストールする。
  3. MongoDB をインストールして、データディレクトリを作成してから起動する。
  4. Diaspora のソースを取得して、bundler を使って依存するライブラリを解決する。
  5. サーバを起動して、ログイン画面が表示されることを確認する。
  6. サンプルユーザーのデータを投入して、実際にログインしてみる。

なお Diaspora の Wiki ではパッケージ管理システムに Homebrew を使っていますが、 ここでの手順では MacPorts を使います。手元のマシンで MacPorts を既に使っているから、という以上の理由はありません。 XCode はあらかじめインストールしておきます。

ツールのインストール

Ruby は組込みでインストールされていますので、バージョンを確認します。

$ ruby -v && gem -v
ruby 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
1.0.1

Diaspora が必要とする activesupport が Ruby 1.8.7 以上を要求しますので、 Ruby を更新します。また、RubyGems も古いので最新版に更新します。

$ sudo port install ruby

$ ll /usr/bin/ruby
lrwxr-xr-x  1 root  wheel  76 Dec  2  2007 /usr/bin/ruby@ -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby

$ sudo rm /usr/bin/ruby

$ sudo ln -s /opt/local/bin/ruby /usr/bin/ruby

$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin9]

$ pushd /usr/local/src/

$ wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz

$ tar xzf rubygems-1.3.7.tgz

$ pushd rubygems-1.3.7

$ sudo ruby setup.rb

$ popd && popd

$ sudo rm /usr/bin/gem

$ sudo ln -s /opt/local/bin/gem /usr/bin/gem

Rake と Bundler をインストールします。 インストール済の場合は shebang を見て、最新版の Ruby インタープリタを指していることを確認します。

$ sudo gem install rake

$ sudo gem install bundler

$ head -n1 `which rake` `which bundle`
==> /opt/local/bin/rake <==
#!/opt/local/bin/ruby

==> /opt/local/bin/bundle <==
#!/opt/local/bin/ruby

パッケージ管理ソフト (MacPorts) を使って ImageMagick と MongoDB をインストールします。

$ sudo port install imagemagick

$ sudo port install mongodb

$ which mongo mongod
/opt/local/bin/mongo
/opt/local/bin/mongod

$ sudo mkdir -p /data/db

$ sudo chmod -Rv 777 /data/

MongoDB を起動します。

$ mongod
mongod --help for help and startup options
Sat Oct  9 15:39:28 Mongo DB : starting : pid = 66134 port = 27017 dbpath = /data/db/ master = 0 slave = 0  32-bit

** 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 for more

Sat Oct  9 15:39:28 db version v1.2.1, pdfile version 4.5
Sat Oct  9 15:39:28 git version: nogitversion
Sat Oct  9 15:39:28 sys info: Darwin EM114-48-185-219.pool.e-mobile.ne.jp 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_42
Sat Oct  9 15:39:28 waiting for connections on port 27017

Diaspora のセットアップ

Diaspora のソースコードと、依存するライブラリを取得します。

$ cd $HOME/workspace

$ git clone http://github.com/diaspora/diaspora.git

$ cd diaspora

$ bundle install
(snip)

$ bundle show mongo_mapper
/Users/shigeru/.bundler/ruby/1.8/mongomapper-5a3328244b64

$ ./script/server
log
log/thin
>> Using rack adapter
WARNING: No config/app_config.yml found! Look at config/app_config.yml.example for help.
WARNING: Please modify your app_config.yml to have a proper pod_url!
WARNING: No config/app_config.yml found! Look at config/app_config.yml.example for help.
WARNING: Please modify your app_config.yml to have a proper pod_url!
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

ブラウザから http://localhost:3000 にアクセスするとログイン画面が表示されます。

サンプルユーザでログイン

データベースにサンプルユーザを作成して、そのユーザアカウントでログインします。 Tom の Username は tom で、Password は evankorth です。 db:seeds/tom.rb がおかしい場合はには手動で編集します。変更内容は前回の記事を参考にします。

$ rake db:seed:dev

$ rake db:seed:tom

ログイン後はアルバムを作成して画像をアップロードすることもできます。

ということで、Mac OSX でも Diaspora のシードを稼動できるようになりました。めでたしメデタシ :D

コメントを投稿