Hello World

在自架设的Gitlab服务器上使用Pages创建日记站

这是一篇在自架设的Gitlab服务器上启用Gitlab Pages并设置hexo及NexT主题用于日记站的记录,作为日记站的第一篇文章,致敬Hello World。

1. 启用Gitlab Pages

Gitlab服务器已经架设完成一段时间了,期间一直在寻找合适的平台来写一些技术文档和读书笔记,最终还是决定使用Gitlab Pages。考虑到日记站域名变更的可能性,文中所有的域名均用mydomain.com来替代。

1.1 配置域名解析

在DNS的解析配置中增加一条规则,这样每个项目的pages域名都可以解析出来。

1
*.pages.mydomain.com myip

1.2 申请ssl证书

之前申请了let’s encrypt的泛域名证书,但没有申请*.pages.mydomain.com这个子域名的,所以在增加完上面的解析规则之后,重新申请一下证书:

1
acme.sh --issue --dns dns_dp -d "*.mydomain.com" -d "*.pages.mydomain.com" -d "mydomain.com"

1.3 在配置文件中启用gitlab pages

修改/etc/gitlab/gitlab.rb:

1
2
3
4
5
6
7
8
9
10
# 启用Pages
pages_external_url "https://pages.mydomain.com/"
gitlab_pages['enable'] = true

# Nginx相关配置
pages_nginx['enable'] = true
pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.yuemengtech.com/fullchain.cer"
pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.yuemengtech.com/yuemengtech.com.key"
pages_nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
pages_nginx['ssl_prefer_server_ciphers'] = "on"

1.4 使配置生效

使用gitlab-ctl命令使配置生效:

1
gitlab-ctl reconfigure

到此,启用Gitlab Pages的步骤就完成了。下面开始创建日记站。

2. 创建日记站

2.1 创建一个新项目

在Gitlab上创建一个新的项目组grp,然后在该组下面创建一个新项目prj,然后从Gitlab.com上下载hexo示例,并提交到新项目。

2.2 下载新的主题文件

github下载最新版本NexT主题文件(当前版本6.4.2),解压后复制到示例的themes文件夹,并确保该主题的文件夹名称是next。

2.3 修改配置文件

修改示例的_config.yml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 日记站名称
title: Tech Diary
# 日记站所有者
author: John Smith
# 日记站语言
language: zh-CN
# 时区
timezone: Asia/Shanghai

#日记站根路径,通常是项目名称,当加载js和css出错时查看此处是否配置正确
root: "/tech-Diary/"

# 主题
theme: next

修改完成后提交并push到gitlab。

因为之前已经配置好gitlab-runner,所以提交以后,会自动开始CI和CD过程。

当CI和CD过程都成功以后,就可以通过 https://grp.pages.mydomain.com/prj 来访问日记站了。

再之后,就有了这篇记录。