2022-05-24

NextCloud 與 Collabora Office Online 整合

由於想減少依賴大公司的需求,因此想了解 LibreOffice Online 的發展情況
畢竟在下在5年前曾經使用自建雲端平台,配合 LibreOffice Online
製作類似 Google Drive, Microsoft Office Online 的工具
事隔5年,現在有否更方便的方法製作

Collabora Office Online 是一種基於 LibreOffice Online 的網頁文件編輯工具
在下在2017年編寫的 NextCloud 與 LibreOffice Online 整合
Collabora Office 已經提供 Collabora Office Online 的 Docker
只需要執行一些指令,便可以將整個已經編輯好的的 LibreOffice Online 下載及執行
只是在下很想自行製作所有工具,因此花了3個月學習

直到2022年,在下突想覺得需要有 Google Drive 以外的私人雲端平台
因此又再次查看 LibreOffice Online 有否更方便的建立方法
結果發現比 Collabora Office Online 的 Docker 更方便的方法

下載及安裝伺服器等工具

見下文
見下文
包括 網頁伺服器 、 資料庫伺服器 、 PHP 及 其他相關相依套件
在 Terminal 輸入
sudo apt install apache2 mariadb-server php php-curl php-gd php-mysql php-mbstring php-xml php-zip

或按此下載及安裝
如果安裝的套件數量煩多,在下建議使用指令會比較方便

建立資料庫

見下文
在下使用 MariaDB ,登入資料庫伺服器,輸入
sudo mysql -u root -p

未設定的 MySQL 或 MariaDB 的 root 密碼為 空白

見下文
輸入
CREATE USER "nextcloud"@"localhost" IDENTIFIED VIA mysql_native_password USING "nextcloud";

出現 Password hash should be a 41-digit hexadecimal number 錯誤
新建的 資料庫帳戶 需要 41位十六進制數字
在下使用資料庫的 PASSWORD 功能,將密碼轉換成 41位十六進制數字
SELECT PASSWORD("nextcloud");

將輸出的結果複製
CREATE USER "nextcloud"@"localhost" IDENTIFIED VIA mysql_native_password USING "*622C4A896C7A2B1DEE6B6713116AFF0182BED69F";

將 41位十六進制數字 取代原本的 密碼
當中的 "nextcloud"@"localhost" 的 nextcloud 是 帳戶名稱
PASSWORD("nextcloud") 的 nextcloud 是 密碼
閣下可以修改成自己需要的資料,在下只是測試
因此使用 nextcloud 作為 帳戶名稱 及 密碼,亦沒有隱藏密碼

見下文
建立帳戶後,輸入
GRANT USAGE ON *.* TO "nextcloud"@"localhost" REQUIRE NONE WITH MAX_QUERIES_PER_HOUR O MAX_CONNECTIONS_PER_HOUR O MAX_UPDATES_PER_HOUR O MAX_USER_CONNECTIONS O;

授予使用量給帳戶,再輸入
CREATE DATABASE IF NOT EXISTS `nextcloud`;

建立對應的資料庫(資料庫名稱不一定與帳名相同),最後輸入
GRANT ALL PRIVILEGES ON `nextcloud`, * TO "nextcloud"@"localhost";

授予使用權限給帳戶至資料庫

下載 NextCloud伺服器

見下文
https://nextcloud.com/install/ 展開 Archive file 下載 NextCloud伺服器

見下文
亦可以使用指令下載,輸入
wget "https://download.nextcloud.com/server/releases/latest.tar.bz2"

下載後解壓縮,或輸入
tar xf "latest.tar.bz2"

(此文章編寫時 NextCloud 最新版本為 24)

見下文
更改 nextcloud 及其下檔案 的 擁有者群組www-data
sudo chown -R www-data:www-data "nextcloud"

將 nextcloud 移動到 /var/www/html
sudo mv "nextcloud" "/var/www/html"


安裝 NextCloud伺服器

見下文
http://127.0.0.1/nextcloud 安裝 NextCloud伺服器
NextCloud伺服器 的 帳戶 及 密碼 不一定與 NextCloud資料庫 相同
連接到 NextCloud資料庫 的資料與先設定的 NextCloud 帳戶名稱 及 密碼 相同
輸入資料後按 安裝

見下文
等待安裝完成

見下文
安裝完成後, NextCloud 會推薦一些應用程式
其中兩個就是主題的 NextCloud OfficeCollabora Online - Built-in CODE Server
在下建議按 安裝推薦的應用程式
但亦可以按 取消 ,有需要時才安裝亦可

見下文
見下文
但除了 Collabora Online - Built-in CODE Server 出現 應用程式下載或是安裝失敗
其他則沒有錯誤訊息

見下文
第一次登入 NextCloud伺服器畫面,會顯示歡迎訊息

見下文
帳戶登入 NextCloud 的首頁畫面

安裝 NextCloud應用程式

安裝 NextCloud應用程式 前,要先了解無法安裝 Collabora Online - Built-in CODE Server 的原因
是因為 Apache2 記憶體限制為 128MB ,但 Collabora Online - Built-in CODE Server 的總體積大約為 200MB 左右
由於沒有足夠的 記憶體 導致無法下載,在未調整 記憶體限制 前,即使手動操作亦無法下載

見下文
見下文
編輯 /etc/php/*/apache2/php.ini
memory_limit 的 設定值更改比 128M 更大的數值,在下使用 512M
亦要視乎硬件記憶體數量而調整

見下文
更改後,執行
sudo service apache2 restart

見下文
使用管理者帳戶,按 帳戶資料 > 應用程式

見下文
見下文
見下文
分類選擇 Office & text ,尋找 Collabora Online - Built-in CODE Server 後,按 下載並啟動

設定 NextCloud Office

見下文
帳戶資料 > 設定

見下文
見下文
進入 Nextcloud Office 分頁,選擇 使用內建的 CODE - Collabora Online 開發版
選擇後 NextCloud 會自動測試,成功會顯示 可連線至 Collabora Online 伺服器 表示 Collabora 正在運作

測試 NextCloud Office

見下文
檔案 > 新增檔案 > 新文字文件.odt (可以即時更改檔案名)

見下文
與大部分 辦公室軟件 相似,除了空白文件,還可以選擇範本

見下文
開啟時會顯示載入文件

見下文
見下文
操作方法亦與大部分 辦公室軟件 相似

總結

2017年在下用3個月時間自製私人雲端平台,5年後,2022年在下只需要用10分鐘便完成
只是前期工作需要一點科技知識,但實際上,只需要複製指令、貼上、執行,便可以達至目的
整體而言,不需要太多科技知識便能夠自行完成

設定資料庫看似比較多指令操作,但如果使用 PHPMyAdmin 便可以使用網頁瀏覽器建立使用者資料
之後的步驟都在網頁上直觀地操作

雖然與大公司相比 NextCloud 功能比較少,但如果只是個人或小型團隊使用,已經足夠有餘
如果閣下有使用 Raspberry Pi 之類的小型電腦,便可以製作簡單的雲端讓自己及家人使用
管理檔案的方法與大公司的雲端服務相同,而且使用者可以全權管理
但風險仍然需要自行承擔(但有甚麼風險,使用者不需要承擔?)

參考資料

沒有留言 :

張貼留言