Diaspora
Diaspora 是注重隐私、个人控制、功能全面、开源的社交网络。
先决条件
- 由于 Diaspora 可以在 MySQL 和 PostgreSQL 上运行,你需要决定使用哪一个。安装并设置其中一个。
- Diaspora 启动一个所谓的应用服务器(appserver),默认端口为 3000,用于提供动态内容。你需要一个反向代理来处理静态内容,并将无法处理的请求转发到应用服务器。常用的工具有 Apache HTTP 服务器 或 Nginx。
安装
安装 diaspora-mysqlAUR 或 diaspora-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