配置SSL证书

由于启用了一个二级域名,所以还需要额外给这个域名配置个SSL证书,正好试试使用Let's Encrypt的服务。官方钦定了一个配置证书的客户端Certbot,安装直接参照官网即可。

本来Certbot提供了一键申请证书并修改Apache配置的选项,但是为了避免一键爆炸,我选择了手动申请并配置的方式。

certbot certonly --manual

这个命令即可启动手动申请流程。中途会需要对申请的域名进行验证,在指定的目录下放置有指定内容的文件。为了能访问到这个文件,对该域名的http解析和访问都是要提前配置好的。

申请结束后,会在特定路径生成.pem两个文件,分别对应CertChain和CertKey,在Apache下配置好即可。

Apache配置二级域名

在Apache中位置二级域名只需要在每个<Virtual Host *:443>下配置ServiceName: xxx.com这样的字段即可。对于不同的域名解析来的请求,会使用匹配的ServiceName配置项提供服务。

配置Ghost

出于方便,我希望Ghost使用sqlite3作为数据库,而不是推荐的MySQL。由此使用的安装命令是

 ghost install --url <url> --db sqlite3 --dbpath ./content/data/ghost.db

开启Http/2

在Apache2上启用HTTP/2基本上参考了这篇文章:How to enable HTTP/2 support in Apache。其中prefork的问题也确实遇到了。可以用apachectl -M来查看已经启动的模块,如果里面有mpm_prefork那肯定是要替换成event的。