如果你只是想单纯的存储、管理文件,私有云可能是一个不错的解决方案。
vps搭建私有云成本太高,NAS 方案一般小伙伴也不愿意折腾,随着路由器性能越来越高,在路由器上搭建私有云存储,成为了很多小伙伴的选择。
今天教大家在 OpenWrt 路由器使用 KodExplorer 来搭建私有云存储。
准备工作
既然是私有云,肯定需要存储设备,最好用移动硬盘这种大容量设备,分区格式推荐为 ext4,如果你的固件 NTFS 速度快的话,无所谓。
可用空间 8M+ 内存 128M +
最后,一颗不怕死的心,因为步骤稍微有点复杂。
搭建 Web 环境
首先,搭建 Web 环境,这里我们使用:Nginx + PHP 。上传、修改文件推荐使用 WinSCP 进行操作,如果你熟练使用 VI 等编辑器,也可以,还有,SSH 连接好。
Nginx
软件包搜索 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;
}
PHP
软件包搜索 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 "" > /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 管理员密码,设置完成后即可登陆。
KodExplorer 特色
完善的文件管理功能,完美取代 FTP,像使用操作系统一样的体验。
在线预览,几乎支持所有格式的在线预览,图片、音乐、视频、文本等等。
支持多用户、分组权限管理。
强大的代码编辑器,几乎支持所有语言代码的在线编辑,代码高亮、自动补全、多标签、Zend Codeing 支持。