与 Sandstorm 合作编写
介绍
Sandstorm 是个人服务器的开源平台,这意味着它可以用于在一台服务器上安装许多不同的应用程序,具有易于使用的界面。 可以使用 Sandstorm 安装的应用程序的一些示例包括 WordPress、GitLab、MediaWiki、Apache Wave 和 RoundCube 网络邮件。 例如,许多人使用 Sandstorm 作为 Google Docs 的自托管替代品。
在本文中,我们将安装 Sandstorm,然后安装三个最流行的应用程序作为示例。
先决条件
要遵循本教程,您将需要:
- 一个 Ubuntu 14.04 Droplet。 本教程使用 Ubuntu 14.04 进行了测试,但 Sandstorm 应该适用于任何 Linux 发行版。
- 一个 sudo 非 root 用户,您可以按照 this initial Ubuntu 14.04 server setup tutorial 进行设置。
- 可选地,SMTP 服务器或邮件提供程序服务,如 Mailgun。
第 1 步 — 安装 Sandstorm
在本节中,我们将安装 Sandstorm。
要启动 Sandstorm 的安装向导,只需下载并运行安装脚本。 在运行命令之前,您可以在您喜欢的浏览器中访问 https://install.sandstorm.io
查看脚本。
curl https://install.sandstorm.io | bash
Sandstorm 将开始询问有关您的设置的问题。 出现提示时输入您的密码,然后按 ENTER
接受除 *What .sandcats.io subdomain would you like? 问题之外的所有问题的默认答案。
之所以提出这个问题,是因为如果您想使用 Sandstorm,Sandstorm 将为您的 Sandstorm 安装提供一个免费的子域。 您的 sandcats.io
子域也将附带您自己的 SSL 证书,通过启用 HTTPS 使您的 Sandstorm 安装安全。
或者,您可以使用自己的域,但如果您确实使用 sandcats.io
子域,您可以随时 切换到您自己的域 。
按照下面相应部分中的说明进行操作,然后继续执行第 2 步。
使用免费的 sandcats.io
子域
要使用 sandcats.io
子域,只需在 *What .sandcats.io 子域中输入您想要的子域名称? 问题。 例如,如果您在此处输入 example,您将能够在 example.sandcats.io
访问您的 Sandstorm 安装。 选择一个适合您的 Sandstorm 安装目标的名称。
使用您自己的域
在本节中,如果您想将 Sandstorm 用于您自己的域或子域,我们将配置 DNS 设置。 这是一个高级设置; 对于大多数用途,sandcats.io
服务很好,尤其是用于测试。
如果要使用自定义域,则需要具有以下 DNS 记录的域名:
- 通配符 CNAME 记录重定向到您的 Sandstorm IP (
*.example.com CNAME example.com.
) - 指向您的域的 A 记录 (
example.com. A your_server_ip
)。
您可以在本教程中找到更多关于设置域名的信息。
新的 Sandstorm 应用程序位于子域中。 像 *.111.111.111.111
这样的 DNS 记录不存在,所以你不能使用你的 Droplet 的 IP 地址; 需要域名和通配符 DNS 记录。 或者,您可以使用为任何 IOP 地址提供通配符 DNS 的 xip.io 服务; 在 Sandstorm 文档 中阅读有关 xip.io 的更多信息。
设置好 DNS 记录后,请务必回答没有任何对问题 * 您想要什么 .sandcats.io 子域? [] 在安装过程中。 回答用户将在浏览器中输入的 URL:[1] 使用您的域名,例如 http://example.com:6080
。 确保为问题 Wildcard host: [*.example:6080] 输入正确的通配符域。 这通常已经是正确的,因为 Sandstorm 是从上一个问题中得出的。
第 2 步 — 设置身份提供者
在本节中,我们将配置 Sandstorm。
安装 Sandstorm 后,安装向导将为您提供访问服务器的 URL:
Your server is now online! It should work immediately if you use Chrome. Visit this link to start using it: https://example.sandcats.io/setup/token/f19d0a6873f5dc5ad389a0977d832ee0fac14c5a NOTE: This URL expires in 15 minutes. You can generate a new setup URL by running 'sudo sandstorm admin-token' from the command line.
通过从终端复制 URL 并将其粘贴到浏览器中来导航到该 URL。 您将看到一个标题为 Welcome to Sandstorm! 的屏幕。
单击 开始标准设置 。 您将看到一个标题为 Configure Identity Provider(s) 的屏幕。
您现在可以配置一个或多个身份提供者。 选择身份提供者(电子邮件、Google 或 GitHub)并参考下面的相应部分。 建议使用 Google 或 GitHub,因为电子邮件需要您设置 SMTP 服务器。
电子邮件(无密码)
单击Email(无密码)右侧的配置,然后在邮件中继提示中单击启用。
但是请注意,Google 和 GitHub 通常更易于设置,因为它们不需要 SMTP 服务器。
谷歌
点击Google右侧的配置。 如果您选择 Google 登录,您将在 Sandstorm 中看到说明,如下所示:
按照这些说明填写 Client ID 和 Client Secret 后,单击 Enable。
GitHub
点击GitHub右侧的配置。 如果您选择 GitHub 登录,您将在 Sandstorm 中看到说明,如下所示:
按照这些说明填写 Client ID 和 Client Secret 后,单击 Enable。
第 3 步 — 完成设置向导
配置身份提供程序后,单击右下角的 Next 继续设置向导。 下一个屏幕标题为 Outbound Email Setup。
如果您不想发送电子邮件,请单击 暂时跳过 。 以后总是可以添加这些数据。 但是,如果您已设置电子邮件标识提供程序,或者您想使用电子邮件通知,则需要执行此步骤。
如果您确实要设置,请添加您的 SMTP 信息并确保单击 Test 以测试您是否输入了正确的数据。 测试成功后,点击【X31X】保存并继续【X52X】。
下一步将要求您创建一个管理员帐户。 使用其中一种登录选项来创建管理员帐户。 最后一步是通过单击 Finish 确认您的帐户。
您的安装现已完成!
点击开始使用Sandstorm继续Sandstorm。
第 4 步 — 安装应用程序(可选)
例如,我们将完成安装一些流行应用程序的过程。 有关更具体的描述,请参阅下面的示例(WordPress、MediaWiki 和 EtherPad)。
首先,点击应用市场中的安装...。 下一个屏幕将显示您可以安装的各种应用程序,包括 WordPress、GitLab、MediaWiki、Apache Wave 和 Roundcube。 当您单击 安装 时,Sandstorm 会自动处理所有安装步骤,您将立即获得该应用程序的完整工作版本。
单击要安装的任何应用程序旁边的**安装**。 您将被重定向到您的安装,这将显示一个进度页面。 下载应用程序后,再次单击安装。 然后,您将被重定向到带有自定义按钮的屏幕,该按钮是您安装的应用程序的自定义按钮。 例如,对于 WordPress,它将显示 New WordPress Site。 当您单击该按钮时,它将创建一个新站点。 当您现在打开该站点时,加载它需要很短的时间,因为 Sandstorm 将不得不启动 WordPress 代码。 有关更广泛的说明,请参阅 WordPress 安装示例。 就是这样!
您可以通过单击顶部栏的共享访问权限来共享站点的编辑权限。 当新用户到达您的服务器并通过您选择的登录提供商进行身份验证时,Sandstorm 默认会阻止他们创建新的grain 或安装应用程序。 要授予用户更多权限,请访问 Admin settings,方法是单击右上角的您的姓名并在 Users 选项卡中分配新的 User Class .
为了最大限度地减少 RAM 应用程序的使用量,Sandstorm 会在不活动期间停止其进程。 这意味着当您在超过 15 分钟后再次访问谷物时,可能需要一段时间才能重新开始,因此请记住这一点。
示例:安装 WordPress
例如,我们将安装 WordPress。 如果你想发布一个公共博客,你可以安装 WordPress,只要你不需要评论,因为 Sandstorm 上的 WordPress 不支持。 你也可以用它来维护一个私人博客,只为你自己,或与一些朋友分享。 请注意,即使您使用 WordPress 编辑站点,Sandstorm 也负责将其提供给全世界。 Sandstorm 就像一个激进的 HTTP 缓存,在 WordPress 中,您必须单击“重建公共站点”来更新该缓存。 这意味着 WordPress PHP 代码永远不会由不受信任的匿名用户执行。 如需更多信息,请访问 Sandstorm 文档。
登录后,您将进入主屏幕。 从 App Market 点击 Install... 并在列表中找到 WordPress。 找到后,单击安装。 它将开始下载和解压应用程序。 完成后,单击 安装 WordPress。 完成安装应用程序后,您将到达如下页面:
要创建新的 WordPress 站点,请单击 创建新站点。 完成后,您将看到一个全新的 WordPress 网站。 您可以通过单击 Untitled WordPress Site 更改将在 Sandstorm 中显示的标题。 您也可以直接开始使用该网站; 它的功能与普通的 WordPress 网站相同。
您可以通过单击左上角的Sandstorm返回主页来关闭站点。
示例:安装 EtherPad
在本示例中,我们将安装 EtherPad,这是一款协作式文档编辑器,它是最流行的 Sandstorm 应用程序之一。 在 Sandstorm 中,每个文档都有自己的颗粒,这使得访问控制非常有效。
在主屏幕上,单击 Install... from App Market 并在列表中为 EtherPad 选择 Install。 稍等片刻,下载完成后点击Install EtherPad。 现在,您可以通过单击创建新焊盘来创建新焊盘。 这将创建一个新文档。 单击顶部的共享访问可以与其他用户共享此文档。 这将显示两个共享选项:发送邀请或共享 URL。 甚至可以确定该用户将拥有哪些权限。
示例:安装 MediaWiki
对于最后一个示例,我们将安装 MediaWiki。 Sandstorm 中的 MediaWiki 应用程序不支持 Sandstorm 静态发布系统,因此不能轻易用作公共 wiki。
在主屏幕上,单击 Install... from App Market 开始安装应用程序。 在列表中,为 MediaWiki 选择 Install。 完成下载并解压应用程序后,单击安装MediaWiki。 完成后,您可以通过单击 创建新 wiki 创建一个新的 MediaWiki。 您将能够像使用 WordPress 网站一样更改标题。 例如,您可以将此 wiki 用作私人文档。
要将其他人添加到此 wiki,请使用 Sandstorm 界面顶部的 共享访问 按钮。 如果你想公开这个 wiki,你可以创建一个共享链接并分发它; 请记住,Sandstorm 共享链接的 URL 很长,很难记住。
结论
Sandstorm 可用于许多不同的应用程序,并且正在积极开发中。 有关 Sandstorm 的更多信息和文档,请访问他们的 文档。