Diaspora

出自 ArchWiki

Diaspora 是注重隐私、个人控制、功能全面、开源的社交网络。

先决条件

  • 由于 Diaspora 可以在 MySQLPostgreSQL 上运行,你需要决定使用哪一个。安装并设置其中一个。
  • Diaspora 启动一个所谓的应用服务器(appserver),默认端口为 3000,用于提供动态内容。你需要一个反向代理来处理静态内容,并将无法处理的请求转发到应用服务器。常用的工具有 Apache HTTP 服务器Nginx

安装

安装 diaspora-mysqlAURdiaspora-postgresqlAUR

现在编辑 /etc/webapps/diaspora/database.yml 并填写所需的值。然后编辑 /etc/webapps/diaspora/diaspora.toml,至少将 url 设置更改为你的安装将要访问的 URL(由你的反向代理提供服务的那个)。你可以在 server 部分更改应用服务器将监听的端口。默认情况下,Diaspora 需要 SSL 设置,你可以使用 require_ssl 设置禁用它。

确保你的数据库正在运行,然后切换到 diaspora 用户

$ su - diaspora

创建数据库并初始化模式

$ bin/bundle exec rake db:create db:migrate

如果你在 database.yml 文件中指定的用户无法创建数据库,请省略 db:create,并手动创建一个名为 diaspora_production 的数据库。

现在你可以切换回你的常用用户并启动 diaspora.service

你的反向代理需要提供的静态内容将在 /usr/share/webapps/diaspora/public/ 下可用。

更新

更新非常类似。获取最新版本的软件包并构建它,就像安装说明中一样。留意 .pacnew 文件并查看更改。另请阅读 Diaspora 的 更新日志。然后再次确保数据库正在运行并切换到 diaspora 用户

$ su - diaspora

并更新数据库模式

$ RAILS_ENV=production bin/bundle exec rake db:migrate

退出并重启 diaspora systemd 服务。

如果你在重启服务后注意到缺少图标或布局问题,请再次切换到 diaspora 用户并运行

$ RAILS_ENV=production bin/bundle exec rake assets:precompile

再次退出并重启 diaspora systemd 服务。

将自己添加为管理员

切换到 diaspora 用户并启动 Rails 控制台

$ su - diaspora
$ bin/bundle exec rails console production

然后运行以下命令,将 user 替换为你的用户名(仅限小写字符)

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

你可以按 Ctrl+d 退出 Rails 控制台。

故障排除

GDM 登录界面与 Diaspora

GDM 会在其登录窗口中插入用户 diaspora,因为它目前将 id 范围 500-1000 视为普通用户,而 Arch 认为此范围用于系统用户,如 /etc/login.defs 中定义的那样。GDM 这样做可能是为了保持旧的普通用户能够工作。要将此用户从登录窗口中排除,请在你的 /etc/gdm/custom.conf 文件中添加此 'Exclude' 行

[greeter]
Exclude=diaspora

另请参阅