首頁>技術>

Nextcloud 是一款開源免費的私有云儲存網盤專案,可以讓你快速便捷地搭建一套屬於自己或團隊的雲同步網盤,從而實現跨平臺跨裝置檔案同步、共享、版本控制、團隊協作等功能。它的客戶端覆蓋了Windows、Mac、Android、iOS、Linux 等各種平臺,也提供了網頁端以及 WebDAV介面,所以你幾乎可以在各種裝置上方便地訪問你的雲盤。

Nextcloud 基於PHP語言開發,可以使用 Nginx + PHP 或 Apache + PHP 部署。我個人推薦Docker方式執行,官方的Nextcloud Docker映象有做很多最佳化,部署簡單,升級也方便。

執行NextCloud

Nextcloud 的資料是儲存在資料庫中的,支援 SQLite,MySQL,PostgreSQL。據說 Nextcloud 使用 PostgreSQL 有Buff加成。

下載映象:

docker pull nextcloud:latest;docker pull postgres:latest;

執行PostgreSQL:

docker run -d -p 5432:5432 --name postgresql --restart=always \    -e POSTGRES_USER=nextcloud \    -e POSTGRES_PASSWORD=cloud@2021 \    -v /data/nextcloud/postgresql:/var/lib/postgresql/data \

執行NextCloud:

docker run -d -p 8080:80 --name nextcloud --restart=always \    -v /data/nextcloud/apps:/var/www/html/custom_apps \    -v /data/nextcloud/config:/var/www/html/config \    -v /data/nextcloud/data:/var/www/html/data \    -v /data/nextcloud/theme:/var/www/html/themes/ \    nextcloud

Docker執行Nextcloud網上教程太多,以上命令簡單,不再講解。

如果成功,輸入訪問地址就可以看到配置介面,一切設定完成後就可使用 Nextcloud 了。

生成縮圖

使用時會發現,Nextcloud 上傳的影片不能生成縮圖。其實 Nextcloud 本身支援生成影片縮圖,需要安裝 ffmpeg 並修改配置:

docker exec -it nextcloud bashapt updateapt install ffmpeg

修改/var/www/html/config/config.php配置檔案,新增:

'enable_previews' => true,'enabledPreviewProviders' =>array (  0 => 'OC\\Preview\\Image',  1 => 'OC\\Preview\\Movie',  2 => 'OC\\Preview\\TXT',),
支援掛載Samba

Nextcloud 不僅是一個私有網盤,它還支援管理其他外部儲存。可以把Samba共享,FTP,WebDAV等掛載到目錄下統一訪問管理。

Nextcloud預設是沒有開啟外部儲存功能的,需在手動啟用外掛。

然後在設定裡可以看到:

Docker部署的 Nextcloud 預設是無法掛載 Samba 的,這裡會顯示:

需要在容器內安裝smbclient:

docker exec -it nextcloud bashapt install smbclient libsmbclient-devpecl install smbclientdocker-php-ext-enable smbclient

重啟Docker服務即可。

自制Docker映象

以上兩處調整,在升級 Nextcloud 映象後又需要重新執行一次。我們可以用原映象為基礎定製一個 Nextcloud 映象。

建建檔案 Dockerfile ,內容如下:

FROM nextcloud:latestLABEL maintainer="engr-z"RUN apt update && apt upgrade -yRUN apt install ffmpeg smbclient libsmbclient-dev -yRUN pecl install smbclientRUN docker-php-ext-enable smbclient

然後在該目錄下執行:

docker build -t my_nextcloud:latest ./

執行完後會生成新的映象:

我們只需要用該映象執行即可。

Nextcloud 升級

1.執行 docker pull nextcloud:latest 下載最新映象,再構建自己的映象。

docker stop nextcloud

3.重新執行映象,引數和原來一樣。

透過 Web 進入 Nextcloud 就會出現:

occ命令是Nextcloud的命令列介面,Nextcloud管理員可以透過occ執行許多常見的伺服器操作。命令格式:

sudo -u www-data php occ <your_command>

在Docker中執行的Nextcloud執行occ會出現許可權問題:

正確執行:

docker exec --user www-data nextcloud php occ upgrade

寫這篇文章時,Nextcloud 21剛剛釋出,效能提升巨大。我自己也一直用 Nextcloud 管理家庭的照片和影片,非常Nice。

本文連結:https://engr-z.com/278.html

5
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 如何用VS去建立SQL Server資料庫專案