首页 > 资讯中心 > 技术分享 > 文章内容

群晖NAS安装KodExplorer文件管理器(域名绑定+外网访问)

2019-04-03 14:06 技术分享

群晖NAS安装KodExplorer文件管理器

1.套件安装

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

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

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

2.WebStation基础配置

打开 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 在局域网内访问了。
 

3.端口转发

在群晖NAS的Web管理界面中,依次打开控制面板-->外部访问-->路由器配置 ,点击新增,选择应用内的端口,将vhost的7890和7430端口添加进去并保存设置。
 
保存设置的过程需要等待一定的时间,耐心等待几分钟就可以了。
 

4.内网穿透

将本地端口映射到可以正常进行外网访问的VPS服务器,以达到内网穿透的目的。
 

5.Nginx反向代理

如何绑定域名进行访问?
 
首先需要将域名kod.kodcloud.com解析到部署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的配置文件,例如kod.moewah.com.conf。
 
server {
        listen      80;
        #填写用于绑定KodExplorer的域名
        server_name kod.moewah.com ; 
        #301跳转到https,如果不使用https协议可删除这行。
        return 301 https://kod.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 kod.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 ! 现在可以使用自己的域名直接访问了~