威联通安装Nextcloud有三种:
1、docker安装
2、威联通app store自带Nextcloud
3、通过web方式安装
我推荐大家用docker方式安装,要求高的,可以稍微麻烦一点点用搭建网站的方式去安装。
步骤:
打开ContainerStation,如图
写了YAML就可以创建了,YAML文件在下面,自己copy修改即可
以下是UP自己写的YAML文件全文件,各位参照着改吧,理论上没问题,懂的可以增加或删除,不懂的修改红字即可
由于nextcloud一直更新,从18版本一直用过来,建议使用24版本,还算比较稳定,且兼容很多插件。
version: '3'
services:
nextcloud:
image: nextcloud:24.0-apache
container_name: nextcloud_web
depends_on:
– redis
– nextcloud-db
environment:
– UID=1000
– GID=1000
– UPLOAD_MAX_SIZE=10G
– APC_SHM_SIZE=512M
– OPCACHE_MEM_SIZE=512
– CRON_PERIOD=15m
– TZ=Aisa/Shanghai
– DOMAIN=域名或本地IP都行
– DB_TYPE=mysql
– DB_NAME=数据库名字
– DB_USER=数据库的用户名
– DB_PASSWORD=数据库的密码
– DB_HOST=nextcloud-db
volumes:
– /share/Container/nextcloud:/var/www/html
expose:
– 7009
ports:
– 7009:80
restart: always
networks:
– nextcloud_network
redis:
image: redis:alpine
container_name: redis
restart: always
expose:
– 6479
ports:
– 6479:6379
restart: always
networks:
– nextcloud_network
nextcloud-db:
image: mariadb
restart: always
expose:
– 3316
ports:
– 3316:3306
volumes:
– /share/Container/nextcloud/mariadb:/var/lib/mysql
- /share/Container/nextcloud/mariadbconfig:/etc/mysql
environment:
– MYSQL_DATABASE=数据库名
– MYSQL_ROOT_PASSWORD=数据库root密码
– MYSQL_USER=数据库用户名
– MYSQL_PASSWORD=数据库密码
networks:
– nextcloud_network
networks:
nextcloud_network:
然后ip:端口号访问,我这里是7009的端口号
优化
1、关掉不必要的app插件,例如我只启用这几项
2、mysql性能优化
较为麻烦,需要重启数据库,提升不明显
3、启用缓存
感觉提升不大,默认用了APCu,即便替换redis,提升也一般
成功之后
如果是英文,在右上角的设置中,如下图设置即可
无法新建用户的问题:
是因为你设置的密码太简单了,如何更改密码策略,还是右上角设置
Nextcloud 外部存储设置
Nextcloud非常厉害的一个点是支持外部存储,有什么用呢?
当你存储空间不够了,可以通过类似于挂载的方式扩充存储空间。或者可以作为数据转移的便捷途径。实现计算与存储分离。
实现方式也有两类:
第一种:
用Nextcloud自身提供的外部存储方式,通常是网络连接。如图:
对于家庭用户而言,更多是采用FTP、WebDAV的方式,通过网络拓展存储空间,或者进行数据迁移。
其中Nextcloud允许把其他服务器的Nextcloud挂载进来进行数据传输
S3、OpenStack对于普通家用可能不是很熟悉,不说了
第二种:本地
这种方式就完全类似于挂载。例如你可以把OSS、云盘等挂载到本机服务器上,然后所有数据都直接写入,这种方式的好处就是,哪怕你的本机只有32G存储空间,也能存100T的内容。
下面分别简单谈谈步骤
首先,要安装插件 external storage
其次,要添加外部存储。在“管理设置”下方的“存储设置”中。
我这里挂载本机NAS上的一个webdav文件夹试试看。上面输入ip+端口号,然后是文件夹的名字。下面输入账号是webdav,密码是NAS设置好的访问密码。
当前面绿色对勾,表示成功,否则表示失败或者黄色警告也是不正确的。
此时你可以在主页看到aa这个文件夹,但是你是不能上传文件的,需要在配置中加一段话,在Nextcloud安装目录下的config文件夹下的config.php中,最后的位置加入
还是那句话,威联通一定要下载text editor,方便直接修改配置文件
之后大功告成。
补充:Nextcloud开启smb
就是进入docker容器内部安装好smbclient即可,没有的可以从docker外部cp进去,方法多样,不详细说了
Nextcloud 外部存储设置 进阶方案
上面的方式,只适合各单个用户或者用户组扩容存储空间。这种方法的弊病是:共享
例如我挂载一个100T的空间,要么就我一个人能用,要么一群人同时用,毫无隐私可言。如果给一家子人同时扩容,还能保证隐私,互不干扰,只能通过这种方式实现。
但这种方式,无法通过docker方式实现,因为挂载空间无法映射进docker容器内部(不绝对),因此推荐用类似搭建网站的方式来实现:即php7.2、mysql、nginx或aphache这种方式
因为Nextcloud的默认存储路径全部都在data目录下,只要把data目录替换为自己的挂载路径即可。
挂载方式多种多样,这里不提了。假设你用某种方式挂在到了www目录下,假设为cloudmount的文件内
你只需要更改配置文件的一个地方即可:依然是config.php下,修改datadirectory后的路径为/var/www/cloudmount即可
这样,你所有用户的默认存储都是在你挂载的这块存储空间内。
在我之前提过“存储与计算”分离的思想,Nextcloud也是完全通过这种方式实现
Nextcloud视频无法预览
文件上传取消“块大小”限制
重建nextcloud索引,针对通过非nextcloud途径放入nextcloud目录的文件,因为上传太累了,直接移动速度快,但是没入库,这个命令可以快速在数据库做索引
它支持生成视频缩略图,需要安装 ffmpeg 并修改配置:
修改 /var/www/html/config/config.php 配置文件
补充
上传速度优化:https://blog.csdn.net/qq_28718329/article/details/112687699
优化mysql性能:https://www.jianshu.com/p/55fd5ddafb1a
和
https://qastack.cn/dba/29963/dynamic-change-to-innodb-flush-log-at-trx-commit
Nextcloud安装python3
依然是进入/bin/bash 中,执行命令
Nextcloud打包镜像
Nextcloud在一切必要的安装完成之后,可以打包成自制的镜像
暂时省略,后续补上
Nextcloud开启HTTPS
因为talk等视频通话、聊天等功能,必须用https才行
反向代理、申请证书就不提了,这里只说Nextcloud需要改的地方,依然是config.php文件
添加如下:
原文链接:https://www.bilibili.com/read/cv9742751/