CTF Wiki 本地部署完整指南:3 条命令 5 分钟跑通离线 CTF 知识库
【免费下载链接】ctf-wikiCome and join us, we need you!项目地址: https://gitcode.com/gh_mirrors/ct/ctf-wiki
CTF Wiki 是覆盖 Web、密码学、逆向、Pwn 等赛道的开源 CTF 知识库。本文带你完成 ctf-wiki 本地部署:从克隆仓库、装依赖到构建验证,3 条核心命令跑完,5 分钟在浏览器里看到三语站点。
什么场景下你会用到 ctf-wiki 本地部署
安全团队把 CTF 参考资料搬进内网培训环境,学习时不再依赖外网;个人学习者在本地搭一份知识库,改一行 Markdown 就能实时看到渲染效果;想给社区贡献内容的人,也需要先本地起一份站点验证排版与导航。下面按真实操作时序走一遍。
环境准备清单
| 项目 | 要求 | 说明 |
|---|---|---|
| Git | 任意版本 | 克隆仓库 |
| Python | 3.6+ | 运行构建脚本(Dockerfile 基于 python:3.8-alpine) |
| 依赖包 | requirements.txt | mkdocs、mkdocs-material、pymdown-extensions、typer、mkdocs-minify-plugin |
| 网络 | 仅首次 | 拉代码与装包 |
环境就绪后,进入第一步。
上手流程:从克隆到启动 5 个步骤
1. 获取代码
目的:把仓库拉到本地工作目录。
git clone https://gitcode.com/gh_mirrors/ct/ctf-wiki成功标志:当前目录出现ctf-wiki文件夹,内含 docs/zh/、scripts/、requirements.txt。接下来装依赖。
2. 安装依赖
目的:装齐 mkdocs 文档框架及其主题、扩展。
pip install -r requirements.txt成功标志:终端输出Successfully installed且无 ERROR。依赖装好后就可以构建站点。
3. 构建静态站点
目的:一键生成中文、英文、繁中三语静态页面。
python3 scripts/docs.py build-all成功标志:依次打印Building docs for: zh、Building docs for: en、Building docs for: zh-tw,最后输出绿色的Successfully built docs for: ...,项目根目录多出site/与docs_build/两个目录。构建完成后,下一步起服务。
4. 启动本地服务
目的:用内置 HTTP 服务托管刚生成的静态站点。
python3 scripts/docs.py serve成功标志:终端显示Serving at: http://127.0.0.1:8008,浏览器打开该地址能看到首页,切换 en、zh-tw 语言路径均正常。至此部署完成;如果只想要最简方式,也可以直接看下一节的容器化方案。
5. Docker 部署(可选)
目的:跳过 Python 环境,直接起一份 nginx 托管的静态站点。
docker run -d --name=ctf-wiki -p 4100:80 ctfwiki/ctf-wiki成功标志:访问http://localhost:4100/能看到与本地构建一致的三语站点。这条路径适合只想「看」而不想「改」的场景。
能力盘点:部署完成后你能做什么
- 断网也能学:Web、密码学、逆向、Pwn 等全部条目离线可读,适合内网与培训环境。
- 改文档即时生效:本地实例支持动态更新,Markdown 一改,对应页面随之刷新。
- 贡献前自查:想给 中文文档 提内容,先本地跑一遍,排版与导航不会翻车。
- 快速出静态包:需要对外分发时,构建脚本直接产出
site/,交给任意静态服务器即可。
踩坑排查:3 个高频问题
现象:8008 端口被占用,服务起不来
原因:端口 8008 硬编码在 scripts/docs.py 的serve命令里,无法用参数改。解法:改用 Docker 部署,映射到空闲端口:
docker run -d --name=ctf-wiki -p 4100:80 ctfwiki/ctf-wiki现象:build-all 报找不到 mkdocs 命令
原因:依赖没装进当前 Python 环境(多版本切换或全局/虚拟环境混用时常见)。解法:确认 pip 与 python 是同一套环境后重装:
pip install -r requirements.txt现象:改了 Markdown,页面却不变
原因:serve命令只预览已构建的site/快照,不是开发服务器。解法:用live命令起带 livereload 的开发服务,改动自动刷新:
python3 scripts/docs.py live行动收尾:更新内容与下一步
远程仓库有更新时,执行git pull后重新跑python3 scripts/docs.py build-all再启动服务即可;构建逻辑、三语导航与语言切换都在 scripts/docs.py 中,想加语言可参考其中的new_lang命令。学习路径建议从 中文文档首页 出发,按 Web、密码学、逆向、Pwn 主线推进;准备投稿前,先读docs/zh/docs/contribute/里的贡献规范。
【免费下载链接】ctf-wikiCome and join us, we need you!项目地址: https://gitcode.com/gh_mirrors/ct/ctf-wiki
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考