本教程采用 Docker Compose 方式进行安装,这是目前最推荐、最简单、最不容易出错的方式,尤其适合新手和快速部署。

dspace7安装教程
(图片来源网络,侵删)

重要前提:Docker 安装

在开始之前,请确保你的服务器已经正确安装了 Docker 和 Docker Compose,如果没有,请先完成这一步。

Ubuntu 系统安装 Docker 和 Docker Compose:

# 更新软件包索引
sudo apt-get update
# 安装必要的包
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置稳定版的仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 再次更新并安装 Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 将当前用户添加到 docker 组,避免每次使用 sudo
sudo usermod -aG docker $USER
# !!! 重要:退出当前终端并重新登录,或使用 `newgrp docker` 使组变更生效 !!!

DSpace 7 安装教程 (Docker Compose 方式)

第一步:下载 DSpace 源码

我们使用 DSpace 官方提供的 dspace-angular 项目,它包含了 DSpace 7 的所有代码和配置。

# 创建一个工作目录并进入
mkdir dspace-installation
cd dspace-installation
# 克隆官方项目仓库 (我们使用 7.6 版本作为示例)
git clone -b dspace-7.6 https://github.com/DSpace/dspace-angular.git

第二步:配置 DSpace

进入下载好的 dspace-angular 目录,这里存放着 DSpace 的核心代码和 Docker Compose 配置文件。

dspace7安装教程
(图片来源网络,侵删)
cd dspace-angular
  1. 创建 .env 配置文件 DSpace 使用一个名为 .env 的文件来管理环境变量,官方提供了一个模板文件,我们只需要复制一份并修改即可。

    cp .env.template .env
  2. 编辑 .env 文件 使用你喜欢的文本编辑器(如 nanovim)打开 .env 文件。

    nano .env

    你需要至少修改以下几个关键配置项:

    # ----------------------------
    # 核心配置
    # ----------------------------
    # 数据库密码,请务必修改为一个强密码!
    # PostgreSQL 数据库的密码
    POSTGRES_PASSWORD=your_strong_password_here
    # DSpace 管理员邮箱和密码
    # 安装完成后,这个邮箱将成为管理员账户
    DSPACE_ADMIN_EMAIL=admin@example.com
    DSPACE_ADMIN_PASSWORD=your_admin_password_here
    # DSpace 的访问地址
    # 这是外部访问 DSpace 的 URL,非常重要!请确保填写正确的域名或 IP 地址。
    # 如果是本地测试,可以使用 http://localhost:8080
    # 如果是服务器,请填写你的公网 IP 或域名,http://yourdomain.com
    DSPACE_HOSTNAME=http://localhost:8080
    # ----------------------------
    # 可选配置
    # ----------------------------
    # 如果你需要通过 HTTPS 访问,请将上面的 HTTP 改为 HTTPS,并取消下面两行的注释
    # DSPACE_HOSTNAME=https://yourdomain.com
    # DSPACE_SSL=true
    # 时区设置,Asia/Shanghai
    DSPACE_TIMEZONE=Asia/Shanghai

    修改完成后,保存并关闭文件。 (在 nano 中按 Ctrl+X,然后按 Y,最后按 Enter)

    dspace7安装教程
    (图片来源网络,侵删)

第三步:构建和启动 DSpace

万事俱备,我们可以使用 Docker Compose 来一键构建和启动 DSpace 的所有服务(包括后端、前端、数据库等)。

dspace-angular 目录下执行以下命令:

# 构建并启动所有服务
# 首次启动会下载大量镜像并编译,可能需要较长时间(10-30分钟不等,取决于网络)
docker-compose up --build -d
  • --build: 强制重新构建 Docker 镜像,确保使用最新的代码。
  • -d: 在后台运行容器。

你可以通过以下命令查看启动状态:

# 查看正在运行的容器
docker ps
# 查看 DSpace 相关服务的日志输出(如果遇到问题,这个命令非常有用)
docker-compose logs -f

当看到所有容器状态都为 Up 时,表示 DSpace 已经成功启动并运行。

第四步:初始化数据库和安装

DSpace 容器启动后,并不会自动创建数据库表和初始化数据,你需要手动执行一个初始化脚本来完成这一步。

# 进入 dspace-angular 容器内部
docker-compose exec dspace /bin/bash
# 在容器内部,执行初始化脚本
# 这个脚本会创建数据库表、加载初始数据、创建管理员账户等
./dspace/bin/dspace database migrate

脚本执行过程中,你可能会看到一些提示,Create a new admin user? (Y/n),直接按 Enter 即可,它会使用 .env 文件中你配置的管理员邮箱和密码。

等待脚本执行完毕,看到类似 Successfully ran all migrations. 的输出后,输入 exit 退出容器。

第五步:访问 DSpace

打开你的浏览器,访问你在 .env 文件中配置的 DSPACE_HOSTNAME

如果你配置的是 http://localhost:8080,那么就在浏览器地址栏输入 http://localhost:8080

你应该能看到 DSpace 的首页了!使用你在 .env 文件中设置的管理员邮箱和密码登录,你将拥有管理员权限。


后续管理常用命令

  • 停止 DSpace 服务:

    docker-compose down
  • 重启 DSpace 服务:

    docker-compose restart
  • 查看日志:

    # 查看所有实时日志
    docker-compose logs -f
    # 查看特定服务的日志,例如后端
    docker-compose logs -f dspace
  • 重新安装/重置 DSpace: 如果你想完全重新安装,最简单的方法是删除所有数据并重新开始。

    # 停止并删除所有容器和网络
    docker-compose down
    # 删除 DSpace 的数据卷(数据库、索引等数据)
    # 警告:此操作会删除所有数据,不可恢复!
    docker volume rm dspace-angular_ds-data dspace-angular_ds-postgres-data dspace-angular_ds-solr-data

    你可以从 第三步 开始,重新执行 docker-compose up --build -d 和数据库初始化。


总结与排错

  1. 网络问题: 首次构建时,下载 Docker 镜像和前端依赖包可能会很慢或失败,如果网络不佳,可以考虑配置国内 Docker 镜像源。
  2. 端口冲突: 确保 8080 (DSpace Web UI), 5432 (PostgreSQL), 8983 (Solr) 等端口没有被其他服务占用,你可以通过 docker-compose.yml 文件修改这些端口映射。
  3. 内存不足: 构建前端需要较多内存,如果服务器内存小于 2GB,可能会构建失败,可以考虑增加 Swap 分区或使用配置更高的服务器。
  4. 访问 404 或 500 错误: 首先检查 docker-compose logs,查看后端和前端服务是否有报错信息,通常日志会给出明确的错误原因。

恭喜你!你已经成功安装并运行了 DSpace 7,接下来你可以探索管理后台,开始配置你的机构知识库了。