2010年10月13日

Install Diaspora on Ubuntu

Windows へのインストールMac OSX へのインストールもできましたので、Ubuntu にも Diaspora をインストールしてみます。

Ubuntu の場合には一括インストール bash スクリプトがあります。 sudo に関していくつかの問題がありましたが、メーリングリストでやりとり (Diaspora one time setup script for ubuntu) があって fix されたようです。たぶんこれを実行すれば環境を構築できると思います。

おおまかな手順は同じです。

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

ツールのインストール

Ruby をインストールします。

$ sudo apt-get install build-essential libxslt1.1 libxslt1-dev libxml2
(snip)

$ sudo apt-get install ruby-full
(snip)

$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]

Ruby 関連のツールをインストールします。Bundler をインストールするためには Gems のバージョンが 1.3.6 以上でなければなりません。 apt-get を使うと 1.3.5 かもしれませんので、その場合はソースコードを取得して自前でインストールします。

$ 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 /usr/bin/gem1.8 /usr/bin/gem

$ sudo gem install rake

$ sudo gem install bundler

/etc/apt/sources.list に MongoDB のサイトを追記して、MongoDB をインストールします。 コマンドラインで deb と打ち込んだら deb: command not found と返ってきたので困った、としたら負け組です。

$ sudo vim + /etc/apt/sources.list    # 次の1行を追記
deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen

$ grep mongodb /etc/apt/sources.list
deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

$ sudo apt-get update

$ sudo apt-get install mongodb-stable

$ ps aux | grep [m]ongo
mongodb  20595  0.5  0.4  82532  4744 ?        Ssl  12:57   0:00 /usr/bin/mongod --config /etc/mongodb.conf

ImageMagick をインストールします。

$ sudo apt-get install imagemagick libmagick9-dev

Diaspora のセットアップ

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

$ cd $HOME/workspace

$ git clone http://github.com/diaspora/diaspora.git
Initialized empty Git repository in /home/shigeru/workspace/diaspora/.git/
remote: Counting objects: 23063, done.
remote: Compressing objects: 100% (6605/6605), done.
remote: Total 23063 (delta 16271), reused 22658 (delta 16000)
Receiving objects: 100% (23063/23063), 4.87 MiB | 1.02 MiB/s, done.
Resolving deltas: 100% (16271/16271), done.

$ cd diaspora

$ bundle install
(snip)

$ bundle show eventmachine
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10

MongoDB は apt-get でインストールしたときに起動していることを確認しましたので、Diaspora のサーバを起動させます。 他のサービスがポートを塞いでいないかを確認するのは Windows のときと同様です。

$ ./script/server
mkdir: created directory `log'
mkdir: created directory `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!
>> 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
Websocket server started.

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

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

データベースにサンプルユーザを作成して、そのユーザアカウントでログインします。 Tom の Username は tom で、Password は evankorth です。 tom のデータを投入できない場合はパスがおかしい可能性がありますので、Windows へのインストールの記事を確認してください。

$ rake db:seed:dev

$ rake db:seed:tom

ログイン後に右上の "settings" リンクをクリックすると以下のようなプロフィールの設定画面が表示されます。 "download my xml" ボタンをクリックすると XML をダウンロードできますので、適当なサンプルデータを手元に保存することができます。

ダウンロードした XML は次の構造を持ちますので、適切に解析してあげれば、他のシステムに取り込むこともできそうです。 とはいえ、このデータ構造は変更の可能性も大きいですが。

user
    username
    person
        _id
        diaspora_handle
        url
        profile
            person_id
            first_name
            last_name
            exported_key
    serialized_private_key
    aspects
        aspect
            id
            name
            people
            posts

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

コメントを投稿