由于最新的 OpenWrt 的 Nginx 软件包变更,导致配置起来些许复杂,我推荐大家使用 FileBrowser 替代可道云。
随着国内网盘一家接一家的倒闭,用户可以放心使用的网盘越来越少了,目前可以放心使用的好像只有百度和腾讯了,不过都存在种种限制。
如果你只是想单纯的存储、管理文件,私有云可能是一个不错的解决方案。
VPS 搭建私有云成本太高,NAS 方案一般小伙伴也不愿意折腾,随着路由器性能越来越高,在路由器上搭建私有云存储,成为了很多小伙伴的选择。
今天教大家在 OpenWrt 路由器使用 KodExplorer 来搭建私有云存储。
准备工作
既然是私有云,肯定需要存储设备,最好用移动硬盘这种大容量设备,分区格式推荐为 ext4,如果你的固件 NTFS 速度快的话,无所谓,ext4 格式化方法可以看《斐讯 K3 LEDE 安装迅雷远程下载》中的步骤。
可用空间 8M+ 内存 128M +
最后,一颗不怕死的心,因为步骤稍微有点复杂。
搭建 Web 环境
首先,搭建 Web 环境,这里我们使用:Nginx + PHP 。上传、修改文件推荐使用 WinSCP 进行操作,如果你熟练使用 VI 等编辑器,无所谓,还有,SSH 连接好。
软件包搜索 nginx 并安装,安装完成后输入 nginx -v
返回 Nginx 版本号即安装成功。
Nginx 和 uhttpd 都是80端口,所以需要改下其中某个服务的端口。
Nginx:修改文件:/etc/nginx/nginx.conf,大概第36行,listen 80;
将 80 改为其他端口 (1 - 65536)。
uhttpd:修改文件:/etc/config/uhttpd,第3行和第4行,list listen_http '0.0.0.0:80'
list listen_http '[::]:80'
将 80 改为其他端口(1 - 65536)。
如果改了 uhttpd 端口,输入 /etc/init.d/uhttpd restart
重启 uhttpd。
不是80端口的服务访问地址需要在路由器IP后面加端口,比如:192.168.1.1:8080
输入 mkdir -p /mnt/sda1/www
创建 Web 目录,路径根据你存储设备挂载路径自行更改。
修改文件:/etc/nginx/nginx.conf
第1行 user nobody nogroup;
改为 user root root;
大概第44行,将 root html;
改为 Web 路径,示例:root /mnt/sda1/www;
,接着修改下一行:index index.html index.htm index.php;
。
大概第65行,去掉注释,为 Nginx 配置 PHP。
location ~ \.php$ {
root /mnt/sda1/www; # Web 目录路径
try_files $uri =404; # PHP 文件不存在返回404
fastcgi_pass unix:/var/run/php7-fpm.sock; # 通过 Unix 套接字执行 PHP
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 修复 Nginx fastcgi 漏洞
include fastcgi_params;
}
软件包搜索 php7-fpm 并安装,安装完成后输入 php-fpm -v
返回 PHP 版本号即安装成功。
安装所需 PHP 模块,软件包:php7-mod-curl php7-mod-gd php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-opcache php7-mod-session php7-mod-zip,比较多,用命令安装吧:opkg install php7-mod-curl php7-mod-gd php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-opcache php7-mod-session php7-mod-zip
安装 PHP 所需时间数据库,软件包:zoneinfo-asia
修改文件:/etc/php.ini
;open_basedir =
去掉注释并改为存储设备路径 + :/tmp/:/proc/ 示例:open_basedir = /mnt/sda1/:/tmp/:/proc/
memory_limit = 8M
改为 memory_limit= 20M
如果你的设备内存较大的话,可以适当增加。
注释 doc_root = "/www"
( 前面加一个分号 ; )
upload_max_filesize = 2M
和 post_max_size = 8M
改为 upload_max_filesize = 12M
和 post_max_size = 12M
该值不能大于 memory_limit 且 upload_max_filesize 不能大于 post_max_size
修改文件:/etc/php7-fpm.d/www.conf
user = nobody
改为 user = root
;listen.mode = 0666
去掉注释
;listen.allowed_clients = 127.0.0.1
去掉注释
修改文件:/etc/init.d/php7-fpm
PROG=/usr/bin/php-fpm
改为 PROG="/usr/bin/php-fpm -R"
输入echo "<?php phpinfo(); ?>" > /mnt/sda1/www/info.php
创建 PHP 调试文件,/etc/init.d/nginx restart;/etc/init.d/php7-fpm restart
重启 Nginx 和 PHP-FPM,浏览器访问 Nginx/info.php,比如:192.168.1.1:8080/info.php,输出 PHP 信息即为配置成功。
Web 环境配置完成,接下来安装 KodExplorer。
KodExplorer
前往 https://kodcloud.com 下载 KodExplorer 并上传路由器,输入 unzip 压缩包路径 -d Web目录路径
解压,比如:unzip /mnt/sda1/www/kodexplorer.zip -d /mnt/sda1/www/
,如果提示找不到命令:unzip,安装 unzip 软件包即可,也可以解压后再上传。
浏览器访问 Nginx 设置 KodExplorer 管理员密码,设置完成后即可登陆。
完善的文件管理功能,完美取代 FTP,像使用操作系统一样的体验。
在线预览,几乎支持所有格式的在线预览,图片、音乐、视频、文本等等。
支持多用户、分组权限管理。
强大的代码编辑器,几乎支持所有语言代码的在线编辑,代码高亮、自动补全、多标签、Zend Codeing 支持。
KodExplorer 我个人觉得还是可以的,虽然不支持文件同步,不过也有很多特色功能,比如代码编辑器、多种文件格式预览,而且不依赖于数据库,对硬件要求较小。
KodExplorer 使用中遇到任何问题,可前往官网或论坛寻找答案。
最后说几句
为什么用 KodExplorer?
开始是想搭建 ownCloud,但遇到点问题。
opkg 源的 MySQL 版本太旧,ownCloud 最新版本需要 5.5 +,虽然 PostgreSQL 可以用,但是太耗性能,如果使用旧版本 ownCloud 可能不兼容 PHP7,所以选择了 KodExplorer。
Web 环境有问题的话,留言给我。

微信扫描二维码关注我们
如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。
文章评论
软件源里面没有php5-fpm怎么办?
我的是下载宝!现在卡在这里了!
@bigwit 找其他的 php-fpm,比如:php7-fpm
@小山 我都配置好了,nginx也起来了,但是访问显示404
@bigwit 我也是下载宝,你在哪里找到的php-fpm?
@小山 [30-Apr-2018 13:28:15] NOTICE: PHP message: PHP Warning: PHP Startup: zip: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20131226
These options need to match
in Unknown on line 0
启动php,报了一堆这个警告,我安装的是php5
@小山 上面那条删了吧,我发现有个地方写错了
现在,phpinfo能显示,但是,装上kod之后,打开就是一片白色的,什么都没有
@王 加群,然后私聊我截图
确实不错的教程 mark一下
請問kodexplorer在打包整個文件夾下載時 壓縮後中文名稱會亂碼 該如何解決
@lioil 这个。。。我暂时没有使用KP,你可以去KP的论坛问问。
能做到外网访问不?映射多少端口?谢谢
@zuan 映射网页访问端口
感谢博主,步骤完整易懂,我用小米3G 128MB ROM +256MB RAM 搭建成功,跑起来挺快的
@Summery 怎么搭建的?有教程吗?
@三叶虫 你看的不就是吗
etc/找不到hph.ini文件怎么办呢

可不可以出一个pydio的教程,不太会搭
@mim 这个不太适用于路由器
@小山 K3是系统上限制了不能搭pydio吗?还是只是因为pydio 太吃配置了所以不适合路由器。
我尝试在K3 LEDE上搭pydio,不管怎么调打开index.php都是提示404,我自己搭的芒果云是可以正常使用的,大神如果会搭pydio麻烦教一下吧,让我试一下。
@CatSama 太吃配置了,不推荐搭建,而且需要 MySQL 环境。
@小山 我也想知道啊,pydio我这边也是一直报500错误,他们说打开主页看诊断页面,我连index.php都打不开。就想知道怎么搭,不试过不死心。
这个教程搭建私有云的思路与众不同啊,赞先
来一篇openvpn搭建免流的教程吧。最好是没有luci界面,只有entware环境的。
@一餐打不死 搞些胡里花哨的?不存在的。