在滴滴云 DC2 上部署 Manifold 文本收集与阅读平台

简介

Manifold 是一个开源 Web 应用程序,能够允许用户发布基于 Web 的书籍以及其他基于文本的媒体,以便用户自由阅读并能为这些文本添加注释。Manifold 可以用于开放式访问(OA)材料和开放式教育资源(OER),可以整合到教室、编写训练营、研讨会、图书馆或其他您新网通过协作阅读交流知识的场景。

Manifold 由 Mellon 基金会赞助,最初是以是以学术专著为基础制作,但可以作为多种出版物(期刊、小册子、收藏品)的收集、组织、阅读和注释平台。需要了解 Manifold 书籍的事例,您可以查看 Manifold 版本的免费电子书 How to Code in Python 3

在本教程中,我们将在服务器上配置 Manifold 并向安装应用中添加一个文本。

准备

开始之前,应该具备以下条件:

  1. Ubuntu 16.04 服务器,至少有 1 个 CPU,最好是 8 GB RAM(最小6 GB),这里采用 4 核 8G 配置的滴滴云 DC2 主机。
  2. 具有 sudo 权限的非 root 用户。

注意:

出于安全性和稳定性的原因,Manifold 的开发人员建议不要尝试在共享托管环境中安装 Manifold。Manifold 由许多不同的服务组成,每个服务都需要 RAM 才能正常运行。在内存小于 6GB 的小型 VM 上,您可能需要启用交换内存或冒着消耗所有可用内存的风险。

如果您当前未使用域名进行设置,则可以手动在/etc/manifold/manifold.rb 中设置主机名并重新配置应用程序。重新配置将在下面讨论。

有了这些先决条件,您就可以开始学习本教程了。

第1步 - 下载并安装 Manifold Package

我们将为 Ubuntu 16.04 下载 Manifold。

首先,进入临时目录下载软件包,因为软件包我们以后是可以删除的。

cd /tmp

接下来,使用 curl 带有 -O 标志的命令将输出写入本地文件。这会将软件包下载到我们的服务器。

curl -O https://storage.googleapis.com/manifold-dist/ubuntu16/manifold_2.1.1-1_amd64.deb

第2步 - 安装该软件包

sudo dpkg -i manifold_2.1.1-1_amd64.deb

运行此命令时,您应该收到包含以下行的输出:

Output
...
Manifold Scholarship


manifold: Thank you for installing Manifold!
...

收到这些信息后,您可以继续下一步操作。

第3步 - 配置 Manifold

如果您已在此服务器上设置了完全限定的域名,则可能不需要进行更多配置。如果收到与您域名匹配的以下输出,则会出现这种情况:

Output
...
manifold: Manifold should be reachable at http://your-manifold-url
...

但是,如果您现在使用服务器的 IP 地址,或者上面的输出与您的 URL 不匹配,则可以将 Manifold 配置为指向正确的位置。

创建了一个文件 /etc/manifold/manifold.rb,您将使用该文件配置和管理包含 Manifold 的各种服务。

在首选文本编辑器中打开此文件(我们将使用 nano)。

sudo vim /etc/manifold/manifold.rb

在此文件中,查找文件 external_url 顶部附近的设置。将其设置为服务器的 IP 地址或 Manifold 安装的域名。

...
## Manifold URL
##! URL on which Manifold will be reachable.
##! For more details on configuring external_url see:
external_url 'http://your-IP-or-your-URL'

如果您的网站是 example.com,您可设置为如下内容:

external_url 'http://example.com'`

本教程中主机的外网 IP 是 192.0.2.0,将如下所示:

external_url 'http://192.0.2.0'

现在,在 vim 的准备模式中输入 :wq 保存并退出该文件。

此时,您需要使用以下命令重新配置 Manifold。

sudo /usr/bin/manifold-ctl reconfigure

Manifold 应用程序现在将实现此文件中所做的更改,重新生成新设置和配置文件。一旦收到类似于以下内容的输出,表明此过程已完成:

Output
Chef Client finished, 262/347 resources updated in 51 seconds
manifold Reconfigured!

您现在可以访问服务器的 URL 或 IP 地址,并能够看到一个空的 Manifold 主页。

若需使用 Manifold 应用程序,您可以继续执行下一步。

第4步 - 访问后端

存储在 Manifold 中的所有内容(包括文本,项目,作者,资源和用户)都需要使用 Manifold 的后端 Web 界面进行管理。

要访问后端,您需要在服务器上创建管理用户。通过 manifold-api 可执行文件调用命令来创建此管理用户。

要使用此命令,您需要输入自己的详细信息,包括您的邮件地址、密码、您的名字和姓氏,格式如下:

sudo manifold-api manifold:user:create:admin["[email protected]","password","first_name","lastName"]

在上面的命令中替换您自己的信息,如下例所示:

sudo manifold-api manifold:user:create:admin["[email protected]","Password1oo!","duke","wendi"]

运行该命令后,您将收到类似于以下内容的输出:

Output
INFO: A User has been created. Its ID is 4a38dbb4-212b-4387-ad32-5e014459cd11

创建此用户后,返回浏览器并单击 Manifold 右上角的头像图标进行登录。

输入用户名密码成功登录后,您将在标题中看到一个 ENTER ADMIN MODE 按钮。单击此按钮即可访问 Manifold 的后端。

第5步 - 创建项目

进入后端之后,如果要创建一个新的项目,点击 Project 顶部菜单栏上,然后在添加新项目按钮。

系统将提示您输入标题和可选的字幕和说明。出于演示目的,您可以上传免费电子书 How to Code in Python 3,此处项目命名相同。

输入该信息后,您可以保存项目后继续。

创建新项目时,它会自动保存为草稿模式。作为草稿的项目仅对登录的管理用户可见。使用项目详细信息视图左侧的选项卡,您可以添加缩略图,为面向公众的项目页面上传英雄图像或横幅,如以及添加元数据和其他资源。

由于 Manifold 为您提供了文本存储库,因此可能要做的第一件事就是添加文本,将文本文件提取到项目中,单击 TEXT 选项卡。

可以将 EPUB,Markdown 和 HTML 文件或 Google 文档上传到 Manifold。如果您要使用 Google 文档,则需要执行一些其他配置。出于演示目的,我们将把 Python 3 EPUB 中的 How To Code 上传到我们的 Manifold 安装中。您可以使用以下链接直接链接到 eBook 的 EPUB:https://assets.digitalocean.com/books/python/how-to-code-in-python.epub

要引入文本,请单击 ADD A NEW TEXT 按钮开始引入。

在演示中,我们将使用上面的链接,但您也可以将文件上传或拖动到云图标上,从本地硬盘上传文件。暂存文件后,可以点击 Continue。该应用程序将链接到 Manifold websocket,您现在可以单击 Ingest 开始上传过程。

根据托管环境和您上传的文件大小,Manifold 可能需要几分钟才能获取文本。您可以看到一个日志,显示摄取的状态输出。完成此过程后,可以在对话框底部看到 Complete 按钮。

点击 Complete 按钮后,将返回到您的项目。

您可以看到在 UNCATEGORIZED 下添加了您的文字。使用绿色的向上箭头将文件移动到 PUBLISHED 状态。

单击 PREVIEW 可查看当前项目。在预览页面,您可以在标题下方看到 START READING 按钮。

按下此按钮后,文本将在 Manifold 阅读器中打开。

如果对项目感到满意,可以从管理界面的 Genera 选项卡中切换可见性关闭“草稿模式”。

现在,该项目就可以在您的主页上找到了。

此时,您可以继续处理项目以添加元数据,图像等。

但是请注意,如果您的域名与您的 Manifold 页面相关联,并且希望用户提供文件,最佳做法是保护您的网站并通过 HTTPS 协议访问它。

最后

恭喜您完成了 Manifold 安装并创建了您的第一个项目!您现在应该已经在 Ubuntu 16.04 服务器上安装了 Manifold。如果一切按计划进行,那么您就可以构建自己的项目并在 Manifold 上发布自己的文本了。

要了解更多有关 Manifold 的项目开发以及使用它的更多信息,请查看以下链接:

Manifold 的 GitHub 存储库

阅读 Building Manifold Development Blog

加入 Manifold Community Slack 频道

访问 Manifold 网站获取官方文档

猜你喜欢

转载自blog.csdn.net/java060515/article/details/86300463
DC2