TheUnknownThing的技术分享站

Stay Hungry, Stay Foolish

Caddy配置Typecho—Revisited

默认分类 0 评 49 阅读

貌似这个Blog上的 第一篇文章 就讲了怎么配置Caddy,但是,当时我用的别人的docker镜像,which,集成了nginx, php, 以及typecho,然后我当时直接Caddy反代端口来搭建。

现在入手了阿里云这台服务器,512M内存实在是有点拘谨,那为了抛弃nginx以及docker带来的额外内存占用我就准备手搓Typecho的环境。

首先安装世界上最好的编程语言PHP

1. 添加Sury PPA存储库

首先,添加包含最新PHP包的PPA。为此,需要安装一些依赖包。

sudo apt update
sudo apt install lsb-release apt-transport-https ca-certificates software-properties-common -y

安装工具后,导入Sury库的GPG密钥。Sury包含了几乎一切的PHP版本。Typecho要求PHP版本>7.4,所以我们安装8.2

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

然后将存储库添加到你的源列表中。

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

更新包列表以验证其功能。

sudo apt update
2. 安装PHP 8.2包

安装PHP 8.2及其常用扩展。

sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-opcache -y

安装Caddy v2

网上找了一圈都是用Caddy v1 + 特殊的伪静态配置来实现了。但是Caddy v2一个非常重要的升级就是不需要额外的伪静态配置,显然v2是更方便的。我们不希望削足适履。

Caddy官方提供了脚本,我当然最推荐这个:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

当然,如果你需要额外的插件(比如dns-providers之类的),你自然可以使用xcaddy来自己编译一个,但这不是这篇博文的重点,于是略去。

配置Caddyfile

还是那句话,我不希望削足适履,所以我更希望你学习使用Caddyfile,而非传统的JSON配置文件。

以下配置文件经试验,粘贴即可使用:

YOUR WEBSITE {
        encode gzip
        log
        tls YOUR EMAIL
        header Strict-Transport-Security max-age=31536000
        root * /var/www/YOUR WEBSITE
        php_fastcgi unix//run/php/php8.2-fpm.sock
        file_server
}

此时你是不是真切地对Caddy v2的便捷性有了认识?你不需要配置php-fpm相关的内容,你不需要配置伪静态……可以说是开箱即用的体验!

最后一步!添加你的Typecho站点文件

使用 wget 下载 Typecho 的最新版本:

wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip

使用 unzip 命令将 Typecho 解压到 /var/www 目录:

  1. 确保 /var/www 目录存在:

    sudo mkdir -p /var/www

    然后创建你的网页目录,比如我的网页是20051110.xyz,那么你就创建

    sudo mkdir /var/www/20051110.xyz
  2. 解压 typecho.zip/var/www/你的网站目录

    sudo cd /var/www/你的网站目录
    sudo unzip /root/typecho.zip #记得替换成你Typecho实际下载的位置

最后一步!修改文件权限:将 /var/www 目录及其子目录的所有权更改为 www-data 用户和用户组(这是 Web 服务器通常使用的用户):

sudo chown -R www-data:www-data /var/www

你可以检查一下你的目录结构是否如下图所示:

/var/www/你的网站地址
├── admin/
├── install/
├── usr/
├── var/
├── index.php
├── install.php
└── ...

如果正确,那么就Caddy,启动!

caddy run --config=Caddyfile #这里因为我跟Caddyfile处于同一个目录中,所以就这样写

caddy会自动帮你申请证书,申请完成后,即可访问网站,进行Typecho的安装(不用怕,都是图形界面,点点鼠标即可)

最后如果你喜欢我的Typecho主题,欢迎来这个主题的Github仓库看看!这个主题我基于原有的Fantasy主题开发,几乎完全重写了css,支持了深色模式,还添加了一些功能(比如碎碎念页面,比如底部的一言,……)欢迎给我个Star!
我的仓库链接

感谢你读到这里!希望这篇文章对你有用!

纯IPv6小鸡安装Windows系统踩坑记录
快来做第一个评论的人吧~

:D 获取中...