Typecho 手动部署详细教程

本教程将指导你如何在基于 Ubuntu 的 Linux 服务器(如 Mint 桌面版、Ubuntu VPS 等)上,手动安装 Nginx、PHP 和 MariaDB 环境,并部署 Typecho 博客系统。

适用场景

  • 想要在内存有限的 VPS 上部署 Typecho。
  • 希望深入了解服务器部署的每个环节。
  • 将 Typecho 作为学习或测试环境。

步骤一:安装服务器环境

首先,我们需要安装运行 Typecho 所需的 Web 服务器、数据库和 PHP 环境。

1. 更新系统软件包列表

在开始安装之前,最好先更新你的系统。

1
sudo apt update && sudo apt upgrade -y

2. 安装 Nginx 和 MariaDB

Nginx 将作为我们的 Web 服务器,MariaDB 将作为我们的数据库。

1
sudo apt install nginx mariadb-server -y

3. 检查并安装 PHP 及其扩展

Typecho 需要 PHP 及其一些特定的扩展才能正常运行。

首先,检查你的系统是否已安装 PHP:

1
php -v

如果系统已安装 PHP,该命令会输出版本信息。记下这个版本,你需要在后面的 Nginx 配置中用到它(例如 php8.3-fpm.sock)。

然后,根据你的情况执行安装:

如果系统没有安装 PHP,或者你想要安装一个特定版本(例如 PHP 8.3),则运行以下命令:

1
sudo apt install php8.3-fpm php8.3-mysql php8.3-gd php8.3-mbstring php8.3-xml php8.3-curl -y

(请注意,如果你的系统默认仓库不包含 PHP 8.3,你可能需要添加相应的 PPA 仓库。)

如果你的系统已经有 PHP 且你希望使用它,那么只需要安装必要的扩展:

1
sudo apt install php-fpm php-mysql php-gd php-mbstring php-xml php-curl -y

重要提示: 请确保你安装的 PHP 版本与 Nginx 配置文件中 fastcgi_pass 所指定的版本(例如 php8.3-fpm.sock)一致。

步骤二:创建数据库

Typecho 需要一个数据库来存储所有的博客数据。

1. 登录 MariaDB

root 用户身份登录数据库。

1
sudo mysql -u root -p

(第一次登录时可能不需要密码,直接按回车即可。)

2. 创建数据库

创建一个名为 typecho 的数据库。

1
CREATE DATABASE typecho DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

(如果你想使用其他数据库名,请确保后面的步骤中保持一致。)

3. 创建数据库用户并授权

创建一个名为 typecho 的用户,并授予它对 typecho 数据库的所有权限。请将 your_strong_password 替换为一个强密码。

1
2
3
CREATE USER 'typecho'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON typecho.* TO 'typecho'@'localhost';
FLUSH PRIVILEGES;

(请确保 CREATE USERGRANT 命令中的用户名和数据库名完全一致。)

4. 退出

1
EXIT;

步骤三:下载并配置 Typecho

1. 创建 Typecho 博客目录

/var/www/ 目录下创建一个名为 typecho_blog 的新文件夹。

1
sudo mkdir /var/www/typecho_blog

2. 进入目录并下载文件

进入新创建的目录,并直接在里面下载 Typecho 的 zip 安装包。

1
2
cd /var/www/typecho_blog/
sudo wget [https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip](https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip)

3. 解压文件

解压下载的 zip 包。文件将直接解压到当前目录。

1
sudo unzip typecho.zip

4. 删除压缩包

(可选)为了保持目录整洁,你可以删除下载的 zip 压缩包。

1
sudo rm typecho.zip

5. 设置文件权限

这是非常重要的一步。我们将目录的所有者和所属组都设置为 www-data,这是 Nginx 和 PHP-FPM 的运行用户。

1
2
sudo chown -R www-data:www-data /var/www/typecho_blog/
sudo chmod -R 775 /var/www/typecho_blog/

步骤四:配置 Nginx

1. 创建 Nginx 配置文件

为你的 Typecho 站点创建一个新的配置文件。

1
sudo nano /etc/nginx/sites-available/typecho.conf

2. 粘贴并修改以下配置

请将以下内容粘贴到文件中,并将 server_name 替换为你的域名或 IP 地址。注意,fastcgi_pass 的版本号已修正为 php8.3-fpm.sock

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
listen 80;
listen [::]:80;

# 你的域名或 IP 地址
# 例如: server_name example.com [www.example.com](https://www.example.com);
# 或者: server_name 10.0.0.150;
server_name 10.0.0.150;
root /var/www/typecho_blog;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

3. 启用配置并重启 Nginx

创建配置文件链接,移除默认配置,检查语法,然后重启服务。

1
2
3
4
sudo ln -s /etc/nginx/sites-available/typecho.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl restart nginx

步骤五:完成安装

现在,你可以通过浏览器访问你的服务器 IP 或域名,即可看到 Typecho 的安装向导。

根据向导提示,填入你在 步骤二 中创建的数据库信息和管理员账户信息,即可完成部署。


步骤六:完全卸载(可选)

如果你想完全删除这套 Typecho 系统,可以按照以下步骤操作:

1. 删除 Nginx 配置和文件

1
2
3
4
5
6
7
8
# 删除 Nginx 配置文件链接
sudo rm /etc/nginx/sites-enabled/typecho.conf

# 重新加载 Nginx 配置
sudo nginx -s reload

# 删除 Typecho 文件目录
sudo rm -rf /var/www/typecho_blog/

2. 删除数据库和用户

1
2
3
4
5
6
7
8
9
# 登录 MariaDB
sudo mysql -u root -p

# 删除数据库和用户
DROP DATABASE typecho;
DROP USER 'typecho'@'localhost';

# 退出
EXIT;

3. 卸载所有软件包

如果你不再需要 Nginx、PHP 和 MariaDB,可以运行以下命令卸载它们:

1
2
sudo apt purge nginx mariadb-server php-fpm php-mysql php-gd php-mbstring php-xml php-curl -y
sudo apt autoremove -y