saber酱的抱枕

Fly me to the moon

07/7
12:05
其他 软件

【笔记】编译Caddy 2

出于某种原因,需要使用Caddy 2。

然而目前Caddy 2不像Caddy 1那么方便,1目前官方直接提供加入插件的生成和下载,2要加插件则只能自己编译。目前2虽然已经能够像1一样加入插件,但这里涉及到非官方插件,更加无解。因此就自己编译好了。

这种东西我就不用Windows了……Linux

首先Caddy是基于Go的,先得准备好Go。
当然啦,Go是google家的,所以,网络问题,你懂的。

发行版源里的Go都怪怪的(?),官方自己也是推荐直接去官网安装:https://golang.org/doc/install
按照官网指导,下载(wget什么的)、解压、设置环境变量,最后终端里go有响应就好了。

接下来,Caddy 2有官方的编译工具xcaddy: https://github.com/caddyserver/xcaddy
可以直接下载release里的现成的,也可以按提供的教程自行编译xcaddy,同样基于Go。
(Go编译时,遇到网络问题可以尝试按照https://goproxy.io/ 的方法解决。下同)

弄好xcaddy,就能够直接编译了。很简单,要加哪个插件直接--with加上就好。例如你要加上cloudflare的acme插件,就
xcaddy build --with github.com/caddy-dns/cloudflare
即可。如果还有别的插件,再写一个--with就是。
如果要改成本地修改过的插件(或者clone了别人的),就--with github.com/caddy-dns/cloudflare=路径 即可。

【笔记】编译Caddy 2