而 Google Drive 及 OneDrive 整合了文件編輯工具,可以在線上進行雲端文件分享及即時編輯
由於需要編譯 LibreOffice Core 及 LibreOffice Online ,先從套件庫下載及安裝編譯工具
在 Terminal 輸入
sudo apt-get build-dep libreoffice
但會出現沒有原始碼的錯誤
Linux Mint 到 /etc/apt/sources.list.d/official-package-repositories.list
Ubuntu 到 /etc/apt/sources.list
將原來的 deb 行數複製,新複製的行數的 deb 改為 deb-src
或透過指令加入原始碼檔案
software_source='/etc/apt/sources.list.d/official-package-repositories.list' tmp_file='/tmp/'`basename "${software_source}"` cp "${software_source}" "${tmp_file}" cat "${software_source}" | sed -r 's/^deb /deb-src /g' >> "${tmp_file}" sudo mv "${tmp_file}" "${software_source}"
或透過 軟件來源 (Software Source) 來添加原始碼
不論用甚麼方法,加入原始碼後,更新套件庫,在 Terminal 輸入
sudo apt-get update
然後可以在 Terminal 輸入
sudo apt-get build-dep libreoffice安裝 LibreOffice 的編譯工具
由於 build-dep 只能將對應套件的編譯工具下載,卻不能編譯工具移除
若只是以試用態度安裝,最好先將編譯工具列表記下,或到 /var/log/apt 查看套件管理的歷史,否則要恢復下載編譯工具前的狀態會非常困難
除了套件庫的編譯工具外還需要 libkrb5-dev, nasm, libcap-dev, nodejs, npm, python-polib, jake 進行編譯
由於會使用 git 來下載原始碼因此亦需要安裝 git
在 Terminal 輸入
sudo apt-get install git libkrb5-dev nasm libcap-dev npm python-polib sudo npm install -g jakejake 是 npm 的套件,因此需要使用 npm 進行安裝
安裝 jake 後將 /usr/bin/nodejs 添加連結為 /usr/bin/node
在 Terminal 輸入
cd /usr/bin sudo ln -s nodejs node否則編譯 LibreOffice Online 時會出錯
先下載需要的來源,在 Terminal 輸入
#git clone https://github.com/pocoproject/poco --depth=1 website='https://pocoproject.org' key='^.*The latest stable release is ' version=`curl "${website}" 2>/dev/null | grep "${key}" | sed -r "s/${key}"'(.+)\. .+$/\1/'` wget "${website}/releases/poco-${version}/poco-${version}.tar.bz2" -O 'poco.tar.bz2' tar jxvf 'poco.tar.bz2' git clone git://anongit.freedesktop.org/libreoffice/core --depth=1 libreoffice/core git clone git://anongit.freedesktop.org/libreoffice/online --depth=1 libreoffice/online #git clone https://github.com/nextcloud/server --depth=1 nextcloud wget 'https://download.nextcloud.com/server/releases/latest.tar.bz2' -O 'nextcloud.tar.bz2' tar jxvf 'nextcloud.tar.bz2' git clone 'https://github.com/nextcloud/richdocuments' --depth=1 nextcloud/apps/richdocuments若沒有特殊需要,建議使用 git 下載來源時加入 --depth=1 來下載最新的 commit 來源,比較快
若沒有指定 --depth=1 將會比較所有版本,下載時間非常長
所有資源合計大約 1 GB
POCO 是一個開源的 C++ 的函式庫,簡化了以 C++ 開發網絡操作上的程序
由於需要使用具備 JSON 及 WebSocket 的 POCO函式庫
但由預設套件庫提供的 libpoco-dev 並不包含兩者,因此需要從 POCO 的原始碼安裝
到 POCO 的目錄,開啟 Terminal 輸入
./configure --prefix='/opt/poco' make sudo make install設定 POCO 的安裝位置於 /opt/poco ,並進行編譯,完成編譯後安裝 POCO
編譯及安裝時間大約 20分鐘
到 LibreOffice Core 的目錄,開啟 Terminal 輸入
./autogen.sh ./configure --prefix='/opt/libreoffice/core' make #sudo make install使用 autogen.sh 建立預設的 configure 設定
設定 LibreOffice 的安裝位置於 /opt/libreoffice/core ,並盡行編譯
安裝 LibreOffice 與否並非必要,因為主要是將 LibreOffice 編譯後,讓 LibreOffice Online 使用 LibreOffice 的核心
但安裝 LibreOffice 並不影響往後操作,有需要亦可以安裝 LibreOffice
留意編譯時不能使用 Super User 權限
編譯時間大約 10小時,安裝時間大約 5分鐘
由於編譯的時間極長,若打算安裝 LibreOffice Core ,安裝前的設定務必詳細考慮,否則再次編譯是非常漫長
當編譯 LibreOffice Core 時在處理 CPPUnit 的過程可能建議系統安裝相關的套件
按需要安裝與否
由 LibreOffice Core 編譯完成的 LibreOffice
到 LibreOffice Online 的目錄,開啟 Terminal 輸入
libreoffice_core_source_path='/somewhere/libreoffice/core' poco_install_path='/opt/poco' ./autogen.sh ./configure \ --prefix='/opt/libreoffice/online' \ --with-lokit-path="${libreoffice_core_source_path}/include" \ --with-lo-path="${libreoffice_core_source_path}/instdir" \ --with-poco-includes="${poco_install_path}/include" \ --with-poco-libs="${poco_install_path}/lib" \ --enable-silent-rules \ --enable-debug sudo make sudo chown -R "${USER}:${USER}" .同樣使用 autogen.sh 建立預設的 configure 設定
設定 LibreOffice 的安裝位置於 /opt/libreoffice/online
編譯 LibreOffice Online 需要使用已編譯的 LibreOffice Core
加入 --with-lokit-path 指向已編譯的 LibreOffice Core 的 include 目錄
及 --with-lo-path 指向已編譯的 LibreOffice Core 的 instdir 目錄
還有剛才的 POCO
加入 --with-poco-includes 指向已安裝的 POCO 的 include
及 --with-poco-libs 指向已安裝的 POCO 的 lib
留意編譯時需要使用 Super User 權限,編譯完成後將 LibreOffice Online 檔案改回當前使用者的擁有權
編譯時間大約 30分鐘
當 LibreOffice Online 編譯完成,在 Terminal 輸入
libreoffice_online_install_path='/opt/libreoffice/online' sudo mkdir '/etc/loolwsd' sudo cp 'etc/'* '/etc/loolwsd' sudo mkdir -p "${libreoffice_online_install_path}/var/cache/loolwsd" sudo chmod 0777 "${libreoffice_online_install_path}/var/cache/loolwsd"在 /etc 建立 loolwsd 目錄,並將由 LibreOffice Online 提供的證書複製至 /etc/loolwsd
在 LibreOffice Online 的安裝位置建立 var/cache/loolwsd 目錄,是安裝位置不是原始碼位置
並設定操作權限為 0777 讓 LibreOffice Online 運行時存放暫存資料
完成設定後輸入
make run來運行 LibreOffice Online 服務
開啟瀏覽器到 https://localhost:9980 測試
由於使用 SSL ,而由 LibreOffice Online 提供的證書屬於自簽證書,瀏覽器通常會基於安全理由封鎖網頁
先按 Advanced
再按 Add Exception
將 https://localhost:9980 設定為安全例外
然後按 Confirm Security Exception
當 https://localhost:9980 列為安全例外後,重新整理頁面,便不會再封鎖網頁
頁面上亦會顯示 OK 表示 LibreOffice Online 正在正常運行
在安裝 NextCloud 前,需要先安裝 Apache 、 PHP 、 MySQL 等套件
還有 NextCloud 需要使用的 php-zip 、 php-gd 、 php-curl 等函式庫
由於需要使用 MySQL 亦可以安裝 PHPMyAdmin 協助資料庫存取的操作
在 Terminal 輸入
sudo apt-get -y install apache2 php libapache2-mod-php mysql-server php-mysql php-zip php-gd php-curl phpmyadmin進行安裝
如有需要,可以建立 nextcloud 的資料庫及使用者
在 Terminal 輸入 mysql 指令後,輸入
CREATE USER 'nextcloud-admin'@'localhost' IDENTIFIED BY 'admin-password'; GRANT USAGE ON *.* TO 'nextcloud-admin'@'localhost';-- REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS `nextcloud`; GRANT ALL PRIVILEGES ON `nextcloud`.* TO 'nextcloud-user'@'localhost';或透過 PHPMyAdmin 建立 nextcloud 的資料庫及使用者
nextcloud-admin 及 admin-password 可以自行修改
除了安裝 AMP 外,由於 LibreOffice Online 需要使用 SSL
因此在 Terminal 輸入
cd '/etc/apache2/sites-enabled' sudo ln -s '../sites-available/default-ssl.conf' sudo a2enmod ssl使用由 Apache2 提供的預設的 SSL 設定
啟動 Apache 的 SSL模組
修改 /etc/apache2/sites-available/default-ssl.conf
SSLCertificateFile /etc/loolwsd/cert.pem SSLCertificateKeyFile /etc/loolwsd/key.pem SSLCertificateChainFile /etc/loolwsd/ca-chain.pem將 SSLCertificateFile 及 SSLCertificateKeyFile 修改為 LibreOffice Online 提供的 cert.pem 及 key.pem
及加入 SSLCertificateChainFile 指向 LibreOffice Online 提供的 ca-chain.cert.pem
不建議將預設的 default-ssl.conf 提供的 SSLCertificateFile 及 SSLCertificateKeyFile 更改
建議將原本的 SSLCertificateFile 及 SSLCertificateKeyFile 以備註忽略
再新加 SSLCertificateFile 及 SSLCertificateKeyFile 確保可以復原預設值
修改後,在 Terminal 輸入
sudo service apache2 restart重新啟動 Apache 服務
準備設定 NextCloud
將 LibreOffice Online 的 ca-chain.cert.pem 證書增添至 NextCloud 的 resources/config/ca-bundle.crt 中
再將整個 nextcloud 的擁有者及群組改為 www-data
並將整目錄移至 Apache 的 document root 中,例如 /var/www/html
在 Terminal 輸入
cat 'online/etc/ca-chain.cert.pem' >> 'resources/config/ca-bundle.crt' sudo chown -R 'www-data:www-data' nextcloud sudo mv nextcloud /var/www/html
開啟瀏覽器到 https://localhost/nextcloud
與瀏覽 LibreOffice Online 相同,需要先將 https://localhost 列為安全例外才能瀏覽
設定 NextCloud 的管理員帳戶、密碼、使用的資料庫登入帳戶等資料並安裝
安裝完成後,會自動以管理員帳戶登入 NextCloud
第一次登入 NextCloud 會顯示 NextCloud 的宣傳資料
顯示 NextCloud 檔案目錄,當中包括使用手冊及一些文件、影片、圖片範例
按下右上角的設定圖示,按下 Apps
在應用程式列表會顯示 NextCloud 中已安裝、已啟用、未啟用的應用程式
及亦可以通過 NextCloud App Store 下載由 NextCloud 提供的應用程式
尋找 Collabora Online 的應用程式,按 Enable
Collabora Online 即是剛才下載的 richdocuments 若已經下載並存放至 apps 的目錄,可以直接到未啟用的應用程式列表中找到
若剛才沒有下載亦可以在此下載及安裝
下載、安裝、啟用、停用應用程式等操作都需要 NextCloud 管理員帳戶權限
當 Collabora Online 由 Enable 變成 Disable 表示 Collabora Online 已啟用
按下右上角的設定圖示,按下 Admin
在 Collabora Online Server 輸入 https://localhost:9980 即 LibreOffice Online 的預設路徑位置
Collabora Online Server 需要使用相同的協定即相同是 HTTP 或 HTTPS
另外 Collabora Online Server 可以連接其他 LibreOffice Online 的 Web Socket ,但暫時先以 localhost 示範
回到檔案目錄,按下新增圖示,可以在新增檔案中加入 OpenDocument Format 的文件格式
新增 OpenDocument Format 文件
顯示文件擁有人、歷史及版本管理
按下 Help > About 可以顯示 LibreOffice Core 及 LibreOffice Online 的版本
LibreOffice Online 中的文本編輯器 Writer
LibreOffice Online 中的試算表工具 Calc
LibreOffice Online 中的簡報工具 Impress
Collabora Online 會通過 LibreOffice Online 進行文件編輯
LibreOffice Online 基本上是直接將 LibreOffice 的版面直接顯示
但由於網頁限制,一些功能並不能執行,而操作上與 LibreOffice 相同
當沒有任何操作,逾時大約1分鐘,編輯畫面會暫時鎖定避免誤碰,並在使用回到操作版面按鍵後恢復編輯狀態
當 LibreOffice Online 在使用者正在編輯的狀態下停止運作,亦會將編輯畫面鎖定,等待 LibreOffice Online 重新啟動
若果由外部網絡連接至 NextCloud 會提出警告,需要管理員將外部連接加入至信任域名才能生效
當按下剛才的信任域名連結會以 localhost 並登入至 NextCloud 並提出是否將外部連接加入
不一定需要由 localhost 才能設定信任域名,以其他已列為信任域名登入 NextCloud
並到在 Admin 頁面的網址加上 trustDomain=ip-or-domain 的 query string 亦可以添加信任域名
除了經網頁設置,亦可以到 nextcloud/config/config.php 在 trusted_domains 加入
若需要讓外部 IP 都能通過 Collabora Online 運作 LibreOffice Online 便需要使用閣下的公共 IP 或域名,不能使用 localhost
需要修改 Collabora Online Server 的位置
若是自建伺服器便需要到 Router 設定能讓外部存取的連接埠及虛擬伺服器
查看閣下的公共 IP 可以在 Terminal 輸入
curl ifconfig.io
由於由 LibreOffice Online 提供的 SSL 證書,只能在 localhost 中使用 (連 127.0.0.1 都不能)
當通過 NextCloud 的 Collabora Online 運作 LibreOffice Online 會再出現錯誤畫面
在 Logging 中會顯示
SSL: ceritficate subject name 'localhost' does not match target host name 'ip-or-domain'
利用 openssl 指令建立自簽署證書
在 Terminal 輸入
openssl genrsa -out 'key.pem' 2048 openssl req -new -x509 -days 365 -key 'key.pem' -out 'cert.pem'RSA 私鑰通常現在最少建議 2048 位元長度
建立公鑰證書,如果不特別設定,其他資料可以使用預設資料,唯獨 Common Name 需要與 IP 或 域名 匹配
建立證書後
將 key.pem 及 cert.pem 取代 /etc/loolwsd 中的 key.pem 及 cert.pem
並將自建的 cert.pem 證書加添至 nextcloud/resources/config/ca-bundle.crt
輸入 Terminal
sudo cp 'key.pem' '/etc/loolwsd/key.pem' sudo cp 'cert.pem' '/etc/loolwsd/cert.pem'但留意,因為 nextcloud/resources/config/ca-bundle.crt 屬於 www-data
因此必須由 root 或 www-data 才能使用 >> 將 cert.pem 的內容導入至 nextcloud/resources/config/ca-bundle.crt
使用自簽證書的簽署
另外若不想出現 SSL警告,除左將網址列為例外,亦可以購買認證的證書,或使用 Let's Encrypt 建立得到認證的證書
在 Terminal 輸入
sudo apt-get install python-letsencrypt-apache安裝支援 Apache 的 Let's Encrypt
再輸入
sudo letsencrypt --apache -d 'ip-or-domain'由 Let's Encrypt 建立 經認證的證書
Let's Encrypt 建議使用者輸入電子郵件作為恢復遺失的鑰匙之用
若不打算提交電子郵件可以取消當前服務,並輸入
sudo letsencrypt --apache -d 'ip-or-domain' --register-unsafely-without-email來建立證書
Let's Encrypt 需要同使用者條款
建立證書有
Easy - 允許使用 HTTP 及 HTTPS 存取網站
Secure - 令所有請求都誘導使用 HTTPS
由於在下只是測試,因此選擇較簡單的 Easy
顯示已完成建立屬於該 IP 或域名的證書
證書會存放於 /etc/letsencrypt/live/ip-or-domain 位置
該目錄中會存放著 privakey.pem 、 cert.pem 、 chain.pem 、 fullchain.pem
同樣將 privakey.pem 、 cert.pem 、 fullchain.pem 分別取代 /etc/loolwsd 中的 key.pem 、 cert.pem 、 ca-chain.cert.pem
並將自建的 fullchain.pem 證書加添至 nextcloud/resources/config/ca-bundle.crt
輸入 Terminal
loolwsd_path='/etc/loolwsd' letsencrypt_path='/etc/letsencrypt/live' cn='ip-or-domain' sudo cp "${letsencrypt_path}/${cn}/privakey.pem" "${loolwsd_path}/key.pem" sudo cp "${letsencrypt_path}/${cn}/cert.pem" "${loolwsd_path}/cert.pem" sudo cp "${letsencrypt_path}/${cn}/fullchain.pem" "${loolwsd_path}/ca-chain.cert.pem"同樣需要透過 root 或 www-data 將 fullchain.pem 的內容導入至 nextcloud/resources/config/ca-bundle.crt
Apache 伺服器及 LibreOffice Online 均使用由 Let's Encrypt 建立的證書
兩者都視為受認證的網頁,因此不會產生警告信息
但由 Let's Encrypt 建立的證書只有 30日 有效
注意事項
在下下載 POCO 及 NextCloud 不是使用 git clone 而是使用 wget
在下嘗試編譯由 git clone 下載的 POCO 不論有否使用 --depth=1 安裝 POCO 後
在編譯 LibreOffice Online 的流程上會出現 common/MessageQueue.cpp 錯誤
使用由 git clone 下載的 NextCloud 不論有否使用 --depth=1
開啟瀏覽器到 https://localhost/nextcloud
都會出現 Composer autoloader not found 錯誤,因為 nextcloud/3rdparty 沒有任何資料
需要到 nextcloud/3rdparty 目錄,開啟 Terminal 輸入
sudo git submodule update --init --depth=1 sudo chown -R www-data:www-data .同樣使用 --depth=1 只獲取最新的 commit 減省時間
下載 3rdparty 資料後將擁有者改及群組為 www-data 後,重新整理頁面便會正常顯示
但由 git 下載的 NextCloud 的版面設計與由網頁下載的版面設計有些分別
若沒有有效的 SSL證書 ,開啟編譯後的 LibreOffice Online 的 loolwsd.xml,暫時將 SSL 設定為 false 關閉 SSL
但亦會令通訊資料沒有加密,容易被他人截取及閱讀,風險需要自行評估
WOPI 全稱 Web Application Open Platform Interface
由於受 WOPI 限制,未經許可的 host 不能經 NextCloud 的 Collabora Online 存取 LibreOffice Online
否則即使登入 NextCloud 當使用 LibreOffice Online 時會出現 Unauthorized WOPI host 錯誤
host 可以使用 Regex 來加入,若不限制 host 可以使用 .+ 來讓所有 host 都能存取 LibreOffice Online
這個情況花了在下不少時間處理
錯誤頁面只顯示 Internal Server Error 、 Remote Address 及 Request ID 根本完全不知道發生甚麼事
上網及 NextCloud 的官方網頁查資料都不知用甚麼關鍵字搜尋
然後到 NextCloud 的 Admin 的 Logging 頁面
發現 SSL certification problem: self signed certification in certification chain 的錯誤
縮窄範圍尋找資料,最後才知道當 NextCloud 使用 SSL 時需要在 NextCloud 的 resources/config/ca-bundle.crt 添加新的證書
這個情況的出現是由於沒有將 https://localhost:9980 列為安全例外而發生
但當前狀態卻不能立即將 https://localhost:9980 列為安全例外
完成 NextCloud 及 LibreOffice Online 之後
在下才在 Launchpad 發現 POCO 的 PPA https://launchpad.net/~zosrothko/+archive/ubuntu/pocoproject
測試後發現支援 JSON 及 WebSocket ,但 PPA 版本為 1.7.8 而由原始碼編譯版本為 1.7.9p2 (以發佈時間計算)
在 Terminal 輸入
sudo add-apt-repository ppa:zosrothko/pocoproject sudo apt-get update sudo apt-get install libpoco-dev便可以減省編譯 POCO 的時間
由套件庫下載的 POCO 的 include 及 lib 會存放於 /usr/include 及 /usr/lib
另外在下編譯 LibreOffice Core 後安裝 LibreOffice Core
由於已編譯的 LibreOffice Core 的檔案總體積為 8.8 GB 但安裝的 LibreOffice Core 只有 1.2 GB
使用安裝的 LibreOffice Core 作為編譯 LibreOffice Online 的來源比較不佔空間
比較 ${libreoffice_core_install_path}/lib/libreoffice/sdk/include 與已編譯的 LibreOffice Core 的 include
及 ${libreoffice_core_install_path}/lib/libreoffice 與已編譯的 LibreOffice Core 的 instdir
兩者都相似
便嘗試以 --with-lokit-path=${libreoffice_core_install_path}/lib/libreoffice/sdk/include
及 --with-lo-path=${libreoffice_core_install_path}/lib/libreoffice
進行 LibreOffice Online 編譯
但卻出現 --with-lokit-path 缺少 LibreOfficeKit 的錯誤
因此將已編譯的 LibreOffice Core 的 include/LibreOfficeKit 複製至 ${libreoffice_core_install_path}/lib/libreoffice/sdk/include
最後在下以
libreoffice_core_install_path='/opt/libreoffice/core' ./configure \ --prefix=/opt/libreoffice/online \ --with-lokit-path="${libreoffice_core_install_path}/lib/libreoffice/sdk/include" \ --with-lo-path="${libreoffice_core_install_path}/lib/libreoffice" \ --with-poco-includes='/usr/include' \ --with-poco-libs='/usr/lib' \ --enable-silent-rules \ --enable-debug再進行編譯,最後成功了
同樣亦由於 LibreOffice Online 的體積問題
由於已編譯的 LibreOffice Online 的檔案總體積為 949 MB 但安裝的 LibreOffice Online 只有 55 MB (意想不到)
亦同樣進行安裝
安裝後到 LibreOffice Online 的安裝位置有 bin 、 etc 、 share 三個目錄
典型地 bin 目錄存放執行檔
在 bin 目錄中的 loolwsd 就是 LibreOffice Online 的主要服務指令
loolwsd 全稱 LibreOffice OnLine Web Socket Daemon
在 Terminal 執行
sudo ./loolwsd
loolwsd 可能基於安全理由 loolwsd 完全不能由 root 或 Super User 執行
不過閣下能先編輯 wsd/LOOLWSD.cpp 將 Do not run as root. Please run as lool user. 更改成備註才編譯便可以以 root 或 Super User 執行
但即使不以 root 或 Super User 執行
仍然卻出現錯誤
由於 LibreOffice Online 安裝後仍以編譯的目錄結構尋找資料,因此需要將 bin 目錄中的結構模仿與編譯的結構一樣
loolwsd 需要存取 loolwsd.xml 、 discovery.xml 、 loleaflet/* 及 test/data/*
在 Terminal 輸入
libreoffice_online_source_path='/source/of/libreoffice/online' libreoffice_online_install_path='/opt/libreoffice/online' cd "${libreoffice_online_install_path}/bin" sudo ln -s '../etc/loolwsd/loolwsd.xml' sudo ln -s '../share/loolwsd/discovery.xml' sudo ln -s '../share/loolwsd/loleaflet' sudo mkdir 'test' sudo cp -R "${libreoffice_online_source_path}/test/data" 'test' sudo cp -R "${libreoffice_online_source_path}/systemplate" '..'將安裝建立的 loolwsd.xml 、 discovery.xml 、 loleaflet 以相對路徑的 link 連接,再將編譯的 test/data 整個複製
仍然出現錯誤
原因是 LibreOffice Online 除了 loolwsd 還需要 loolforkit 來輔助執行
在 Terminal 輸入
sudo setcap cap_fowner,cap_mknod,cap_sys_chroot=ep loolforkit讓 loolforkit 繞過權限檢查,來使用 mknod 及 chroot 功能,以讓 loolwsd 調用
還有錯誤,因為未加入 loolwsd 需要加入的參數
在 Terminal 輪入
libreoffice_core_install_path='/opt/libreoffice/core' libreoffice_online_install_path='/opt/libreoffice/online' "${libreoffice_online_install_path}/bin/loolwsd" \ --o:sys_template_path="${libreoffice_online_install_path}/systemplate" \ --o:child_root_path='/tmp' \ --o:lo_template_path="${libreoffice_core_install_path}/lib/libreoffice" \ --o:storage.filesystem[@allow]=true \ --disable-ssl
進行測試,終於正常運作
留意到在下使用 loolwsd 加入 --disable-ssl 的參數,這是一個快速設定而不需要修改 loolwsd.xml 不使用 SSL 的項目
若需要使用 SSL 只需要將 --disable-ssl 刪除
並加入 --o:ssl.key_file_path 、 --o:ssl.cert_file_path 、 --o:ssl.ca_file_path 並指向對應的證書檔案
若果 loolwsd.xml 已經設置好 SSL 的證書路徑,只需要不加入 --disable-ssl 即可
libreoffice_core_install_path='/opt/libreoffice/core' libreoffice_online_install_path='/opt/libreoffice/online' libreoffice_online_ssl_path='/etc/loolwsd' "${libreoffice_online_install_path}/bin/loolwsd" \ --o:sys_template_path="${libreoffice_online_install_path}/systemplate" \ --o:child_root_path='/tmp' \ --o:lo_template_path="${libreoffice_core_install_path}/lib/libreoffice" \ --o:storage.filesystem[@allow]=true \ --o:ssl.key_file_path="${libreoffice_online_ssl_path}/key.pem" \ --o:ssl.cert_file_path="${libreoffice_online_ssl_path}/cert.pem" \ --o:ssl.ca_file_path="${libreoffice_online_ssl_path}/ca-chain.cert.pem"
除了以上參數,還有
--o:admin_console.username='your-username' 及 --o:admin_console.password='your-password'
來啟用並設定 LibreOffice Online 的管理頁面的使用者登入帳戶及密碼 your-username 及 your-password 可以修改
--o:logging.file[@enable]=true 及 --o:logging.level=trace 來啟用日誌資料
--port 來設定 LibreOffice Online 的使用連接埠,即不一定使用 9980
若果閣下是使用 Debian 10+ 、 Ubuntu 18.04+ 、 Linux Mint 19+ 等版本
由於 Debian 10+ 沒有 npm 套件,需要使用 nodesource.com 提供的套件,輸入
curl -sL 'https://deb.nodesource.com/setup_10.x' | sudo bash -然後安裝 nodejs 套件,便會包含 npm 套件
較新版 Let's Encrypt 套件名為 python3-certbot-apache
需要輸入
sudo apt-get install python3-certbot-apache由於已經使用包含 WebSocket 及 JSON 的 libpoco-dev 及 LibreOffice 6.x
可以省卻編譯 POCO 及 LibreOffice Development Edition 的時間,只需要編譯 LibreOffice Online 即可
但要留意當安裝 libpoco-dev ,還需要到 /usr/lib 的位置,將 libPoco*.so.* 的檔案立建 libPoco*d.so 的捷徑
cd '/usr/lib' for f in 'libPoco'*'.so.'*; do sudo ln -s "${f}" `echo "${f}" | sed -r 's/\.so\..+$/d.so/g'` done而 LibreOffice 6.x 則 libreoffice 、 libreoffice-dev 及 libreofficekit-dev 都需要安裝才能讓 LibreOffice Online 運作
由於在下是以 VirtualBox 進行測試,使用 2 CPU 及 4GB RAM 模擬,因此編譯使用的時間未必能與實際情況相同
沒有留言 :
張貼留言