一、环境准备
1.1 所需软件与资源
XAMPP: 集成了 Apache、MariaDB、PHP 和 Perl 的跨平台 Web 开发环境
Typecho: 轻量级开源博客程序,基于 PHP
公网访问方案: 内网穿透工具(花生壳、frp)或固定 IP 方案
文本编辑器: 用于修改配置文件(如 VS Code、Notepad++ 等)
二、本地服务器配置
2.1 XAMPP 安装与初始化
从Apache Friends官网下载适合您操作系统的XAMPP安装包
执行安装程序,建议安装路径避开系统目录(如
C:\Program Files),本指南使用D:\xampp安装完成后,启动XAMPP控制面板
依次启动Apache和MySQL服务

如果 MySQL 无法启动,请参见文末“附录A:常见问题与排查”。
在浏览器中访问
http://localhost验证服务器运行状态
2.2 数据库创建
Typecho 需要一个 MySQL 数据库来存储内容和配置信息:
访问
http://localhost/phpmyadmin/进入数据库管理界面点击左侧导航栏中的"新建"选项

在表单中输入数据库名称(如
typecho_db)选择字符集为
utf8mb4_general_ci(支持完整的Unicode字符,包括Emoji)点击"创建"按钮完成数据库初始化

安全提示: 在生产环境中,应为数据库创建专用用户并限制权限,而非使用默认的root账户。可在phpMyAdmin的"用户账户"→"添加用户"中完成此操作。
三、Typecho博客部署
3.1 程序文件安装
从Typecho官方网站下载最新版本的程序包
解压下载的压缩文件
将解压后的所有文件复制到 XAMPP 的网站目录中:
D:\xampp\htdocs\typecho\

3.2 执行安装向导
在浏览器中访问
http://localhost/typecho/启动安装程序在欢迎页面点击"我准备好了,开始下一步"

在数据库配置页面填写以下信息:
数据库适配器: MySQL
数据库地址:
localhost数据库用户名:
root(XAMPP 默认)数据库密码: (默认为空)
数据库名:
typecho_db(您在上一步创建的数据库)表前缀:
typecho_(可保持默认)

点击"确认,开始安装"按钮
在站点配置页面设置管理员账户信息:
站点名称
站点描述
管理员用户名
管理员密码
管理员邮箱

完成安装后,您可以通过以下地址访问:
博客前台:
http://localhost/typecho/管理后台:
http://localhost/typecho/admin/


至此,本地博客系统已完成基础配置,可以进行文章发布和管理。
3.3 Apache 网站根目录配置
关键步骤: 为了让访问您的域名或IP时直接显示博客内容(而非XAMPP默认欢迎页),需要修改Apache配置,将根目录指向Typecho文件夹:
在XAMPP控制面板中停止Apache服务
备份原始配置文件:
D:\xampp\apache\conf\httpd.conf使用文本编辑器打开
httpd.conf文件搜索
DocumentRoot并找到以下配置:# 原配置 DocumentRoot "D:/xampp/htdocs" <Directory "D:/xampp/htdocs">修改为指向Typecho目录:
# 新配置 DocumentRoot "D:/xampp/htdocs/typecho" <Directory "D:/xampp/htdocs/typecho">
保存文件并在XAMPP控制面板中重新启动Apache服务
3.4 Typecho 站点 URL 配置
当您通过任何域名或 IP 访问博客时,需要确保 Typecho 知道自己的正确地址,否则样式和链接可能无法正常工作:
通过
http://localhost/admin/访问博客后台在左侧菜单中选择"设置"→"基本设置"
找到"站点地址"选项
根据您的访问方式,将其设置为对应的地址:
本地访问:
http://localhost公网域名访问:
http://您的域名(如http://myblog.com或http://1ko0641539qv6.vicp.fun)

注意: URL 末尾不要添加斜杠
/,以避免路径解析问题。
点击页面底部的"保存设置"按钮
刷新博客首页,此时所有样式和功能应正常显示
四、实现公网访问的多种方案
本章介绍几种将您的本地服务器发布到公网的方法,您可以根据自身条件选择最适合的方案。
内网穿透允许外部网络通过特定域名访问您本地的 Web 服务:
注册并登录花生壳账号,下载安装花生壳客户端
在客户端或官网控制台中添加新的映射
配置映射参数:
应用类型: 选择
HTTP或网站外网域名: 使用花生壳提供的免费域名(如
1ko0641539qv6.vicp.fun)内网主机: 填写运行XAMPP的计算机内网IP地址
内网端口:
80(Apache默认端口)

完成映射后,通过花生壳提供的域名访问您的网站
登录Typecho后台,将站点地址更新为花生壳域名(参见3.4节)
4.2 方案二:固定 IP 直接访问(适合有固定公网 IP)
如果您的宽带有固定公网IP(如部分商业宽带或企业专线),可以直接通过IP访问:
查询您的公网IP(可通过搜索"我的IP"获取)
在路由器上设置端口转发:
外部端口:80(HTTP标准端口)
内部IP:您运行XAMPP的电脑内网IP
内部端口:80
配置防火墙,允许80端口的入站连接
通过
http://您的公网IP直接访问您的网站登录Typecho后台,将站点地址更新为您的公网IP地址(参见3.4节)
4.3 方案三:使用自己的域名
4.3.1 标准方法(需要路由器端口转发)
如果您已经拥有自己的域名,希望用它替代花生壳提供的域名,可以采用DDNS(动态域名解析)技术:
购买域名:如果还没有域名,可以在阿里云、腾讯云、Namecheap等注册商购买
设置DNS解析:
登录域名提供商的控制面板
添加一条A记录,指向您的公网IP(如果是动态IP,先填写当前IP)
如果希望使用二级域名,可以添加如
blog.yourdomain.com的记录
配置DDNS客户端(针对动态IP):
方法一:使用域名提供商的DDNS服务
阿里云提供"云解析DNS"的DDNS功能
腾讯云提供"DNSPod"服务
按照提供商说明配置自动更新客户端
方法二:使用第三方DDNS服务
注册No-IP、DynDNS等DDNS服务提供商
下载并安装其客户端软件
配置客户端,绑定您的域名和当前IP
客户端会定期检测IP变化并自动更新DNS记录
端口转发设置:
在路由器上设置80端口转发到运行XAMPP的电脑(同4.2节)
更新Typecho配置:
登录Typecho后台
将站点地址更新为您的自定义域名,如
http://blog.yourdomain.com或http://yourdomain.com
提示:如果您使用自己的域名,建议同时配置HTTPS证书以提高安全性。可以使用Let's Encrypt免费证书,并在Apache中配置SSL。
4.3.2 无法设置端口转发时的替代方案
如果您无法访问路由器或光猫后台设置(如运营商锁定了管理权限),仍有以下几种方式可以使用自己的域名:
结合花生壳内网穿透使用自定义域名:
先按照4.1节设置花生壳内网穿透
在您的域名DNS设置中添加CNAME记录,指向花生壳提供的域名
记录类型:CNAME
主机记录:www 或 blog(您想要的二级域名前缀)
记录值:您的花生壳域名(如
1ko0641539qv6.vicp.fun)
等待DNS生效(通常需要几分钟到几小时)
此后可通过您自己的域名访问网站
使用非标准端口:
修改XAMPP中Apache的监听端口为非80端口(如8080)
编辑
httpd.conf文件,找到Listen 80并改为Listen 8080重启Apache服务
在花生壳中映射此非标准端口
通过
http://您的域名:8080访问网站
使用Cloudflare Tunnel(高级方案):
注册Cloudflare账户并将您的域名添加到Cloudflare
下载并安装cloudflared客户端
创建一个隧道并配置本地服务
此方案完全绕过了路由器端口转发的需求,且提供免费SSL
使用ngrok等第三方隧道服务:
注册ngrok账户(https://ngrok.com)
下载并安装ngrok客户端
使用命令
ngrok http 80创建临时隧道升级到付费账户可绑定自定义域名
类似服务还有Telebit、Pagekite等
重要提示:对于无法设置端口转发的情况,方案1(花生壳+CNAME)是最简单可行的解决方案,既可以使用自己的域名,又不需要修改路由器设置。
五、总结与展望
本指南为您呈现一套将闲置 Windows 设备升级为个人服务器的完整路径。
以家用电脑为核心: 这是开发者最理想的“零成本”实验场。它不仅免去了昂贵的云端租赁费,更让你拥有对物理服务器环境的绝对掌控权。尽管它受限于家庭宽带的动态特性与物理设备的运行状态,但这正是理解服务器运维的最佳切入点。
攻克内网穿透: 我们将深入拆解从“开箱即用”的花生壳到“高阶自建”的 Frp 等多种穿透方案,助你跨越公网 IP 的障碍。
实践的意义: 这不仅是搭建一个博客,更是一场关于 Web 容器、数据库调度、网络架构及 CMS 运维的深度实战。通过亲手打通数据流的每一个环节,你将为未来的全栈开发之路打下坚实的底层基础。
评论区