写在前面

在了解完内外网之后,我们就可以着手搭建各个类型的应用来丰富我们的NAS。

首先是用处比较大的网盘系统(尤其是感受过某某网盘的折磨)。

自己的网盘系统不需要担心空间问题和局域网传输速度问题(内网穿透要单独考虑),可定制化内容多样,多人共享也很方便,对于数据敏感的小伙伴来说也有很好的安全性。

虽然NAS中已经可以通过SMB协议来实现网盘的基本存取功能,但是相比全面的网盘系统还差一个台阶。

这次就从第一个台阶开始走向一个功能全面的NAS。

(该用云盘的地方还是用云盘,搭配才能达到最好的效果)

关于nextcloud

nextcloud是一款开源的网盘系统。个人或者企业都可以用nextcloud构建免费的网盘系统用于打通全平台的文件同步与共享方案。

其实同类的网盘也有很多,比如可道云、seafile等等。但文件的同步与共享只是nextcloud的一部分,更重要的是配套的插件可以大幅度地提升nextcloud的使用体验。

(另外seafile的文件是会进行加密保存的,不可以使用smb协议读取,得到的是密文。)

安装数据库

既然是一款全方位的个人云盘,数据存储当然是重中之重的。所以我们第一步需要做的就是安装数据库。

平时最常见的数据库应该就是MySQL了,这里我们也可以使用MySQL的进化版MariaDB来作为nextcloud的数据库基础。

讲讲异同

这次学习一下使用potainer的stack来安装容器组,也就是docker-compose。(分开装每个容器也是可以的,容器的一般图形化安装方法见docker详解那期)

使用stack可以同时安装多个容器,并且可以将容器纳入同一个网络区域,这样只有在网络区域内的容器可以相互访问,方便一些需要数据库的容器进行严密的联动。

首先需要创建一个网络区域

创建完成后进入stacks,点击add stack

这次我们需要安装MariaDB和数据库的图形管理界面Adminer

创建stack的名字为MariaDB,这里的参数我们参考一台电脑的NAS之旅提供的参数,粘贴在下面:

version: "2"
services:mariadb:image: linuxserver/mariadbcontainer_name: mariadbenvironment:- PUID=1000- PGID=1000- MYSQL_ROOT_PASSWORD=123456- TZ=Asia/Shanghaivolumes:- /srv/dev-disk-by-uuid-4dfd6c3d-d673-49f8-9702-1976894e1304/data/config/mariadb_config:/configports:- 3306:3306networks:- net1restart: unless-stoppedadminer:image: adminercontainer_name: adminerenvironment:- ADMINER_DEFAULT_SERVER=mariadbports:- 8080:8080networks:- mynetrestart: unless-stoppednetworks:mynet:external:name: net1

1.PUID和PGID

还是用我们老方法:id $user查询然后对应,关于linux的权限设置问题后面可以单独说一次。

2.把PASSWORD改为自己的密码

3.volumes

把设置目录对应到/config这个相对路径

4.ports

端口这边可以只留下面的端口8080,mariaDB不需要端口

5.networks

网络设置为我们刚创建的网络区域

6.adminer

adminer这边不需要改什么,把网络对应好就可以

点击部署,等待stack创建

创建好之后可以看到该stack里有两个容器

输入ip地址:8080就可以进入到Adminer的界面了,用户名是root,密码是自己设的密码

登陆后就可以看到数据库了,这里也可以进行数据管理,当然配合外部应用更为方便。

安装nextcloud

docker-compose安装

前面说完了nextcloud的好处,那么这里我们直接安装

首先打开我们的老朋友linuxserver中找到nextcloud的doc

复制下面的docker-compose代码

1.PUID和PGID

先去看一下OMV中的用户名,然后查找该用户名的uid和gid。这里设置错了会出现无权访问的情况,也可以通过OMV给对应用户权限解决。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gGKFEaaH-1634281557046)(https://i.loli.net/2021/08/14/fdECZsiwyKrxMqU.png)]

2.volumes

硬盘中的绝对路径:相对路径,用finalshell查看

比如我的就是设置目录:

/srv/dev-disk-by-uuid-8ef4dd5d-322d-4e8c-b11a-b878ea0ed7c6/myHub/nextcloud/config

数据目录:

/srv/dev-disk-by-uuid-8ef4dd5d-322d-4e8c-b11a-b878ea0ed7c6/myHub/nextcloud/data

点击部署,默认端口号为443

这里如果部署完但是无法登录,可以使用命令行docker安装

创建nextcloud文件夹,在文件夹内创建docker-compose.yml文件

把上面的yml内容复制进去

在该文件夹下运行sudo docker-compose up -d部署

nextcloud登陆

输入https://ip:443就可以打开了,要注意这里是https,提示不是专用连接

然后进入就可以看到登陆界面了

绑定数据库

下拉点开存储与数据库,这里选择中间的MySQL/MariaDB

这时候我们还没有数据库,需要进入Adminer界面创建数据库

保存后再点击权限,创建用户,给予所有权限

链接数据库

等待片刻成功登录

改为信任链接

如果出现提示为不信任域名,那么进入该路径:

/srv/dev-disk-by-uuid-8ef4dd5d-322d-4e8c-b11a-b878ea0ed7c6/myHub/nextcloud/config/www/nextcloud/config

编辑config.php文件,将受信任域名添加进去:

文件结构

建议把nextcloud安装在共享文件夹,这样方便管理文件。

在data目录就可以看到设定的用户

点开之后的目录结构与网盘上的一致

优化nextcloud

在安装完成后,打开网站的过程中可能会有一点点慢。nextcloud官方也提供了一些优化的方法以提高体验感:

Server tuning — Nextcloud latest Administration Manual latest documentation

这里我们挑几个比较有效果的说说。

设备后台任务

nextcloud的后台任务有三种执行方式,分别是AJAX,Webcron和Cron。官方推荐使用Cron,这里我们在设置中修改。

再顺手在定时任务中添加cron.php(路径是实际安装路径)

crontab -u www-data -e
*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

docker也可以直接

docker exec --user www-data nextcloud_nextcloud_1 php /var/www/html/cron.php

修改缓存

使用内存作为缓存可以提高访问网页的速度。

官方推荐使用APCu和Redis的组合。

这里可以把本地缓存后端改为APCu,分布式缓存后端改为Redis。

打开/www/wwwroot/nextcloud目录/config/config.php

添加

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => array('host' => 'localhost','port' => 6379,
)

调整PHP-FPM

提高PHP-FPM的运行效率,修改进程数和备用进程数。

打开文件nextcloud/config/php/www2.conf

添加:

[www]
pm = dynamic
pm.max_children = 120
pm.start_servers = 12
pm.min_spare_servers = 6
pm.max_spare_servers = 18

修改到这里对于个人使用基本是足够了,如果主要用于团队协作可以根据官方文档仔细研究一下优化,事半功倍。(优化好速度真的快)

值得拥有的应用

nextcloud更强大的地方在于除了网盘功能,它还拥有着非常丰富的应用库。

日历&邮箱&地图

这些基础应用如果没有在安装时勾选的话,那么需要单独在应用里下载并启用。

都不是很华丽甚至有点简单,但是在你需要的时候也可以用起来。

相册管理

nextcloud对于照片的管理体系可以让你不需要在NAS上下载单独的照片管理工具。同样也有地点和标签功能,照片还可以单独查看

手机相册自动同步

打通手机、电脑、平板直接的数据链路已经不再稀奇。

这里我们可以打开手机端的界面:

而对于手机端来说,自动同步相册这个功能可以说非常好用了。(当然如果是内网穿透同步可能速度有点堪忧)

打开自动上传,这里你可以设置自动同步哪一个文件夹,或者单独新建一个同步文件夹:

自动上传的设置也非常细致:

(主要是看到这个没有限制的网盘空间就很舒服)

PDF viewer&Video player

一开始就默认开启的应用,可以很方便地预览pdf文件和视频。(视频直接可以播放,不用等神奇的进度条)

笔记

点击右上角的用户,在应用这栏可以找到精选应用。添加Notes这个应用就可以进行简单的笔记管理了。

不是非常好用但是可以在需要的时候用一下,还支持markdown,非常舒适。

笔记会自动存放在自动创建的笔记文件夹中。

思维导图

同样在应用这栏我们还可以添加思维导图进去。这款思维导图插件叫做Mind map。点击下载并启用之后就可以在首页创建了。

功能非常前面,甚至还有脑残粉(误),体验来说不比xmind差,完全够用。

流程图

既然有思维导图,那一定不能少了流程图。

在应用中可以找到叫做darw.io的流程图插件。下载并启用之后就可以在首页创建了。

Onlyoffice

这里再推荐一款重磅应用Onlyoffice,可以直接在nextcloud中编辑office三件套,还可以协同编辑。

Onlyoffice是可以直接在服务器上部署的,同时也提供了其他平台的应用。

nextcloud也支持collabora Online,但是相比起来还是Onlyoffice更好用一点。(明目张胆的写在这里)

由于功能比较复杂,Onlyoffice需要现在服务器上安装,再与nextcloud链接才可以使用。

安装Onlyoffice

安装说明官方写的很详细

Installing ONLYOFFICE Docs for Docker on a local server - ONLYOFFICE

首先要注意内存和空间要求(一套下载下来也不小)

docker下直接运行

sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver

把前面的80端口改为你想映射的端口

再配置路径映射

这时候可以按照官方的设置为https,当然现在已经可以打开了

连接nextcloud

再回到nextcloud,在应用里添加好Onlyoffice,打开设置界面,填写安装后的Onlyoffice地址和端口

然后在首页可以添加新的文档,就可以用Onlyoffice编辑了。

如果自己用就已经够了,想协同编辑的小伙伴可以深入研究一下Onlyoffice的其他功能。

Summary

对于nextcloud来说搭建到这个程度已经体验很好了。
其他的功能后续会有其他更好的应用来查漏补缺。

用树莓派搭建全功能NAS服务器(04):打造个人网盘系统优化相关推荐

  1. 用树莓派搭建全功能NAS服务器(01):树莓派基础操作OMV搭建

    写在前面 对于文件互传来说,局域网和云盘的操作总是独立的,而且很难将两者的优势合为一体.如果想要集多种优势为一体,那么NAS应该就是较为完美的解决方案了. 在这个系列中我们尽量跳过一些枯燥的理论知识, ...

  2. 用树莓派搭建全功能NAS服务器(06):自带穿透的文件同步工具

    写在前面 说完了nextcloud,大家已经对于个人网盘不再陌生.但想要做到随时随地同步文件,还需要公网IP/内网穿透. 其实说到文件同步,还有一款自带内网穿透的P2P文件同步工具必须介绍一下,就是s ...

  3. 用树莓派搭建全功能NAS服务器(05):玩转影音看片整理大法

    写在前面 搭建影音环境应该是大家最想完成的一个环节,也是NAS最为实用的功能之一.毕竟面对辛辛苦苦下载下来的资源,还是有个看上去极其舒适的像样的家才算完美. 使用下载器下载的文件夹的名字一般都是毫无章 ...

  4. 用树莓派搭建全功能NAS服务器(03):了解你的网络内网穿透

    写在前面 上次搭建完下载机之后,就开始了睡觉时间愉快的下载时光.只要种子不是非常冷门,下载速度什么的也都是很可观的.一觉起来昨天添加的一大堆都下载好了. 但是现在我们的NAS还只能是局域网访问和操作, ...

  5. 树莓派制作家用服务器,树莓派搭建家用小型NAS服务器

    你是否还在为从网盘下载文件被限速而捶胸顿足无可奈何呢. 假如你的手头正有一块rapberry和闲置的移动硬盘,那么恭喜你,你可以很方便的搭建一个专属于自己的文件共享服务器NAS,适时备份重要数据,一起 ...

  6. Net2FTP搭建免费web文件管理器『打造个人网盘』

  7. CentOS搭建全功能服务器(Nginx+Tomcat+PHP+SSL)

    本文将介绍Linux环境下如何安装Web服务基础运行环境,包括以下内容: 安装jdk 安装Tomcat 安装MySQL 安装PHP 安装Nginx 安装SSL证书 整合Nginx和Tomcat 整合完 ...

  8. 搭建全功能绿色版本的Flex Builder 3.0.1

    啰嗦两句: 在本文中,我将向大家介绍一下如何在本地搭建全功能绿色版本的Flex Builder 3.0.1.先说说什么是绿色版本呢?顾名思义嘛,就是只需要解压就可以运行的版本啦,使用完后,可以放心的直 ...

  9. 树莓派搭建自动追番服务器详细教程|树莓派|Jellyfin|AutoBangumi|qBittorrent

    树莓派搭建自动追番服务器教程|树莓派|Jellyfin|AutoBangumi|qBittorrent 流程简介 准备工作 硬盘挂载 Jellyfin搭建 AutoBangumi部署 流程简介 本文主 ...

最新文章

  1. iOS开发UI篇—简单介绍静态单元格的使用
  2. Linux-ps命令(7)
  3. 一种可行的简单的Scene结构in cocos2d
  4. boost::log::filter用法的测试程序
  5. 其他综合-跳板机jumpserver的安装
  6. Redis failover过程
  7. Win32ASM学习[9]: 标志寄存器
  8. 上下定高 中间自适应_上下固定中间自适应布局
  9. 波波老师: 解决微服务的数据一致性分发问题?
  10. php使mysql显示错误_php维护MySQL数据库显示错误
  11. 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM
  12. 18.XML CDATA
  13. 【转】UCenter的MVC架构
  14. 建荣蓝牙芯片型号_【蓝牙耳机方案 建荣AX2227 CW6639M蓝牙芯片杰里蓝牙方案 兼容性好选博通或者CSR】价格_厂家 - 中国供应商...
  15. 计算机系统英语作文结尾万能句子,简单英语作文万能句子 开头结尾套用句子...
  16. 悉尼大学 GC in Data Science 学习总结
  17. 无限滚动新一代老虎机
  18. 相对湿度与绝对湿度换算
  19. excel表格打印每页都有表头_excel技巧:excel表格打印后每页自动带标题、页眉页脚...
  20. 关于微软IIS7安全性

热门文章

  1. 看程序写结果,二维数组倒序输出
  2. cesium实现道路穿梭线效果
  3. 超级计算机多少钱100万,超级计算机的100万亿倍!中国量子计算机“九章”为何这么快?...
  4. mysql期末考试试卷_MySQL考试试题及答案
  5. d2admin框架学习
  6. 使用setsockopt实现端口复用
  7. 解决latex 出现File ended while scanning use of \BR@@bibitem.
  8. C++之 __int16 用法
  9. 川西云南行散记之三《八美-塔公-新都桥》
  10. python经典:斯人若彩虹,遇上方知有