APP下载 微博 微信

Hao4K影音


[群晖] 群晖NAS使用方法心得分享之debian + nextcloud

[复制链接]

发表于 2019年11月28日 21:57 88310 0 来源:媒体存储> 群晖 回帖奖励 |正序浏览 |

Kyriosli 帖主

2019-11-28 21:57

群晖nas使用方法心得分享之debian + nextcloud

前言
在我心目中一直有一个完美的 NAS,它与众不同最时尚(跳舞一定棒),既能满足我的折腾欲望,又可以丰富日常生活,传传照片听听音乐岂不美哉。然鹅从N年前买 Gen8 然后弃坑到今年重拾起来接盘蜗牛并折腾了好久黑裙,总感觉差点意思(在这里不得不吐槽 DS Photo 的渣体验,直接劝退),个中纠结踩坑不足为外人道也。
直到前两天,决定转开源NAS,先是试了下水 freenas,准备装 nextcloud 试试,结果被插件安装不上劝退,然后重拾了我最爱的 debian。
啊~回到了熟悉的 debian 怀抱,一切都变得那么顺其自然,无论是磁盘挂载、远程登录、安装软件等(一开始我还哼哧哼哧装了 OMV,最后发现并不是我想要的,于是就纯命令行了)。
本文会记录为了达到最佳体验,折腾中的方方面面,值友们请自取所需,不必墨守成规一步步来。
一、公网 IP + 动态解析
要达到最佳体验,肯定还是公网 IP 最好。无论是转发式还是打洞式的内网穿透(包括白裙的quickconnect),体验都比不上有一个公网 IP。我因为用的联通光纤所以问题非常简单:打 10010 要求改成公网 IP,搞定。
至于动态解析我是采用的阿里云 DNS。道理很简单,就是通过调用 API 来更新解析记录。最早在折腾 Gen8 年代,我就写过一个脚本,后来还封成插件挂到了 KoolShare 上(没错第一版 aliddns 就是我写的)。不过因为 KoolShare 的插件运行机制有问题经常挂掉,所以后来就还是直接走脚本了。
当然,阿里云 DNS 其实是动态解析里的 hard 模式,easy 模式还是很多的,很多路由器都自带这个功能,好不好用另说,肯定没这么折腾。这里简单做个对比:
第三方 ddns
优点:非常简单,基本不需要花钱
缺点:通常不支持 https,有时更新慢,不可靠
阿里云 DNS
优点:稳定,可靠,几年不用操心,支持 https
缺点:流程复杂,需要专业知识较多
那么下面我们就简单概括下阿里云 DNS 做动态解析的过程和原理:
第一步 拥有一个自己的域名
是的!这是一切的前提。当然这不会花太多钱。只要不选主流的 .com/.net/.cn 域名,你只需要花一顿盒饭的钱,就能买下一个域名 1 年的使用权。具体报价可以参考这里。
建议一次性买断10年,.press 只要 ¥149,.site/.website/.space 也只要 ¥179。

第二步 设置 DNS 解析
如果以前没有在阿里云买过域名,新注册的域名需要过实名认证才能开通解析。实名认证也很简单,支付宝扫一下就可以了。

必须实名认证才能解析
接下来打开云解析控制台,应该可以看到你的域名,已经可以解析了。
自动更新 IP 就是通过调用云解析的 API 来设置域名的解析。API 认证通过 AccessKey 实现,我们可以打开阿里云的 AccessKey 界面,创建新的 AccessKey,记录下 key 和 secret,用在下一步的脚本里。
第三步 自动更新 IP
不愿意折腾脚本的同学可以看下自己的路由器应用市场有没有 aliddns。没有的话也没关系,可以自己在路由器上或者 nas 服务器上布置一个定时脚本。定时脚本的功能就是定时的取本机的公网 IP,跟 DNS 服务器设置的 IP 对比,如果不匹配,就更新一下。
脚本的内容可以从这里得到,你需要手动修改一些配置并进行测试。具体的如何远程登录、编辑或上传文件到路由器或服务器等在这里不再赘述。
需要注意两点:
这个脚本是在路由器的 shell 环境里测试通过的,在别的平台上没有详细测试过,或许会有兼容性问题。如果你想移植到别的平台,或者用其它语言改写,可以联系我
路由器的文件系统一般是只读的 squashfs,也就是说直接将文件上传到普通目录是不允许的,或者断电会丢失。这时候需要配合 jffs 分区或者外部存储(如 u 盘、SD 卡等)来进行持久化存储。
测试成功后,需要设置定时触发脚本。一般有 crontab 等方法。需要注意的是,一般路由器的 crontab 也是断电不可保存的,所以需要使用系统的定时脚本等功能。
二、安装 debian
debian 的安装教程很多,在这也不再赘述。我推荐的方案是网络安装,只装系统基础组件和 ssh server。作为一个装 debian 老手,在这里只告诉你们一点人生的经验:
选择镜像
安装的时候一定要选好镜像,可以预先测一下速度,看国内的哪个镜像最快。可选的镜像有:
网易
阿里云
搜狐
中科大:教育网首选
更多的镜像可以看这里
分区的时候建议把 /boot、/home、/var 都分割出去,方便系统重装。以一个 128G 的启动盘为例,可以大致这样去分割:
EFI:100M
boot:1G
根目录:20G
swap: 8G
home: 60G
var: 20G
安装必须软件
安装完成后,一些趁手的工具是必要的,下面是一些系统默认不会装的软件,且都不大,可以自行无脑安装:
系统管理、脚本:
sudo、screen、curl
文件系统支持:
exfat-fuse、
exfat-utils、ntfs-3g
编辑器:
vim
多媒体处理:
imagemagick、ufraw-batch、ffmpeg、exiftool
NAT 穿透
很多时候服务器放在路由器的后面,为了让服务在外网可以访问,需要做 NAT 穿透配置。在这里我只想说:DMZ 大法好!只需要在路由器里设置一下服务器的内网 IP,就可以一键转发所有服务了

在联通光猫上设置 DMZ 的地方
三、安装 nextcloud
致到此还没被劝退的值友一句话:恭喜你终于坚持到了这一步,下面的步骤可能更麻烦!nextcloud 虽然架构简单,但是要玩转还是需要一些功夫,我们一步步来看一下:
安装 nginx
虽然网上的教程倾向于使用 Apache,但是我建议使用 nginx,毕竟效率更高,配置逻辑更简单,而且对 HTTP/2 支持更好:
安装完成后,可以试试访问下服务器的 80 端口是否启动成功。nginx 要想达到最佳效果,需要设置 worker thread 等,但默认设置已经很好用了,所以在这里就不再赘述。
申请 HTTPS 证书
很久很久以前,这是一个可以当恐怖故事讲的事情,但是现在不用了,我们有 letsencrypt ! letsencrypt 是一个免费证书提供网站,网上有很多教程。通过上一步安装的 nginx 可以完成你的域名的所有权认证,从而发给你证书,不过这个对我不适用,因为联通不允许 80 端口提供服务。所以我使用了 DNS 认证方法。
讲真,证书的申请是一件非常麻烦的事情,需要生成私钥、创建证书签发请求、签名等步骤,非常适合劝退初学者。不过现在好了,letsencrypt 提供一个命令行工具 certbot 来完成所有工作:
上面的命令会本地生成私钥和签发所需的文件,并向服务器请求签发。服务器会随机生成一段文本,并让你设置到你的 DNS 服务器上

certbot 请求证书
下面,打开阿里云的云解析控制台,在域名里添加一条 TXT 记录,子域名为 _acme-challenge,值为上面的验证文本:

使用其它 DNS 提供商的同学可以用相应的方法进行设置。
设置成功后,可以在另一个终端通过命令行验证一下:
验证通过后,按回车继续证书生成过程。生成好的证书会放在/etc/letsencrypt/ 下面。建议将证书拷贝到其它目录以供使用和备份:
我们在 nginx 默认服务器里改一下配置,试试能不能通过浏览器验证:

nginx 配置证书
配置成功后,运行 systemctl reload nginx.service,如果启动成功,可以访问下 https://你的域名:8443试下是否配置成功了,证书是否有效:

证书有效期只有3个月,到期需要重新更新证书
安装数据库
nextcloud 使用 mysql 存储文件索引等信息,当然在 debian 里面我们需要安装mariadb。运行以下命令安装 mariadb:
安装数据库服务
apt-get install -y mariadb-server
优化数据库安全性
mysql_secure_installation
创建数据库
CREATE DATABASE nextcloud;
添加数据库用户
CREATE USER nextcloud@localhost identified by &39;;
设置数据库用户权限
GRANT ALL PRIVILEGES on nextcloud.* to nextcloud@localhost;
FLUSH privileges;
安装 php
废话不多说:
当前的 php 版本是 7.3,所以生成的配置文件在 /etc/php/7.3/ 下面。我们需要修改以下配置:
/etc/php/7.3/fpm/pool.d/nextcloud.conf:
然后,修改 nginx 配置文件,让你的域名指向 php:
/etc/nginx/sites-available/nextcloud:
然后,分别重启 php-fpm 和 nginx:
安装 nextcloud
终于到了这一步!由于 nextcloud 网上安装教程非常多,我们这里就不浪费大家流量贴一堆图片了,简述下安装过程。由于软件版本随时可能升级,请大家自行下载最新版
下载安装脚本
cd /var/www/
wgethttps://download.nextcloud.com/server/releases/nextcloud-17.0.1.zip
unzip nextcloud-17.0.1.zip
chown -Rwww-data:www-data nextcloud
访问你的域名完成安装
修改 /var/www/nextcloud/config/config.php 完成优化
修改dbhost 为&39; 通过本地 socket 连接数据库
修改 loglevel 为 4 减少日志内容
添加字段 &39; => &39;
添加字段 &39; => array(&39;,&39;,&39;,&39;,&39;,&39;,&39;,&39;,&39;,),
检查安装
完成配置后,可以打开 nextcloud 的设置->概览页面,看看有没有一些没配好的或可以优化的选项。具体的优化选项可以根据自己的需求进行配置
四、安装插件
nextcloud 配置好后,一些好用的插件就可以安排上了。这里分享一个插件安装的技巧:如果在设置界面安装超时,可以手动下载后,解压到 nextcloud 的目录中。以 music 为例:
Music
在线听音乐必备,可以对音乐文件进行索引

Camera RAW Previews
单反/微单用户必备,可以在线浏览 ARW、RAF 等文件格式。注意服务器必须安装 ufraw-batch 软件包才能正常工作。
Preview Generator
离线生成预览工具,导入一大票文件后,通过这个插件可以主动生成缩略图,提升访问体验。具体使用方式是:
可以手动指定要更新的路径以加快扫描,如 --path kyrios/files/Photos
OwnBackup
将 nextcloud 的数据库表备份到文件
五、最后...再来一点人生经验
写到这里,基本上就可以用了,下面再分享一些最佳实践:
批量导入文件
如果图片或其它文件太多,一张张上传效率太低,我们可以通过文件操作批量导入进去:
将文件拷贝到 nextcloud 的 files 中,如:
cp -R /media/usb/xxxx /media/storage/nextcloud/data/kyrios/files/Photos/
修改权限,将刚拷入的文件所有权改为www-data:
chown -Rwww-data:www-data/media/storage/nextcloud/data/kyrios/files/Photos/
修改文件修改时间
nextcloud 通过文件的修改时间来对文件进行索引,不会读取图片、视频的 EXIF 信息,我们可以用 exiftool 来将文件的修改时间改为 EXIF 中的创建时间:
exiftool "-FileModifyDate
更新 nextcloud 索引
cd /var/www/nextcloud/; sudo -uwww-data ./occ files:scan kyrios
这里 files:scan 命令可以指定用户或者路径,如 kyrios/files/Photos.
重新生成缩略图
如上,不再赘述
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
新手玩家
:
介绍未填写

主题

帖子

积分7

图文推荐

  • 分享蜗牛星际A\B\C\D款机箱和功能分别有

    历经一个月研究:蜗牛星际ABCD款机箱和功能分

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 利用NAS建立DNS缓存服务器Pi-hole

    在家用环境中利用NAS建立DNS缓存服务器 1 前

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 群晖硬盘迁移到新群晖,插在另外一台群晖NA

    之前有一台蜗牛星际做的黑群晖系统nas,然后现在

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 万由HS-200S最简单的远程开机方法教程

    分享下我的nas使用技巧,以及最简单的远程开机

  • 家庭NAS+HTPC组建及注意事项(一)(内网穿

    原创篇一:家庭NAS+HTPC组建及注意事项(一)(内

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 不用U盘引导直装SSD!矿渣NAS安装黑群晖与

    教你怎么不用U盘引导直装SSD!矿渣NAS安装黑群晖

  • Hao4K影音app客户端下载