群晖NAS安装KodExplorer文件管理器
1.套件安装
KodExplorer 对于安装环境比较友好,已安装了PHP5.6套件和Apache2.2套件就能轻松应对了。但我这里推荐大家安装WebStation套件 + Apache2.2套件 + PHP7.0套件(PHP7响应速度提升较大,详见《PHP7深度评测》一文)
打开群晖NAS的 套件中心 搜索关键词 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 ! 现在可以使用自己的域名直接访问了~