说明: 记得之前写过一篇文章 《群晖NAS如何搭建NextCloud》 当时有朋友向我推荐KodExplorer。博主就亲自体验了一下感觉还不错,整个安装过程比较简单,下面就简单的介绍下,如何在群晖NAS中安装 KodExplorer 绑定域名并支持外网访问。给有私人网盘需求的朋友多一个备选方案也不错。
可道云 KodExplorer(原芒果云)是一个公开源码的基于Web的在线文档管理器、代码编辑器,对数据库基本没什么依赖,但它却能提供了类 Windows/macOS 经典用户界面,一整套在线文件管理、文件预览、编辑、上传下载、在线解压缩、音乐播放功能,让你直接在浏览器端实现WEB开发、源码文件预览、网站部署的同时拥有与本地操作一样方便、快捷、安全的体验。
biu~biu~biu~我们开始吧~
KodExplorer 对于安装环境比较友好,已安装了PHP5.6
套件和Apache2.2
套件就能轻松应对了。但我这里推荐大家安装WebStation
套件 + Apache2.2
套件 + PHP7.0
套件(PHP7
响应速度提升较大,详见《PHP7深度评测》一文)
打开 KodExplorer 此时会出现运行环境的检测提示(没能通过检测的根据提示要求去解决) 。如下图所示:
为管理员账号(admin)设置密码,设置完毕后使用账号(admin)和刚设置的密码登录即可。
打开 WebStation
新增虚拟主机
自定义端口
群晖默认常规端口http
和https
端口分别为80
和443
(这里也就能解释为什么外网无法访问phpMyAdmin
了,因为80
端口默认被运营商关闭的),因此我们这里需要自定义端口,例如(协议对应端口): http
(协议)->7890
(端口),https
(协议)->7430
(端口)。
设置文档根目录
KodExplorer
套件安装路径默认是在共享目录 WEB
根目录中,访问地址大概为 http:192.168.x.x/kodexplorer
,它成了一个子目录。很不方便对吧,那么就干掉它。我们设置文档根目录为web/kodexplorer
。
后端服务和PHP版本选择
选择HTTP
后端服务器Apache2.2
和PHP7.0
。
上述步骤已做大概的介绍,出于篇幅考虑我就用下面一张图带过,作为参考。
点击确定。搞定。
此时,已经可以直接通过地址 http://内网地址:7890
和 https://内网地址:7430
在局域网内访问了。
在群晖NAS的Web管理界面中,依次打开控制面板–>外部访问–>路由器配置 ,点击新增,选择内置应用程序。
将Virtual Host
的7890
和7430
端口添加进去并保存设置。
保存设置的过程需要等待一定的时间,耐心等待几分钟就可以了。
如何绑定域名进行访问?
首先需要将域名www.moewah.com
(用于绑定Nextcloud的域名)解析到部署Lanproxy/Frp所在的服务器IP。(作为中转服务器,建议选购低延迟高带宽的VPS)
这里以Nginx
为例,需要在这台中转服务器中安装nginx,觉得麻烦可以直接安装使用军哥的LNMP一键安装脚本。具体安装步骤不赘述,请翻烂->LNMP安装步骤
使用ssh
登录中转服务器,安装LNMP
执行下列命令:
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
Nginx添加一个Vhots
的配置文件,例如www.moewah.com.conf
。
server { listen 80; #填写用于绑定KodExplorer的域名 server_name www.moewah.com ; #301跳转到https,如果不使用https协议可删除这行。 return 301 https://www.moewah.com$request_uri; location / { #lanproxy转发http所对应的端口,Frp请使用自定义http监听端口 proxy_pass http://127.0.0.1:7890; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # 如果不使用https协议的下面部分可以略过。 server { listen 443 ssl http2; #填写用于绑定KodExplorer的域名 server_name www.moewah.com ; ssl_certificate /usr/local/nginx/fullchain.cer; #SSL证书路径 ssl_certificate_key /usr/local/nginx/domain.key; #证书密钥路径 ssl_stapling on; ssl_stapling_verify on; resolver 1.1.1.1 1.0.0.1 valid=300s; resolver_timeout 5s; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:SSLCipherSuiteECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256;'; ssl_prefer_server_ciphers on; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; location / { proxy_ssl_server_name on; #lanproxy转发https所对应的端口,Frp请使用自定义https监听端口 proxy_pass https://127.0.0.1:7430; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Remote-Port $remote_port; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; } }
配置文件语法正确性测试
nginx -t # 若echo打印结果为 syntax is ok 代表测试通过
重启nginx
/etc/init.d/nginx restart
All done ! 现在可以使用自己的域名直接访问了~
补充:!!!如果已经决定将KodExplorer暴露在外网,出于安全性考虑请务必禁用demo
和guest
账户!!!
群晖搭建KodExplorer可视化文件管理进行外网访问的介绍大概是这些,如果想要提升访问速度,获得比较好的访问体验。大家可以试着从几个点着手:1、内网实际上传带宽够不够足(对于在线视频播放影响比较大);2、中转服务器的延迟情况;3、PHP7的性能调优(包含opcache是否开启)提高PHP的响应速度;4、缓存加速。有条件的可以直接将部分静态文件托管到云。
相关推荐
原文链接:https://www.moewah.com/archives/1334.html