新人下载app,立即提现现金 您的好友 送你现金 去提现

路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件

zka41101959 04-06 16:14 关注

创作立场声明:本文中提到商品除硬盘外多为二手,cpu与机箱疯涨不下,可能已无法以文中提到的价格购入。组机方案多样,一切从需求出发,攒机玩的是乐趣,不是由厂商精准营销带动的冲动消费。本人水平有限,疏漏之处在所难免,请各位老兄多多包涵.

上一篇中,我已经充分介绍了硬解存在的必要性,本篇让我们一起来配置docker中的各种必须套件,大多数以图形界面安装,小部分以命令行实现,本篇受众定位是有一定计网基础的普通用户。

PART1 Docker与群晖套件联动配置

首先继续昨日未完的话题,docker是什么这里不再解释,可以看做是任意操作系统下可实现相同功能的一组套件(跨平台,且拓展性极高,安全性好)

而后开始选择需要安装的套件与对应的docker注册表,可道云和nextcloud需要redis进行缓存加速,默认群晖不支持redis,因此只有选择注册表安装,默认群晖内的php套件并不支持php-redis和memorycache,因此需要用ssh命令添加至php拓展列表,onlyoffice的安装在此不再赘述,网上一抓一大把。

1.1 docker下的redis安装

至此开始redis的docker版本安装,教程参考了另一位老兄的图形化安装教程

安装完毕后,映射端口为6379,如本地有数据库管理软件,可测试相应nas ip的6379端口可否连接(一般无需密码)

1.2 php-redis

麻烦之处在在于需要为php添加拓展,网上教程林林总总,个人测试过之后只有一种办法可行,遂写于此:

首先确定需要的php版本,可道云支持php7.0以上版本,nextcloud最新版支持php7.3以上版本,于是选择为php7.3添加拓展

首先打开nas的ssh选项,建议更换端口号为大于1024小于6w的任意数字(防止被黑客肉鸡攻击)

路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件

然后登入ssh并取得root权限(需要输入密码)

路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件

在之后观察相应目录下是否有编译好的redis.so文件[注:以下的vol均为安装php的卷,需要自行替换]

命令:/volume1/@appstore/PHP7.3/usr/local/lib/php73/modules/

ls

存在reids.so文件存在reids.so文件

然后为php-fpm.ini文件末尾添加拓展加载索引

命令:vi /volume1/@appstore/PHP7.3/misc/php-fpm.ini

添加的字段:

  • [Redis]

  • extension_dir = "/volume1/@appstore/PHP7.3/usr/local/lib/php73/modules/"

  • extension = memcached.so

路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件

最后重启php7.3即可正常使用php-redis拓展

1.3 可道云与nextcloud加载redis

可道云需要使用webstation进行映射安装,nextcloud也一样,方便对文件进行合理的权限控制

1.3.1 可道云的redis配置

如果在初次安装可道云时选择redis作为缓存,则后续不用配置,无脑用就可以了

如果没有,又不想清空配置文件重新安装,则可修改安装目录下config/setting.php中的缓存相关配置,如下图所示 (如果无权限,需要先设置好读写权,否则无法修改)

可道云的redis配置可道云的redis配置

1.3.2 nextcloud的redis配置

初次安装无法选择缓存,只能从配置文件中修改

根据官方文档对Memory caching的解释,我们需要先验证redis是否在运行,如果在运行,才可添加相关配置

命令如下:

ps ax | grep redis
22203 ? Ssl 0:00 /usr/bin/redis-server 127.0.0.1:6379

查询运行进程查询运行进程

将下列命令添加至 安装目录/config/config.php 文件(别忘了最后的 ]; 如果不小心删了程式会报错)

'memcache.distributed' => 'OCMemcacheRedis','redis' => [
'host' => 'redis-host.example.com',
'port' => 6379,],

路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件

修改配置文件利用缓存修改配置文件利用缓存

1.3.3 测试缓存

如果缓存已被应用,则读取文件时内存占用会增加,数据库也会有缓存占用表。

测试过程不表,可以正常写入数据库中缓存表和建立文件列表索引,此功能亦改善了访问文件列表的速度,操作延迟有一定的下降(无图抱歉)

1.3.4 参考链接

参考链接1

参考链接2

参考链接3

PART2 webstation搭建网站并映射本地端口

此步骤较为简单,直接上图

端口对应网站列表端口对应网站列表

nextcloud详细配置nextcloud详细配置

可道云详细配置(7.2已添加相关拓展)可道云详细配置(7.2已添加相关拓展)

其中有一些杂七杂八的权限问题,此处不表,百度下都是解决方法,目录没权限给他就是了,文件没权限也直接给(这里有一点注意的,webstation读写文件的权限与目前登录用户的一致,因此只需更改登录用户对文件操作/读写权限即可,不要选everyone,有很大的安全隐患)

最后尝试以nas ip:端口号形式是否可正常访问网站,如果可以且通过权限测试,又可正常访问,则阶段到此结束。

nextcloud挂载nas共享文件夹教程在文末(站里好像都说不能挂,结果查了下文档找到个拓展转眼就挂上了路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件 )

nextcloud坑还是比较多的,我直接把我改好的配置文件贴在下面。适度避坑,安全你我

  • $CONFIG = array (

  • 'instanceid' => 'oc750mp53d93',

  • 'passwordsalt' => 'zZevG/jrQuNqrqd6srp2xe1PpTRs89',

  • 'secret' => 'JFKTtYSIFj6NaAOugH12NSluKANXQu2k1q6t1N7txzu4vqUL',

  • 'trusted_domains' =>

  • array (

  • 0 => '192.168.50.10:8088',

  • 1 => 'xxx.xxx.xxx:8088', #此处为允许外网访问配置,下章介绍

  • ),

  • 'datadirectory' => '/volume1/web/nextcloud/data',

  • 'dbtype' => 'mysql',

  • 'version' => '21.0.0.18',

  • 'overwrite.cli.url' => 'http://192.168.50.10:8088',

  • 'dbname' => 'nextcloud',

  • 'dbhost' => 'localhost',

  • 'dbport' => '',

  • 'dbtableprefix' => 'oc_', #数据库表前缀

  • 'dbuser' => 'oc_xxx',

  • 'dbpassword' => 'r2gsqq2q8gYY0q8uqagqSX0VXHkfI3',

  • 'installed' => true,

  • 'allow_local_remote_servers' => true,

  • 'memcache.distributed' => 'OCMemcacheRedis', #缓存配置

  • 'redis' => [

  • 'host' => 'localhost',

  • 'port' => 6379,

  • ],

  • );


PART3 浅谈网络解析

在讲解外网访问之前,我们必须要了解域名,公网ip,域名解析,csrf,ddns等名词的含义(本章不涉及到ssl/rsa/数字签名等现代密码学算法[也就是常见的https路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件 ])

首先域名:

在域名出现之前,人们只有通过ip地址直接访问相应的server,而ip标识性很差(个别除外),直至www的出现改变了现状,server可以直接传输超文本内容,加强了,于是就大众开始关注域名的易记忆性与访问高效性,因此,域名最基本的作用是代替ip地址让访问服务器变得更加容易,服务器开放的不同端口提供不同的服务,例如负责ssh的22端口就无法在浏览器中ip:22的形式打开web服务,有界面服务和无界面服务也要区分开来,不提供界面的服务通常偏向于控制和服务性(例如ftp/ssh/telnet),有界面服务通常注重于交互式服务(例如web)

再者公网IP:全称广域网IP,是为除了保留地址之外的任意ip地址

保留地址如下:

  • A类:10.0.0.0 到 10.255.255.255

  • B类:172.16.0.0 到172.31.255.255

  • C类:192.168.0.0 到192.168.255.255

  • 其中127.0.0.0 到127.255.255.255 为系统环回地址

如果你的路由器拨号(PPP)之后获得的ip不在此列,那么恭喜你,你已经有了一个的广域网ip

怎么测试其可用性呢?

首先更换路由器访问端口为x。(1024ip:设置好的端口号 如果可以显示路由控制界面,则说明此ip可用,可以进行下一步。(光猫需改桥接模式,路由端负责拨号)

既然前面已经介绍了域名相关知识,那么我们这里就要用上,域名的本质是解析ip地址,而ip对应的server为访问者提供各式各样的服务,群晖用的最多的是web服务(tcp),所以此章只介绍web相关内容。

如果你在本地hosts添加了一条解析记录并刷新了dns缓存,则可以可以通过自定义的域名访问局域网内的nas服务。同理:如果你在互联网上(域名解析方)添加了一条指向广域网某ip地址的解析记录,你就可以通过域名访问广域网上某ip提供的服务。再进一步,如果你用自己注册的域名,解析到你自己路由的广域网ip地址,你就可以通过该域名直接访问你路由上开放的任意端口,此为域名解析原理。(不涉及到五层体系结构的通俗讲解路由远程访问配置详解及可道云,nextcloud利用redis加速访问并挂载本地文件 )

别忘了csrf:

啥是csrf,是一种防跨域请求伪造攻击的手段,可通过多种方式实现,而防护的手段大都为:不允许不合法的域名跳转,不允许HTML标签发送合法的跨域请求,这种防御我只在docker的qbtorrent注册表中见到过,一旦跨域则无法访问,错误码505,个别情况需要注意,普通用户不必深入了解。

原理原理

为什么需要ddns?

因为一般家庭或企业用户所获得的的广域网ip并非固定,而是会时常变化,一旦变化,我们的域名针对ip的A类解析记录就会失效,因此我们需要DDNS(动态域名解析服务),在本例中选择ax88u的aliddns应用插件实现ddns。

网络解析实践

实践前提一台内网运行web服务的nas,一个路由器(刷了华硕ML改固件的都可以,其实软路由也可以以定时任务的形式进行解析,此处不表,只阐述逻辑实现)

最终目标:以数据网络访问广域网某域名获得目前局域网内web服务为最终目标,开始搭建整个网络环境(局域网内服务优化先前已介绍,不再赘述)

以外网访问nextcloud为例子(需要事先修改配置文件更改trust域名)

内网访问内网访问

域名信任域名信任

以下为端口转发配置和aliddns设置:详见

先在阿里云申请域名(我相信这个大家都会),然后通过实名认证开放解析权限,如果要用ddns必须先创建一条子域名解析记录,如果不创建则路由内置插件无法更新ip

注册域名注册域名

添加解析记录添加解析记录

添加accesskey(插件用)添加accesskey(插件用)


端口转发端口转发

aliddnsaliddns

这样一顿操作过后,等三分钟,你尝试ping下设定的域名地址,如果返回ip和路由拨号获得的ip一致(记得刷新下DNS缓存[ipconfig/flushdns]和清空hosts文件),那么你就可以通过ip:开放端口来实现在广域网上对本地web服务的访问

外网访问域名外网访问域名

PS: 推荐群晖内部做静态IP配置,防止端口转发失效

静态IP配置静态IP配置

参考链接

参考链接


番外 nextcloud挂载localhost文件夹/nas共享文件夹(smb/sftp)

许久前见站内各位大佬评比nextcloud优劣,其中一条便是其无法访问群晖的共享文件夹。

无意中发现nextcloud可以通过External storage support插件实现对本机sftp及smb内容的访问及分享,速度依托于redis提前建立好的文建索引,文件夹下载速度亦有所提升

拓展应用拓展应用

挂载细节挂载细节

实现视图实现视图

数据库cache(文件列表索引缓存)大小数据库cache(文件列表索引缓存)大小

本篇到此结束,下篇可能会介绍chevereto图床的APIv1用法详解,讲究更实用的图床。相册,who?


感觉好像没什么人看的样子欸。是我图不够多?



展开阅读全文

打开App,享最佳阅读体验
全部评论 (8)
震宝宝金小坏
2
04-06 16:27

这点上传带宽还不需要redis

zka41101959
1
04-06 17:35
看豆书库: 群晖套件中心可以直接搜索 redis 安装即可,也可供WordPress 加速使用。 1

找了一圈没看到,可能918+默认不支持此套件,在3615套件中心中可以看到redis(

看豆书库
0
04-07 10:33
看豆书库: 群晖套件中心可以直接搜索 redis 安装即可,也可供WordPress 加速使用。 1
zka41101959: 找了一圈没看到,可能918+默认不支持此套件,在3615套件中心中可以看到redis( 2

需要添加 synocommunity 这个第三方套件源。

kaaye
0
04-06 17:51
震宝宝金小坏: 这点上传带宽还不需要redis 1

处女座不喜欢在系统里看到告警吧

zka41101959
0
04-06 17:30
灵KOYB: 最直接就是办理上行大的宽带 1

体谅下穷人生活吧(目前只做了个机器资金就不够了

看豆书库
0
04-06 17:17

群晖套件中心可以直接搜索 redis 安装即可,也可供WordPress 加速使用。

灵KOYB
0
04-06 16:23

最直接就是办理上行大的宽带

大明湖畔的涛哥哥
0
04-06 16:17

好复杂…………

打开App,查看更多好文和评论
最新NAS存储优惠
QNAP 威联通 TS-453Dmini NAS网络存储 四盘位
QNAP 威联通 TS-453Dmini NAS网络存储 四盘位

2020年SMZDM双十一NAS销量榜Top1 3期分期免息

2999元包邮
京东 04-17
26 12%
HIKVISION 海康威视  Mage10 个人私有网盘 8TB
HIKVISION 海康威视 Mage10 个人私有网盘 8TB

3期分期免息 8TB大容量

2379元包邮(需用券)
京东 04-17
0 88%
HIKVISION 海康威视 Mage10 个人私有网盘 4TB
HIKVISION 海康威视 Mage10 个人私有网盘 4TB

3期分期免息 4TB大容量

1599元包邮
京东 04-17
4 5%
QNAP 威联通 TS-532X 五盘位 NAS 网络存储服务器
QNAP 威联通 TS-532X 五盘位 NAS 网络存储服务器

价格低于双11 多方位散热

1950元包邮
拼多多 04-15
10 43%
查看更多
猜你喜欢
查看更多
相关好价
相关商品
查看更多热门商品
社区主页 文章详情
23
158
8
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索