kod.jpg

说明: 记得之前写过一篇文章 《群晖NAS如何搭建NextCloud》 当时有朋友向我推荐KodExplorer。博主就亲自体验了一下感觉还不错,整个安装过程比较简单,下面就简单的介绍下,如何在群晖NAS中安装 KodExplorer 绑定域名并支持外网访问。给有私人网盘需求的朋友多一个备选方案也不错。

简介

可道云 KodExplorer(原芒果云)是一个公开源码的基于Web的在线文档管理器、代码编辑器,对数据库基本没什么依赖,但它却能提供了类 Windows/macOS 经典用户界面,一整套在线文件管理、文件预览、编辑、上传下载、在线解压缩、音乐播放功能,让你直接在浏览器端实现WEB开发、源码文件预览、网站部署的同时拥有与本地操作一样方便、快捷、安全的体验。

biu~biu~biu~我们开始吧~

截图

kod.jpeg

kod3.jpeg

opt-1.png

20171017221902043.png

opt-8.png

安装

1.套件安装

KodExplorer 对于安装环境比较友好,已安装了PHP5.6套件和Apache2.2套件就能轻松应对了。但我这里推荐大家安装WebStation套件 + Apache2.2套件 + PHP7.0套件(PHP7响应速度提升较大,详见《PHP7深度评测》一文)

打开群晖NAS套件中心 搜索关键词 KodExplorer 安装。

nas-kodexplorer1.jpeg

打开 KodExplorer 此时会出现运行环境的检测提示(没能通过检测的根据提示要求去解决) 。如下图所示:

2.jpeg

为管理员账号(admin)设置密码,设置完毕后使用账号(admin)和刚设置的密码登录即可。

2.WebStation基础配置

打开 WebStation 新增虚拟主机

IMG_1375.JPEG

自定义端口

群晖默认常规端口httphttps端口分别为80443(这里也就能解释为什么外网无法访问phpMyAdmin了,因为80端口默认被运营商关闭的),因此我们这里需要自定义端口,例如(协议对应端口): http(协议)->7890(端口),https(协议)->7430(端口)。

设置文档根目录

KodExplorer 套件安装路径默认是在共享目录 WEB 根目录中,访问地址大概为 http:192.168.x.x/kodexplorer,它成了一个子目录。很不方便对吧,那么就干掉它。我们设置文档根目录为web/kodexplorer

后端服务和PHP版本选择

选择HTTP后端服务器Apache2.2PHP7.0

上述步骤已做大概的介绍,出于篇幅考虑我就用下面一张图带过,作为参考。

webstation-kodexplorer.jpeg

点击确定。搞定。

此时,已经可以直接通过地址 http://内网地址:7890https://内网地址:7430 在局域网内访问了。

3.端口转发

在群晖NAS的Web管理界面中,依次打开控制面板-->外部访问-->路由器配置 ,点击新增,选择内置应用程序

KODEXP2.jpg

Virtual Host78907430端口添加进去并保存设置。

KODEXP3.jpg

保存设置的过程需要等待一定的时间,耐心等待几分钟就可以了。

4.内网穿透

如果没有公网IP,请阅读文章《LanProxy 使用教程》以及《Frp内网穿透加速方案》。将本地端口映射到可以正常进行外网访问的VPS服务器,以达到内网穿透的目的。

5.Nginx反向代理

如何绑定域名进行访问?

首先需要将域名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

如需要申请SSL证书 -> 参考文章《免费申请Let's Encrypt泛域名SSl证书》
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 ! 现在可以使用自己的域名直接访问了~

6.缓存加速

不赘述,详细步骤请翻烂近期文章《Nginx反向代理缓存加速HTTP/HTTPS》进行举一反三。

7.其他

补充:!!!如果已经决定将KodExplorer暴露在外网,出于安全性考虑请务必禁用demoguest账户!!!

KODEXP.jpg

最后

群晖搭建KodExplorer可视化文件管理进行外网访问的介绍大概是这些,如果想要提升访问速度,获得比较好的访问体验。大家可以试着从几个点着手:1、内网实际上传带宽够不够足(对于在线视频播放影响比较大);2、中转服务器的延迟情况;3、PHP7的性能调优(包含opcache是否开启)提高PHP的响应速度;4、缓存加速。有条件的可以直接将部分静态文件托管到云。


相关推荐

  1. 群晖 Synology 部署 Bitwarden 密码管理器
  2. 在群晖 Synology 上搭建 Bark 消息推送服务器
  3. 群晖 Synology 部署 ZeroSSL 泛域名证书
  4. 因群晖NAS系统CA证书失效导致的系列问题
  5. 在群晖NAS上搭建Cloudreve网盘系统
  6. ChineseSubfinder - 电影剧集中文字幕刮削器(群晖 Docker 部署篇)
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/1334.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。