DocDB 是一个功能强大且灵活的协作文档服务器。 最初是由 Fermilab 的 BTeV 合作组开发的,现在已用于其他 20 多个实验的文档协作。 DocDB非常适合用于在几百人的合作组间管理和分享文档。


Table of Contents

  1. 安装 DocDB
    1. 安装配置 MySQL
    2. 安装 Perl 模块
    3. 下载 DocDB

安装 DocDB

DocDB 的安装包括三部分:1). 一个关系数据库,用来存储文档信息, 2). 一个文件系统,用来存储文档本身 和 3). 一个合适的 CGI 脚本,用来提供文档和其信息的一致访问。

  • DocDB 在 MySQL 数据库中维护着一份文档的版本列表。 存储的信息包括 作者, 标题主题,事件, 创建与修改时间, 修订版本号, 简介,关键字,文档类型, 指向实际文件的指针, 访问限制信息 等等。
  • 对 DocDB 的访问由 运行在 Web 服务器上的 CGI 脚本控制。
  • 当一个文件上传到 DocDB 时, 文档(从本地硬盘或 url)被复制到 Web 服务器下的一个目录, 文档可能由多个文件构成。
  • 文档会被集中复制到一个位置,这样当有人整理或删除文档时,它们就不会消失。这也有助于集中化备份。
  • 对文档的更改会生成一个新版本的文档。此时旧的文档仍可以访问,提供历史存档功能。不同版本有着不同的访问限制,因此文档可以在私有状态进行修改,然后正式发布。
  • DockDB 包含一个健壮的事件和议程管理系统,可以允许全大小的文档与会议结合起来。

下面就简单介绍一下如何安装 DocDB。

安装配置 MySQL

Fedora/CentOS 下可以使用 MariaDB,也可以下载 MySQL 安装

1
2
3
4
5
6
7
8
9
### Fedora/CentOS
$ sudo yum install -y mariadb mariadb-server mariadb-devel
### Ubuntu/Debian
$ sudo apt install -y mariadb mariadb-client mariadb-server mariadb-common
### start mariadb server
$ sudo systemctl enable --now mariadb
### set root password
$ sudo mysql_secure_installation
...

为 DocDB 创建新的 MySQL 用户和数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ mysql -u root -p
Enter password:
...
### User
MariaDB [(none)]> create user 'docdbadmin'@'localhost' identified by 'admin_password';
MariaDB [(none)]> create user 'docdbrw'@'localhost' identified by 'rw_password';
MariaDB [(none)]> create user 'docdbro'@'localhsot' identified by 'ro_password';
### Database
MaraiDB [(none)]> create database 'docdb';
### Grant Privileges
MariaDB [(none)]> grant all on docdb.* to 'docdbadmin'@'localhost' identified by 'admin_password';
MariaDB [(none)]> grant select,insert,update,delete,create on docdb.* to 'docdbrw'@'localhost' identified by 'rw_password';
MariaDB [(none)]> grant select on docdb.* to 'docdbro'@'localhost' identified by 'ro_password';

安装 Perl 模块

下载 DocDB

现在 DocDB 主要在 Github 上发布,在 这里 下载最新的版本:

1
$ wget https://github.com/ericvaandering/DocDB/archive/8.8.9.tar.gz -O DocDB-8.8.9.tar.gz