写在上面
在了解完内外网以后,我们就可以着手搭建各个类型的应拿来丰富我们的NAS。
首先是好处比较大的云盘系统(尤其是感受过某甲云盘的摧残)。
自己的云盘系统不须要害怕空间问题和局域网传输速率问题(外网穿透要单独考虑)linux开源软件,可多样化内容多样,多人共享也很便捷,对于数据敏感的男子伴来说也有挺好的安全性。
尽管NAS中早已可以通过SMB合同来实现云盘的基本存取功能,而且相比全面的云盘系统还差一个台阶。
此次就从第一个台阶开始迈向一个功能全面的NAS。
(该用网盘的地方还是用网盘,搭配能够达到最好的疗效)
关于nextcloud
nextcloud是一款开源的云盘系统。个人或则企业都可以用nextcloud建立免费的云盘系统用于打通全平台的文件同步与共享方案。
虽然同类的云盘也有好多,例如可道云、seafile等等。但文件的同步与共享只是nextcloud的一部份,更重要的是配套的插件可以大幅度地提高nextcloud的使用体验。
(另外seafile的文件是会进行加密保存的,不可以使用smb合同读取,得到的是密文。)
安装数据库
既然是一款全方位的个人网盘,数据储存其实是重中之重的。所以我们第一步须要做的就是安装数据库。
平常最常见的数据库应当就是MySQL了,这儿我们也可以使用MySQL的进化版MariaDB来作为nextcloud的数据库基础。
讲讲优缺
此次学习一下使用potainer的stack来安装容器组,也就是docker-compose。(分开装每位容器也是可以的,容器的通常图形化安装方式见docker解读那期)
使用stack可以同时安装多个容器,而且可以将容器列入同一个网路区域,这样只有在网路区域内的容器可以互相访问,便捷一些须要数据库的容器进行严密的联动。
首先须要创建一个网路区域
创建完成后步入stacks,点击addstack
此次我们须要安装MariaDB和数据库的图形管理界面Adminer
创建stack的名子为MariaDBlinux多线程编程,这儿的参数我们参考一台笔记本的NAS之旅提供的参数,粘贴在下边:
version: "2"
services:
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
volumes:
- /srv/dev-disk-by-uuid-4dfd6c3d-d673-49f8-9702-1976894e1304/data/config/mariadb_config:/config
ports:
- 3306:3306
networks:
- net1
restart: unless-stopped
adminer:
image: adminer
container_name: adminer
environment:
- ADMINER_DEFAULT_SERVER=mariadb
ports:
- 8080:8080
networks:
- mynet
restart: unless-stopped
networks:
mynet:
external:
name: net1
1.PUID和PGID
还是用我们老方式:id$user查询之后对应,关于linux的权限设置问题旁边可以单独说一次。
2.把PASSWORD改为自己的密码
3.volumes
把设置目录对应到/config这个相对路径
4.ports
端口那边可以只留下边的端口8080,mariaDB不须要端口
works
网路设置为我们刚创建的网路区域
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给对应用户权限解决。
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
点击布署linux搭建nas系统,默认端标语为443
这儿假如布署完并且难以登陆,可以使用命令行docker安装
创建nextcloud文件夹,在文件夹内创建docker-compose.yml文件
把里面的yml内容复制进去
在该文件夹下运行sudodocker-composeup-d布署
nextcloud登录
输入: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官方也提供了一些优化的方式以提升体验感:
Servertuning—NextcloudlatestAdministrationManuallatestdocumentation
这儿我们挑几个比较有疗效的谈谈。
设备后台任务
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' => 'OCMemcacheAPCu',
'memcache.distributed' => 'OCMemcacheRedis',
'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上下载单独的相片管理工具。同样也有地点和标签功能,相片还可以单独查看
手机相册手动同步
打通手机、电脑、平板直接的数据链路早已不再稀奇。
这儿我们可以打开手机端的界面:
而对于手机端来说,手动同步相册这个功能可以说十分好用了。(其实假如是外网穿透同步可能速率有点难料)
打开手动上传,这儿你可以设置手动同步哪一个文件夹,或则单独新建一个同步文件夹:
手动上传的设置也十分细致:
(主要是听到这个没有限制的云盘空间就很舒服)
PDFviewer&Videoplayer
一开始就默认开启的应用,可以很便捷地预览pdf文件和视频。(视频直接可以播放,不用等神奇的进度条)
笔记
点击右上角的用户,在应用这栏可以找到精选应用。添加Notes这个应用就可以进行简单的笔记管理了。
不是特别好用并且可以在须要的时侯用一下,还支持markdown,十分舒适。
笔记会手动储存在手动创建的笔记文件夹中。
思维导图
同样在应用这栏我们还可以添加思维导图进去。这款思维导图插件称作Mindmap。点击下载并启用以后就可以在首页创建了。
功能十分上面,甚至还有弱智粉(误),体验来说不比xmind差linux搭建nas系统,完全够用。
流程图
既然有思维导图,那一定不能少了流程图。
在应用中可以找到称作darw.io的流程图插件。下载并启用以后就可以在首页创建了。
Onlyoffice
这儿再推荐一款重磅应用Onlyoffice,可以直接在nextcloud中编辑office三件套,还可以协同编辑。
Onlyoffice是可以直接在服务器上布署的,同时也提供了其他平台的应用。
nextcloud也支持collaboraOnline,而且相比上去还是Onlyoffice更好用一点。(明目张胆的写在这儿)
因为功能比较复杂,Onlyoffice须要现今服务器上安装,再与nextcloud链接才可以使用。
安装Onlyoffice
安装说明官方写的很详尽
InstallingONLYOFFICEDocsforDockeronalocalserver-ONLYOFFICE
首先要注意显存和空间要求(一套下载出来也不小)
docker下直接运行
sudodockerrun-i-t-d-p80:80--restart=alwaysonlyoffice/documentserver
把上面的80端口改为你想映射的端口
再配置路径映射
这时侯可以根据官方的设置为https,其实现今早已可以打开了
联接nextcloud
再回到nextcloud,在应用里添加好Onlyoffice,打开设置界面,填写安装后的Onlyoffice地址和端口
之后在首页可以添加新的文档,就可以用Onlyoffice编辑了。
假如自己用就早已够了,想协同编辑的男子伴可以深入研究一下Onlyoffice的其他功能。
Summary
对于nextcloud来说搭建到这个程度早已体验挺好了,完全够用。
其他的功能后续会有其他更好的应拿来查漏补缺。