[TOC]
0x00 前言简述 描述:由于个人家里的NAS以及公司团队对私有网盘的进行日常工作文件同步以及协同办公的需求,所以有了这篇文章,讲解记录从选项到安装以及同步使用等相关操作;
最近这几年国内的网盘市场,如今只剩下百度网盘、腾讯网盘了,虽然国内还有一些稳定的网盘但是往往针对于企业对于个人来说不划算;同时在国外也有一些稳定的网盘,但是国内访问并不友好,如 OneDrive、DropBox、Google Drive 等;
此时私有云和 NAS 这种完全掌握在自己手中的云端存储方案就体现其优势了,下文主要介绍利用NextCloud快速搭建个人专属的私有云同步网盘;
私有云同步网盘的优势与不足:1.优势
私密,自己全权管理所有文件;
稳定,不存在服务商关闭网盘服务的问题;
高速,直链下载,不限速;
功能丰富,可安装插件实现各种云端功能。
2.不足
需要定期进行维护备份
需要用硬件设备的支持
对于VPS这种存储容量小的,不适合做仓库盘,建议NAS或者本地服务器中搭建;
不用您问我先来回答了,这么多网盘为何偏偏用NextCloud? 答:自建网盘方案选择Nextcloud 、 ownCloud 、Seafile
,适合个人和企业使用,基础版免费都是成熟方案,主体功能上大同小异,且都支持在线查看/播放文件、插件扩展等功能。 下面一张谷歌趋势图可以看见当前开源网盘的热度情况;
weiyigeek.top-google趋势
NextCloud简述 描述:Nextcloud是一个开源、免费、专业的私有云存储项目,他可以帮您简单快速在个人,公司电脑、服务器甚至是树莓派等设备上架设一套属于自己或者团队专属的云同步网盘,所以它是一款开源网盘的绝佳解决方案;
版本说明:
Home 家庭版本 (免费试用即社区版本)
Enterprises 企业版本
特点:
Nextcloud跨平台支持微软 Windows、macOS 和 Linux 的客户端应用程序,以及适用于 Android 和 Apple iOS 操作系统的移动客户端下载地址 。
Nextcloud文件提供了一个内置的通用文件访问和同步平台
,具有强大的协作分享功能和桌面、移动和web界面以及WebDAV形式访问。
Nextcloud群件集成了日历、联系人、邮件
和其他生产力特性,帮助团队更快、更容易地按照您的条件完成工作。
Nextcloud Talk通过集成的屏幕共享和SIP集成,通过浏览器和移动接口提供现场、私人音频/视频会议和文本聊天(默认安装不带该插件
)。
Nextcloud上的文件存储在一般的目录结构中,并可透过WebDAV访问。
Nextcloud可以透过OpenID或者LDAP来实现用户群组或组群间的读写权限调整,以达到分享文件的目的和利用第三方平台的OAuth2进行接入;
Nextcloud上用户可以使用基于浏览器文本编辑器、书签服务、缩放网址服务、相册以及RSS阅读器与文本查看器;
Nextcloud具有良好的扩展性,可以将文件轻松连线到DropBox、Google云端与Amazon S3中;
Tips:
0x01 安装实践 NextCloud安装所需组件php-fpm / mysql / nginx / nextcloud / APCu + Redis
;
NextCloud安装方式大约有三种:
1.手动安装 环境准备:CentOS Linux release 7.7.1908 (Core)
:
Step1.自行关闭或放行防火墙和selinux规则
[TOC]
0x00 前言简述 描述:由于个人家里的NAS以及公司团队对私有网盘的进行日常工作文件同步以及协同办公的需求,所以有了这篇文章,讲解记录从选项到安装以及同步使用等相关操作;
最近这几年国内的网盘市场,如今只剩下百度网盘、腾讯网盘了,虽然国内还有一些稳定的网盘但是往往针对于企业对于个人来说不划算;同时在国外也有一些稳定的网盘,但是国内访问并不友好,如 OneDrive、DropBox、Google Drive 等;
此时私有云和 NAS 这种完全掌握在自己手中的云端存储方案就体现其优势了,下文主要介绍利用NextCloud快速搭建个人专属的私有云同步网盘;
私有云同步网盘的优势与不足:1.优势
私密,自己全权管理所有文件;
稳定,不存在服务商关闭网盘服务的问题;
高速,直链下载,不限速;
功能丰富,可安装插件实现各种云端功能。
2.不足
需要定期进行维护备份
需要用硬件设备的支持
对于VPS这种存储容量小的,不适合做仓库盘,建议NAS或者本地服务器中搭建;
不用您问我先来回答了,这么多网盘为何偏偏用NextCloud? 答:自建网盘方案选择Nextcloud 、 ownCloud 、Seafile
,适合个人和企业使用,基础版免费都是成熟方案,主体功能上大同小异,且都支持在线查看/播放文件、插件扩展等功能。 下面一张谷歌趋势图可以看见当前开源网盘的热度情况;
weiyigeek.top-google趋势
NextCloud简述 描述:Nextcloud是一个开源、免费、专业的私有云存储项目,他可以帮您简单快速在个人,公司电脑、服务器甚至是树莓派等设备上架设一套属于自己或者团队专属的云同步网盘,所以它是一款开源网盘的绝佳解决方案;
版本说明:
Home 家庭版本 (免费试用即社区版本)
Enterprises 企业版本
特点:
Nextcloud跨平台支持微软 Windows、macOS 和 Linux 的客户端应用程序,以及适用于 Android 和 Apple iOS 操作系统的移动客户端下载地址 。
Nextcloud文件提供了一个内置的通用文件访问和同步平台
,具有强大的协作分享功能和桌面、移动和web界面以及WebDAV形式访问。
Nextcloud群件集成了日历、联系人、邮件
和其他生产力特性,帮助团队更快、更容易地按照您的条件完成工作。
Nextcloud Talk通过集成的屏幕共享和SIP集成,通过浏览器和移动接口提供现场、私人音频/视频会议和文本聊天(默认安装不带该插件
)。
Nextcloud上的文件存储在一般的目录结构中,并可透过WebDAV访问。
Nextcloud可以透过OpenID或者LDAP来实现用户群组或组群间的读写权限调整,以达到分享文件的目的和利用第三方平台的OAuth2进行接入;
Nextcloud上用户可以使用基于浏览器文本编辑器、书签服务、缩放网址服务、相册以及RSS阅读器与文本查看器;
Nextcloud具有良好的扩展性,可以将文件轻松连线到DropBox、Google云端与Amazon S3中;
Tips:
0x01 安装实践 NextCloud安装所需组件php-fpm / mysql / nginx / nextcloud / APCu + Redis
;
NextCloud安装方式大约有三种:
1.手动安装 环境准备:CentOS Linux release 7.7.1908 (Core)
:
Step1.自行关闭或放行防火墙和selinux规则1 2 3 4 5 6 7 8 9 hostnamectl set -hostname nextcloud echo "127.0.0.1 nextcloud" >> /etc/hostsblanc="\033[1;37m" ; gris="\033[0;37m" ; magenta="\033[0;35m" ; rouge="\033[1;31m" ; vert="\033[1;32m" ; jaune="\033[1;33m" ; bleu="\033[1;34m" ; rescolor="\033[0m" echo -e "\n${jaune} SELinux disable and firewall settings ...${rescolor} " && sleep 1sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config && setenforce 0 firewall-cmd --add-service=http --permanent && firewall-cmd --add-service=https --permanent && firewall-cmd --reload
Step2.安装wlnmp一键安装包源与EPEL源1 2 3 4 rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache fast
Step3.基础lnmp环境安装与php依赖安装1 2 3 4 5 6 yum install unzip yum install wphp74 wnginx wmysql57 yum install wphp74-fileinfo wphp74-imagick wphp74-apcu wphp74-redis wredis5
Step4.Nginx配置 建议使用https,我这里为了方便就直接使用http方式了(请在以下两个配置文件中任选其一),如果你想使用https,请自行申请证书和生成赫尔曼密钥。
Step5.配置php-fpm.conf与启用php-opcache1 2 3 4 5 6 7 8 9 10 11 12 echo 'zend_extension=opcache.so' >> /usr/local /php/etc/php.inised -i 's/;opcache.enable=1/opcache.enable=1/' /usr/local /php/etc/php.ini sed -i 's/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/' /usr/local /php/etc/php.ini sed -i 's/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=10000/' /usr/local /php/etc/php.ini sed -i 's/;opcache.memory_consumption=128/opcache.memory_consumption=128/' /usr/local /php/etc/php.ini sed -i 's/;opcache.save_comments=1/opcache.save_comments=1/' /usr/local /php/etc/php.ini sed -i 's/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/' /usr/local /php/etc/php.ini sed -i 's/memory_limit = 128M/memory_limit = 512M/' /usr/local /php/etc/php.ini echo 'env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin' >> /usr/local /php/etc/php-fpm.conf
Step6.重启nginx/php-fpm/mysql服务1 2 3 4 5 6 7 8 9 10 nginx -t /etc/init.d/nginx restart /etc/init.d/php-fpm74 configtest /etc/init.d/php-fpm74 restart /etc/init.d/mysql restart
Step7.配置mysql建立Nextcloud的数据库与数据库账号;1 2 3 4 5 6 mysql -uroot -p mysql> set password = password('Root密码修改' ); mysql> create database nextcloud character set =utf8; mysql> create user 'nextcloud' @'localhost' identified by 'NextCloud' ; mysql> grant nextcloud.* on databasename.tablename to 'nextcloud' @'localhost' mysql> quit
Step8.下载与安装nextcloud 官方下载:wget https://download.nextcloud.com/server/releases/nextcloud-18.0.4.zip
速度确实感人1 2 3 4 5 6 7 cd /usr/local /nginx/html/curl -L http://down.whsir.com/downloads/nextcloud-18.0.4.zip unzip nextcloud-18.0.4.zip chown -R www.www /usr/local /nginx/html/nextcloud
Step9.安装与配置Nextcloud 访问http://SERVER_NAME,请选择MySQL/MariaDB数据库,默认会在网站根目录下创建一个data目录用来存放数据,该目录可根据情况进行更改,我这里保持默认状态进行安装!
weiyigeek.top-
Step10.如果完成上一步基本都可以正常使用nextcloud了,如果不行请查看错误日志并解决,但是往往为了提升使用体验,我们需要对其配置内存缓存;
Nextcloud官方提供了几种缓存配置方案APCu、Memcached及Redis
:
如果你是小型/私人家庭用途,可以仅使用APCu进行缓存。
如果你是用于公司集群用途,可以使用APCu+redis方式进行缓存。
memcached缓存方案,它不适合与事务性文件锁定一起使用(关于事务性文件锁定可以查看官方文档 ,因为它不存储锁,而且数据可以随时从缓存中消失。
因此官方建议的最佳缓存方案是redis
, 对于Redis和APCu内存缓存的说明:APCu在本地缓存中比Redis更快。如果您有足够的内存, 请使用APCu进行内存缓存,并使用Redis进行文件锁定。如果内存不足,请同时使用Redis。
(1)最佳缓存配置APCu+Redis(推荐): 前面我们已经安装了APCu+Redis模块扩展1 2 3 4 5 6 7 8 9 10 11 12 13 14 vi /usr/local /nginx/html/nextcloud/config/config.php ...... 'dbpassword' => '59iSA7XDJciDTXsmR4BU174k95Wijg' , 'installed' => true , 'memcache.local' => '\OC\Memcache\APCu' , 'memcache.locking' => '\OC\Memcache\Redis' , 'memcache.distributed' => '\OC\Memcache\Redis' , 'redis' => [ 'host' => '127.0.0.1' , 'port' => 6379, 'password' => '' , ], );
(2) 纯Redis作为缓存与仅使用APCu作为缓存对比1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 vi /usr/local /nginx/html/nextcloud/config/config.php ...... 'dbpassword' => '59iSA7XDJciDTXsmR4BU174k95Wijg' , 'installed' => true , 'memcache.local' => '\OC\Memcache\Redis' , 'memcache.locking' => '\OC\Memcache\Redis' , 'memcache.distributed' => '\OC\Memcache\Redis' , 'redis' => [ 'host' => '127.0.0.1' , 'port' => 6379, 'password' => '' , ], ); echo 'apc.enable_cli=1' >> /usr/local /php/etc/php.ini/etc/init.d/php-fpm74 restart vi /usr/local /nginx/html/nextcloud/config/config.php ...... 'dbpassword' => '59iSA7XDJciDTXsmR4BU174k95Wijg' , 'installed' => true , 'memcache.local' => '\OC\Memcache\APCu' , );
(3) 使用memcached作为缓存:APC用于本地缓存,将memcached作为分布式缓存1 2 3 4 5 6 7 8 9 10 11 vi /usr/local /nginx/html/nextcloud/config/config.php ...... 'dbpassword' => '59iSA7XDJciDTXsmR4BU174k95Wijg' , 'installed' => true , 'memcache.local' => '\OC\Memcache\APCu' , 'memcache.distributed' => '\OC\Memcache\Memcached' , 'memcached_servers' => [ [ '127.0.0.1' , 11211 ], ], );
2.Docker安装 (推荐) 描述:此处推荐采用Docker进行安装 NextCloud 网盘相关依赖服务。
步骤 01.Docker 环境安装1 2 3 curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker
步骤 02.安装Docker版MySQL与Nextcloud以及onlyoffice在线编辑插件1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 mkdir -vp /app/nextcloud/{mysql,data} /app/onlyoffice/{logs,data,front} docker run -d --name mysql \ -v /app/nextcloud/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=Password \ -e MYSQL_DATABASE=nextcloud \ -e MYSQL_USER=nextcloud \ -e MYSQL_PASSWORD=Password \ -p 3306:3306 \ --restart=always \ mysql:8.0 sudo docker run -d --restart=always \ --name onlyoffice -p 9000:80 -p 9001:443 \ -v /app/onlyoffice/logs:/var/log /onlyoffice \ -v /app/onlyoffice/data:/var/www/onlyoffice/data \ -v /app/onlyoffice/front:/usr/share/fonts/truetype/custom \ -it onlyoffice/documentserver docker run -d --name nextcloud \ -v /app/nextcloud/data:/var/www/html \ --link mysql:mysql \ --link onlyoffice:onlyoffice \ --restart=always \ -p 80:80 nextcloud:latest
步骤 03.安装初始化访问 宿主机IP:80 进行NextCloud初始化相关配置,即管理员账号密码,以及nextcloud数据库连接相关设置。
步骤 04.安装配置完成后我们还需一些常规配置。
从商城仓库中下载onlyoffice连接插件,Nextcloud与其对应版本如下 (https://apps.nextcloud.com/apps/onlyoffice):
1 2 3 4 5 6 7 8 9 10 11 Nextcloud 24 7.3.4 All releases Nextcloud 23 7.3.4 All releases wget https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.3.4/onlyoffice.tar.gz tar -zxvf /onlyoffice.tar.gz -C /app/nextcloud/data/apps
您的安装没有设置默认的电话区域。这是在没有国家代码的情况下验证配置文件设置中的电话号码所必需的。如果号码没有国家代码,请添加“默认电话区域”,并加上希望使用的区域对应的ISO 3166-1代码。
1 2 3 4 5 6 7 8 docker exec -it nextcloud bash nano /config/config.php 'default_phone_region' => 'CN' ,
此实例中的 php-imagick 模块不支持 SVG。为了获得更好的兼容性,建议安装它。
1 2 3 4 5 docker exec -it nextcloud bash apt install libmagickcore-6.q16-6-extra
3.Snap安装 描述:什么是Snap? 答:它的安装包扩展名是.snap类似于一个容器,完全独立于系统,它包含一个应用程序需要用到的所有文件和库(Snap包含一个私有的root文件系统里面包含依赖的软件包),他们安装在独立的目录中且各个应用之间相互隔离,互不影响,而且安装快捷简单,运行容易管理;主要支持的主流发行版Ubuntu和Debian;
Snap安装的优缺点:
优点:安装简单、稳定、自动升级以及自带配置环境无需自行配置;
缺点:配置不灵活、最新版本的NextCloud可能不兼容以前的插件;
特别说明:建议国外的VPS采用此种方式安装,因为国内速度真的感人;
安装环境&版本说明:1 2 3 4 5 6 7 8 9 10 Ubuntu 20.04 LTS : 5.4.0-26-generic Nextcloud 18.0.4 Apache 2.4 PHP 7.3 MySQL 5.7 Redis 5.0 mDNS for network discovery
基础流程:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 hostnamectl set -hostname nextcloud echo "127.0.0.1 nextcloud" >> /etc/hostsufw allow 80,443/tcp snap --version snap find nextcloud snap info nextcloud snap install nextcloud nextcloud 18.0.4snap1 from Nextcloud✓ installed snap start nextcloud snap stop nextcloud
如下:您只需要输入创建的管理员及密码就可以使用了
weiyigeek.top-安装完成之后效果
专有命令:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 root@k8s:~ nextcloud.manual-install <username> <password> nextcloud.disable-https nextcloud.enable-https nextcloud.export -abcd nextcloud.import -abcd nextcloud.mysql-client nextcloud.mysqldump nextcloud.occ
基础设置:
使用SSL证书加密Nextcloud,执行以下命令可以从Let's Encrypt
申请证书,申请成功后将重启容器内的Apache实例以立即实施SSL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 nextcloud.enable-https lets-encrypt Have you met these requirements? (y/n) y Please enter an email address (for urgent notices or key recovery): master@weiyigeek.top Please enter your domain name(s) (space-separated): cloud.weiyigeek.top Attempting to obtain certificates... nextcloud.enable-https self-signed Generating key and self-signed certificate... done Restarting apache... done nextcloud.enable-https custom [OPTIONS]
weiyigeek.top-SSL证书
通过snap安装的nextcloud目录与数据位置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $pwd /var/snap/nextcloud/current/nextcloud $ls config extra-apps /var/snap/nextcloud/common/nextcloud/data/ /var/snap/nextcloud/common/nextcloud/data/appdata_oc4i0bev5wdu/ /var/snap/nextcloud/20498/{apache/ certs/ mysql/ nextcloud/ php/ redis/} /var/snap/nextcloud/20498/mysql/
Tips:
相关snap管理nextcloud命令参考地址
通过snap安装的Nextcloud备份可以将上述云盘文件和云盘数据库
打包,然后可以在另外一台新安装的Nextcloud将上述解压包解压到相同路径覆盖即可;
0x02 基础配置 文件加密配置 描述:可以通过Nextcloud后台直接开启服务端加密当然也可以通过occ命令行进行开启Nextcloud的服务端加密功能。
基础操作:1 2 3 4 5 6 7 8 9 10 11 12 13 sudo -u www occ encryption:status sudo -u www occ encryption:enable sudo -u www occ encryption:encrypt-all
在线文档配置 描述:我们可以在Nextcloud像Office软件一样编辑文档、表格、以及PPT;
环境说明&安装:1 2 3 4 5 6 7 8 9 10 11 12 13 CPU:2核心2GHz及以上 内存:2GB及以上 硬盘:至少40GB的可用空间 系统:Ubuntu/Debian或其他兼容系统,内核在3.13版本以上 sudo docker pull onlyoffice/documentserver sudo docker run -d --restart=always --name onlyoffice -p 9000:80 -p 9001:443 -v /app/onlyoffice/logs:/var/log /onlyoffice -v /app/onlyoffice/data:/var/www/onlyoffice/data -it onlyoffice/documentserver
weiyigeek.top-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/ cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/ cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/ chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key ssl on; ssl_certificate /etc/nginx/cert/214212938360415.pem; ssl_certificate_key /etc/nginx/cert/214212938360415.key; ssl_verify_client off; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache builtin :1000 shared:SSL:10m; ssl_prefer_server_ciphers on; docker restart onlyoffice
设置流程: Step1.管理员登陆后转到应用(·可能有些许延迟
)然后找到并点击 Office & Test
->> 之后下载OnlyOffice
插件即可(输入安装密码
)
weiyigeek.top-
Step2.安装启用后,在设置>管理>ONLYOFFICE
进行相应的配置,需要继续输入Document Service 服务器IP和端口(http://10.10.10.245:9001 )
Step3.至此在线文档编辑功能完成,通过可以在分享文档文件设置可读、可写等;
Step4.补充自定义中文字体添加,下载字体将解压得到*.tff文件,然后用scp工具把字体文件上传到/usr/share/fonts/
中1 2 3 4 5 6 7 8 9 root@d415211e52da:/usr/share/fonts/truetype documentserver-generate-allfonts.sh documentserver-prepare4shutdown.sh documentserver-static-gzip.sh documentserver-update-securelink.sh
注意事项:
如果当前nextcloud启用的https,此时onlyoffice也必须采用https否则设置连接失败;
离线安装应用 描述:当您在服务器中下载应用时候,常常由于网络问题下载到一半的时候突然就失败了,类似如下(此时可能您需要进行离线安装
)
weiyigeek.top-
流程步骤: Step1.下载应用从https://apps.nextcloud.com/ 网站搜寻您要下载的nextcloud应用
Step2.找到下载链接下载对应版本即可,然后上传到nextcloud安装的服务器上(注意:版本的对应
);
weiyigeek.top-
Step3.解压文件并移动至extra-apps
目录(snap环境,原版是apps)1 2 3 4 5 6 tar -xvf onlyoffice.tar.gz -C /var/snap/nextcloud/20498/nextcloud/extra-apps/ root@k8s:/var/snap/nextcloud/20498/nextcloud/extra-apps$ ls notes onlyoffice
Step4.之后您将会在应用中看见安装的Onlyoffice
weiyigeek.top-
Step4.采用安装的应用进行打开docx文档
weiyigeek.top-
手动上传文件同步 描述: 在上传文件时选择了直接SFTP上传,遂记录需要在NC中同步数据库的代码:1 2 3 4 5 6 7 8 9 10 11 docker exec --user www-data nextcloud php occ files:scan --all docker exec --user www-data nextcloud php occ files:scan 指定ID docker exec --user www-data nextcloud php occ files:scan --path="/指定ID/files/指定文件夹" docker exec --user www-data nextcloud php occ user:list
同步以后,还需要递归修改文件夹权限,否则无法再NextCloud中删除文件。1 2 3 4 5 docker exec -it nextcloud chown -R www-data:www-data /var/www/html/data/指定ID/files/指定文件夹 chown -R www-data:www-data /文件夹绝对路径
0x03 基础使用 描述:用户使用官方文档:https://docs.nextcloud.com/server/latest/user_manual/index.html
组件(Groupware) Nextcloud Groupware 是一组应用程序,由邮件客户端 (IMAP/POP3) 和日历和联系人服务器 (CalDAV/CardDAV) 组成,其中包含相应的 Web 界面。
例如:与Windows 10中 的日期同步
在浏览器中,导航到下一个云日历应用。在”设置和导入”下,将”iOS/macOS CalDAV 地址”复制到剪贴板中。
启动 Windows 10 日历应用。然后,单击设置图标(齿轮图标)并选择”管理帐户”。
单击”添加帐户”并选择”iCloud”。
输入电子邮件、用户名和密码。这些信息都不得有效,所有信息都将在后续步骤中更改。
单击”完成”。应显示一条消息,指示已成功保存设置。
在”管理帐户”菜单中,单击以前步骤中创建的 iCloud 帐户,然后选择”更改设置”。然后,单击”更改邮箱同步设置”。
滚动到对话框的底部,选择”高级邮箱设置”。将您的 CalDAV URL 粘贴在标记为”日历服务器 (CalDAV)”的字段中。
单击”完成”。在相应字段中输入您的 Nextcloud 用户名和密码,并将帐户名称更改为您喜欢的任何帐户名称(例如”下一个云日历”)。单击”保存”。
执行所有这些步骤后,下一个云日历应同步。如果没有,请检查您的用户名和密码。否则,请重复这些步骤。
如何设置参考Reddit用户帖子:https://www.reddit.com/r/Nextcloud/comments/5rcypb/using_the_windows_10_calendar_application_with/
OCC 命令 描述:occ命令是ownCloud/Nextcloud的命令行界面。您可以使用occ执行许多常见的服务器操作,例如安装和升级ownCloud/Nextcloud,管理用户,加密,密码,LDAP设置等。
1 2 3 4 5 6 7 8 9 10 11 user:add 添加一个用户 user:delete 删除特定用户 user:disable 禁用特定用户 user:enable 激活特定用户 user:info 显示用户信息 user:lastseen 显示用户最后登陆了时间 user:list 列出所有用户 user:report 显示有多少用户访问 user:resetpassword 为一个用户重置密码 user:setting 读取和修改用户设置
基础实例:1 2 3 4 sudo -u www-data php occ user:list sudo -u www-data php occ user:resetpassword admin
0x04 入坑解决 问题1.需要修复Nextcloud数据库 描述:如果不执行以上命令,可能会在Nextcloud中出现安全警告,看到以下警告内容! 错误信息:1 2 3 - 数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。 - 在数据表 "oc_calendarobjects_props" 中无法找到索引 "calendarobject_calid_index" 。 - 在数据表 "oc_schedulingobjects" 中无法找到索引 "schedulobj_principuri_index" 。
错误原因:数据库中的一些列由于进行长整型转换而缺失,由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改,所以此时我们需要修复丢失的索引,索引修复后会大大提高相应表的查询速度。 解决方法:1 2 3 4 sudo -u www php /usr/local /nginx/html/nextcloud/occ db:add-missing-indices sudo -u www php /usr/local /nginx/html/nextcloud/occ db:convert-filecache-bigint
问题2.nextcloud账号密码忘记 描述:可以采用occ命令进行修改用户的账号密码;1 2 sudo -u www php occ user:resetpassword admin
问题3.snap安装nextcloud所遇问题
错误信息:docker: Error response from daemon: error while creating mount source path '/app/onlyoffice/logs': mkdir /app: read-only file system.
`
问题原因:现在用snap安装的docker有一个bug,不能挂在/home之外的地方比如/data下面
解决版办法1 sudo docker run -d --restart=always --name onlyoffice -p 9000:80 -p 9001:443 -v /home/public/logs:/var/log /onlyoffice -v /home/public/data:/var/www/onlyoffice/data -it onlyoffice/documentserver
参考连接:https://github.com/Microsoft/vscode-docker/issues/749
问题4.NextCloud的MySQL的binlog文件过大造成的监控报警 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1、进入MySQL的Docker,并激活mysql命令行 docker exec -it mysql bash mysql -uroot -p 2、查看日志的相关配置 show variables like 'log_%' ; 应该会看到 +----------------------------------------+----------------------------------------+ | Variable_name | Value | +----------------------------------------+----------------------------------------+ | log_bin | ON | 3、清除已保存的日志 PURGE MASTER; 4、禁止保存二进制日志,先退出mysql命令行,接着编辑my.cnf文件 nano /etc/mysql/my.cnf 5、在[mysqld]后添加一行【skip-log-bin】,如: [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL skip-log-bin 6、重启Mysql后,检查是否配置成功 off show variables like 'log_%' ;