【村雨組NAS】威聯(lián)通Docker安裝Nextcloud和優(yōu)化
威聯(lián)通安裝Nextcloud有三種:
1、docker安裝
2、威聯(lián)通app store自帶Nextcloud
3、通過web方式安裝
我推薦大家用docker方式安裝,要求高的,可以稍微麻煩一點(diǎn)點(diǎn)用搭建網(wǎng)站的方式去安裝。
步驟:
打開ContainerStation,如圖

寫了YAML就可以創(chuàng)建了,YAML文件在下面,自己copy修改即可

以下是UP自己寫的YAML文件全文件,各位參照著改吧,理論上沒問題,懂的可以增加或刪除,不懂的修改紅字即可
由于nextcloud一直更新,從18版本一直用過來,建議使用24版本,還算比較穩(wěn)定,且兼容很多插件。
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=數(shù)據(jù)庫(kù)名字
? ? ? - DB_USER=數(shù)據(jù)庫(kù)的用戶名
? ? ? - DB_PASSWORD=數(shù)據(jù)庫(kù)的密碼
? ? ? - 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=數(shù)據(jù)庫(kù)名
? ? ? - MYSQL_ROOT_PASSWORD=數(shù)據(jù)庫(kù)root密碼
? ? ? - MYSQL_USER=數(shù)據(jù)庫(kù)用戶名
? ? ? - MYSQL_PASSWORD=數(shù)據(jù)庫(kù)密碼
? ? networks:
? ? ? - nextcloud_network
networks:
? nextcloud_network:
然后ip:端口號(hào)訪問,我這里是7009的端口號(hào)


優(yōu)化
1、關(guān)掉不必要的app插件,例如我只啟用這幾項(xiàng)

2、mysql性能優(yōu)化
較為麻煩,需要重啟數(shù)據(jù)庫(kù),提升不明顯
3、啟用緩存
感覺提升不大,默認(rèn)用了APCu,即便替換redis,提升也一般
成功之后
如果是英文,在右上角的設(shè)置中,如下圖設(shè)置即可

無法新建用戶的問題:
是因?yàn)槟阍O(shè)置的密碼太簡(jiǎn)單了,如何更改密碼策略,還是右上角設(shè)置

Nextcloud 外部存儲(chǔ)設(shè)置
Nextcloud非常厲害的一個(gè)點(diǎn)是支持外部存儲(chǔ),有什么用呢?
當(dāng)你存儲(chǔ)空間不夠了,可以通過類似于掛載的方式擴(kuò)充存儲(chǔ)空間?;蛘呖梢宰鳛閿?shù)據(jù)轉(zhuǎn)移的便捷途徑。實(shí)現(xiàn)計(jì)算與存儲(chǔ)分離。
實(shí)現(xiàn)方式也有兩類:
第一種:
用Nextcloud自身提供的外部存儲(chǔ)方式,通常是網(wǎng)絡(luò)連接。如圖:

對(duì)于家庭用戶而言,更多是采用FTP、WebDAV的方式,通過網(wǎng)絡(luò)拓展存儲(chǔ)空間,或者進(jìn)行數(shù)據(jù)遷移。
其中Nextcloud允許把其他服務(wù)器的Nextcloud掛載進(jìn)來進(jìn)行數(shù)據(jù)傳輸
S3、OpenStack對(duì)于普通家用可能不是很熟悉,不說了
第二種:本地
這種方式就完全類似于掛載。例如你可以把OSS、云盤等掛載到本機(jī)服務(wù)器上,然后所有數(shù)據(jù)都直接寫入,這種方式的好處就是,哪怕你的本機(jī)只有32G存儲(chǔ)空間,也能存100T的內(nèi)容。
下面分別簡(jiǎn)單談?wù)劜襟E
首先,要安裝插件 external storage
其次,要添加外部存儲(chǔ)。在“管理設(shè)置”下方的“存儲(chǔ)設(shè)置”中。
我這里掛載本機(jī)NAS上的一個(gè)webdav文件夾試試看。上面輸入ip+端口號(hào),然后是文件夾的名字。下面輸入賬號(hào)是webdav,密碼是NAS設(shè)置好的訪問密碼。
當(dāng)前面綠色對(duì)勾,表示成功,否則表示失敗或者黃色警告也是不正確的。

此時(shí)你可以在主頁(yè)看到aa這個(gè)文件夾,但是你是不能上傳文件的,需要在配置中加一段話,在Nextcloud安裝目錄下的config文件夾下的config.php中,最后的位置加入
還是那句話,威聯(lián)通一定要下載text editor,方便直接修改配置文件

之后大功告成。
補(bǔ)充:Nextcloud開啟smb
就是進(jìn)入docker容器內(nèi)部安裝好smbclient即可,沒有的可以從docker外部cp進(jìn)去,方法多樣,不詳細(xì)說了
Nextcloud 外部存儲(chǔ)設(shè)置 進(jìn)階方案
上面的方式,只適合各單個(gè)用戶或者用戶組擴(kuò)容存儲(chǔ)空間。這種方法的弊病是:共享
例如我掛載一個(gè)100T的空間,要么就我一個(gè)人能用,要么一群人同時(shí)用,毫無隱私可言。如果給一家子人同時(shí)擴(kuò)容,還能保證隱私,互不干擾,只能通過這種方式實(shí)現(xiàn)。
但這種方式,無法通過docker方式實(shí)現(xiàn),因?yàn)閽燧d空間無法映射進(jìn)docker容器內(nèi)部(不絕對(duì)),因此推薦用類似搭建網(wǎng)站的方式來實(shí)現(xiàn):即php7.2、mysql、nginx或aphache這種方式
因?yàn)镹extcloud的默認(rèn)存儲(chǔ)路徑全部都在data目錄下,只要把data目錄替換為自己的掛載路徑即可。
掛載方式多種多樣,這里不提了。假設(shè)你用某種方式掛在到了www目錄下,假設(shè)為cloudmount的文件內(nèi)
你只需要更改配置文件的一個(gè)地方即可:依然是config.php下,修改datadirectory后的路徑為/var/www/cloudmount即可

這樣,你所有用戶的默認(rèn)存儲(chǔ)都是在你掛載的這塊存儲(chǔ)空間內(nèi)。
在我之前提過“存儲(chǔ)與計(jì)算”分離的思想,Nextcloud也是完全通過這種方式實(shí)現(xiàn)
Nextcloud視頻無法預(yù)覽
文件上傳取消“塊大小”限制
重建nextcloud索引,針對(duì)通過非nextcloud途徑放入nextcloud目錄的文件,因?yàn)樯蟼魈哿耍苯右苿?dòng)速度快,但是沒入庫(kù),這個(gè)命令可以快速在數(shù)據(jù)庫(kù)做索引
它支持生成視頻縮略圖,需要安裝 ffm-peg 并修改配置:
修改 /var/www/html/con-fig/con-fig.php 配置文件
補(bǔ)充
上傳速度優(yōu)化:https://blog.csdn.net/qq_28718329/article/details/112687699
優(yōu)化mysql性能:https://www.jianshu.com/p/55fd5ddafb1a
和
https://qastack.cn/dba/29963/dynamic-change-to-innodb-flush-log-at-trx-commit
Nextcloud安裝python3
依然是進(jìn)入/bin/bash 中,執(zhí)行命令
Nextcloud打包鏡像
Nextcloud在一切必要的安裝完成之后,可以打包成自制的鏡像
暫時(shí)省略,后續(xù)補(bǔ)上
Nextcloud開啟HTTPS
因?yàn)閠alk等視頻通話、聊天等功能,必須用https才行
反向代理、申請(qǐng)證書就不提了,這里只說Nextcloud需要改的地方,依然是config.php文件
添加如下: