从零搭建私人NAS:手机+KSWEB+PHP实现个人云存储(附完整源码)
前言
最近想给自己做一个私人云存储系统,要求:
· 不需要买硬件(用旧手机)
· 可以随时随地访问
· 支持文件管理、聊天室、软件商店
· 可以给家人/朋友开账号
研究了一圈,最终用 KSWEB + PHP + JSON 实现了一个轻量级 NAS。优点是:
· ✅ 零硬件成本(旧手机即可)
· ✅ 无需数据库(纯JSON存储)
· ✅ 支持多用户(注册+昵称)
· ✅ 文件管理(上传/下载/删除)
· ✅ 群聊功能(历史记录)
· ✅ 软件商店(可自己加应用)
· ✅ 网页版,跨平台
---
准备工作
工具 说明
一台安卓手机 旧手机就行
KSWEB 安卓端的 PHP 服务器
Termux(可选) 用于命令行操作
---
第一步:安装 KSWEB
1. 在手机搜索下载 KSWEB(酷安或官网)
2. 安装后打开,点击 启动服务器
3. 记住显示的IP地址,例如 http://127.0.0.1:8080
---
第二步:创建项目目录
在手机内部存储根目录下创建 ylnas 文件夹:
```
/storage/emulated/0/ylnas/
```
然后在 ylnas 下创建以下文件夹:
```
ylnas/
├── userfiles/
│ ├── apps/ # 应用存放目录
│ └── dll/ # 公共资源
└── cache/ # 缓存目录
```
---
第三步:下载源码
我写了一个单文件 PHP 程序,所有功能都集中在 index.php 中。
功能清单:
模块 功能
用户系统 登录、注册、修改昵称、修改密码
桌面 图标式应用入口
文件管理 上传、下载、删除、新建文件夹(管理员)
聊天室 创建群聊、加入群聊、发送消息
软件商店 自动扫描 apps 目录下的应用
系统设置 生成背景图、清理缓存、时区设置
源码下载:
(直接从我的博客复制)
---
第四步:配置 KSWEB
1. 打开 KSWEB,点击 设置
2. 找到 文档根目录 (Document Root),设置为:
```
/storage/emulated/0/ylnas/
```
3. 重启服务器
---
第五步:访问 NAS
打开手机浏览器,访问:
```
http://127.0.0.1:8080
```
默认管理员账号:
用户名 密码
admin 123456
首次登录会提示修改密码。
---
功能演示
1. 桌面
登录后显示桌面,有四个默认图标:
· 💬 聊天室
· 📁 文件管理(仅管理员)
· 📦 软件商店
· ⚙️ 设置
2. 聊天室
· 创建群聊:输入群名称即可
· 加入群聊:搜索群名称,点击加入
· 发送消息:实时保存到 chat.json
3. 文件管理(管理员)
· 上传文件
· 下载文件
· 删除文件
· 新建文件夹
4. 软件商店
把 HTML/PHP 应用放到 userfiles/apps/ 目录下,系统会自动识别并显示。
5. 设置
· 修改昵称
· 修改密码
· 生成背景图(双色渐变)
· 清理缓存
· 时区设置(管理员)
---
数据存储
所有数据都保存在 JSON 文件中,不需要数据库:
文件 作用
config.json 用户账号、昵称、密码
chat.json 群聊和消息记录
settings.json 系统设置(时区、语言)
---
添加自己的应用
在 userfiles/apps/ 目录下创建文件夹或文件,例如:
```
userfiles/apps/
├── todo/ # 待办清单应用
│ └── index.html
├── calculator/ # 计算器应用
│ └── index.html
└── myapp.html # 单文件应用
```
打开软件商店就能看到并运行。
---
常见问题
Q:为什么文件管理只有管理员能看到?
A:出于安全考虑,普通用户只能使用聊天室和软件商店,不能访问系统文件。
Q:能不能在外网访问?
A:可以配合内网穿透工具(如 frp、ZeroTier)或使用公网IP。
Q:数据会丢失吗?
A:所有数据存在手机本地,建议定期备份 ylnas 文件夹。
---
总结
这套系统用最简单的技术栈(手机+PHP+JSON)实现了一个功能完整的私人NAS。优点是免费、轻量、无数据库、可扩展。
如果你也想自己搭建一个,按教程操作即可。代码完全开源,可以随意修改。
有问题欢迎在评论区交流!
---
---
更多推荐

所有评论(0)