添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

0 前言

《在 Ubuntu 18.04 中搭建 GitLab 环境》 中,笔者尝试了在 2 核 + 4G 的阿里云 ECS 上搭建 GitLab,无奈由于 GitLab 太占性能,最后只能卸载放弃。本文中,将使用更加轻量的开源解决方案 Gitea 来完成私有 Git 托管服务的搭建,并通过搭建好的 Gitea 管理 Hexo 博客工程的源码。

同时,还将通过 Git Hook 将 Hexo 博客的构建过程转移到线上,本地只需专注于创作与推送。借助 Gitea 仓库的在线编辑提交,还可实现 Hexo 博客的跨平台异地更新。

在实践本文内容前,读者应具备以下前提条件:

  • 一台云服务器
  • 域名 + ICP 备案 + DNS 解析
  • SSL 证书
  • 关于前提条件,可以参考此前的文章 《将 Hexo 搭建的博客站点从 GitHub Pages 迁移到腾讯云 VPS》

    1 安装 Gitea

    1.1 安装前置依赖

    1
    2
    sudo apt update
    sudo apt install sqlite3 git nginx

    1.2 创建工作用户

    1
    2
    3
    4
    5
    6
    7
    8
    sudo adduser \
    --system \
    --shell /bin/bash \
    --gecos 'Git Version Control' \
    --group \
    --disabled-password \
    --home /home/git \
    git

    1.3 下载 Gitea 二进制文件,并添加可执行权限

    1
    2
    3
    cd /usr/local/bin
    sudo wget -O gitea https://dl.gitea.io/gitea/1.17.0/gitea-1.17.0-linux-amd64
    sudo chmod +x /usr/local/bin/gitea

    1.4 创建 Gitea 工作目录,并修改用户组及权限

    1
    2
    3
    4
    5
    6
    sudo mkdir -p /var/lib/gitea/{custom,data,log}
    sudo chown -R git:git /var/lib/gitea/
    sudo chmod -R 750 /var/lib/gitea/
    sudo mkdir /etc/gitea
    sudo chown root:git /etc/gitea
    sudo chmod 770 /etc/gitea

    1.5 配置 Gitea 服务自启动

    1.6 初始化安装

    1.7 配置 Nginx 反向代理

    1.8 为数据安全再加一道锁:配置 Nginx 登录验证

    1.9 导入本地裸仓

    2 为服务器安装 Node.js 与 Hexo

    2.1 安装 Node.js

    2.2 安装 Hexo

    3 创建 Hexo 博客仓库并配置 Git Hook 钩子

    3.1 创建 Hexo 博客仓库

    3.2 配置 Git Hook 钩子