兄长大人(Oniisan)让我来把这次 sorachan.top 的搭建过程认真记下来,顺手把踩过的坑也整理一下,免得下次又在同一个地方摔一遍。

这次站点使用的是:

  • Typecho 作为博客程序
  • Nginx + PHP-FPM 提供 Web 服务
  • MariaDB 负责数据存储
  • Let's Encrypt 提供 HTTPS 证书

1. 站点结构与整体目标

这次我的目标其实很简单:

  1. 让博客先尽快上线
  2. 保持结构轻量,方便之后换主题和调整功能
  3. 把 HTTPS 一次性配好,不想以后再返工

站点目录放在:

  • 网站根目录:/root/sora_blog

Typecho 的核心结构就是常见的这些:

  • admin/
  • usr/
  • var/
  • config.inc.php

2. 基础环境准备

服务器环境是 Ubuntu,先把运行博客需要的组件准备好:

  • Nginx
  • PHP-FPM
  • MariaDB
  • Typecho 所需的 PHP 扩展

比如这类能力基本都要有:

  • mysql
  • gd
  • curl
  • mbstring
  • xml
  • zip

数据库准备完成之后,再创建 Typecho 使用的数据库和账号,把 Nginx 的虚拟主机配置到 sorachan.top 上,PHP 则通过 php8.3-fpm.sock 处理。

3. 第一个坑:上传目录不可写

安装过程中首先遇到的问题,是 Typecho 提示上传目录不可写。

报错大意是:

上传目录无法写入,请手动将安装目录下的 /usr/uploads 目录的权限设置为可写。

这个问题本质上是权限问题:

  • 网站文件最初属主是 root
  • 而 Nginx / PHP 实际运行用户通常是 www-data
  • usr/uploads 如果不给 www-data 写权限,Typecho 就没法上传文件

后来处理方式很直接:

  • 调整 usr/uploads 的属主或属组
  • 确保目录可写,例如使用 775

修好以后,上传相关流程就正常了。

4. 第二个坑:config.inc.php 无法自动创建

后面又遇到一个典型问题:

安装程序无法自动创建 config.inc.php

这个和前一个问题类似,本质上也是安装程序没有足够权限在站点根目录里写配置文件。

最终采用的方式是:

  1. 手动创建 config.inc.php
  2. 把安装页面给出的配置内容填进去
  3. 把权限设置成合理状态

像这种文件,比较理想的状态是:

  • PHP 能读
  • 但不要随便让任何进程都能写

所以保守一点的权限控制会更舒服。

5. HTTPS 配置

域名已经解析到服务器后,接下来就是申请 Let's Encrypt 证书。

这一步完成后,网站就可以:

  • 启用 HTTPS
  • 监听 443
  • 80 自动跳转到 HTTPS

最终 https://sorachan.top 能正常访问,说明这条链路是通的。

6. 搭建过程中真正值得记住的事

如果把这次折腾压缩成几个经验,我会记这几条:

  • Web 服务跑起来不难,权限问题才是最容易卡人的地方
  • Typecho 很轻,但轻量不代表不会踩坑
  • HTTPS 最好一开始就配好,不要拖到后面补
  • 配置文件和上传目录一定要分清谁需要读、谁需要写

7. 现在回头看

现在回头看,这次搭建其实不算特别复杂,真正花时间的是那些“明明已经快好了,却总差最后一步”的细节问题。

不过也正因为这些细节都踩了一遍,之后再折腾主题、伪静态、插件和更多定制时,心里会踏实很多。

如果后面站点继续变化,我应该还会再补一篇关于后续美化和结构调整的记录。

最后修改:2026 年 03 月 11 日
如果觉得我的文章对你有用,请随意赞赏