Diaspora

提供: ArchWiki
2017年7月28日 (金) 20:32時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

Diaspora は個人がプライバシーを制御できる、オープンソースのソーシャルネットワークです。

2010年11月23日、Disapora はプライベートアルファ段階に入ったことがアナウンスされました [1]

2012年8月27日には、Diaspora はコミュニティプロジェクトになりました [2]

要件

  • Diaspora は MySQLPostgreSQL で動作させることができます。どちらを使用するのか決めて、インストール・設定してください。
  • Diaspora はデフォルトではポート 3000 でアプリサーバーを起動し、動的なコンテンツを提供します。静的コンテンツを処理したりアプリサーバーで処理できないリクエストを転送するためにリバースプロキシが必要です。ApacheNginx などを使ってください。
  • AUR からパッケージをビルドするために必要なツールをインストールしてください。
  • AUR から ruby2.2AURruby2.2-bundlerAUR をインストールしてください。

インストール

AUR から diaspora-mysqlAUR または diaspora-postgresqlAUR をインストールしてください。

そして /etc/webapps/diaspora/database.yml を編集して必須の設定値を入力してください。また、/etc/webapps/diaspora/diaspora.yml を編集してアクセスできるようにする URL を設定してください。サーバーセクションでアプリサーバーが使用するポートを変更することもできます。デフォルトでは Diaspora は SSL を必須としていますが、require_ssl の設定で無効にできます。

データベースを立ち上げたら diaspora ユーザーに切り替えてください:

$ su - diaspora

データベースを作成してスキーマを初期化:

$ bundle exec rake db:create db:schema:load

database.yml ファイルに指定されたユーザーにデータベースを作成する権限がない場合、手動で diaspora_production という名前のデータベースを作成してください。

通常ユーザーに復帰したら systemddiaspora サービスを起動してください。

リバースプロキシによって公開する静的コンテンツは /usr/share/webapps/diaspora/public/ に配置されます。

アップデート

アップデートはインストールとほとんど同じです。パッケージの最新版を取得してビルドし、インストールと同じ手順に従います。.pacnew ファイルが作成されたら変更を適用してください。また、Diaspora の changelog も読んでください。その後データベースを立ち上げてまた diaspora ユーザーに切り替えます:

$ su - diaspora

そしてデータベーススキーマをアップデートしてください:

$ bundle exec rake db:migrate

systemd サービスの diaspora を再起動してください。

サービスの再起動後に アイコンが表示されなかったりレイアウトに問題が発生する 場合、diaspora ユーザーにまた切り替えて以下のコマンドを実行してください:

$ bundle exec rake assets:precompile

そして systemd サービスの diaspora を再起動してください。

管理者を追加

diaspora ユーザーに切り替えて Rails コンソールを起動してください:

$ su - diaspora
$ bundle exec rails console production

そして以下のコマンドを実行してください (user は適当なユーザー名に置き換えてください):

Role.add_admin User.where(username: "user").first.person

Ctrl+d を押すことで Rails コンソールから抜けられます。

トラブルシューティング

GDM のログイン画面に Diaspora が表示される

GDM は ID が 500-1000 のユーザーを通常ユーザーと認識するため、ログイン画面に diaspora ユーザーが表示されてしまいます。Arch では /etc/login.defs でシステムユーザーとして定義しています。昔の通常ユーザーが使えなくならないようにこのような挙動になっていると考えられます。ログイン画面から排除するには、/etc/gdm/custom.conf ファイルの 'Exclude' 行に以下を追加してください:

[greeter]
Exclude=diaspora

参照