NEXTCLOUD與ONLYOFFICE:打造在線協同編輯平臺
前段時間提到過Nextcloud的安裝方法,Nextcloud是一款比較open的產品,有很多豐富的插件,此次結合另外一款優秀的協作軟件onlyoffice實現在線協作文檔編輯,其實nextcloud也可以結合其他的插件實現,例如office online也可以實現,各有各的優勢,根據自身的環境選擇最適合的產品比較重要,另外Nextcloud如果需要大規模使用還是有很多需要優化的地方,否則出現卡頓,響應慢等等,直接進入正題。
正文
ONLYOFFICE DOC對服務器的基本需求
Onlyoffice doc要求
Nextcloud環境
- 網頁服務:Apache
- Linux版本:RockyLinux 8.4
- PHP版本:7.4
- 數據庫版本:Mariadb 10.3.28
ONLYOFFICE環境
- 網頁服務:Nginx 1.20
- Linux版本:CentOS 7.6
- RabbitMQ:3.3.5
- 數據庫:Postgresql 12
安裝Nginx
- yum -y install epel-release
- yum -y install nginx
安裝Postgresql-12
- yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- yum install -y postgresql12-server
初始化數據庫
- /usr/pgsql-12/bin/postgresql-12-setup initdb
- systemctl enable postgresql-12 && systemctl start postgresql-12
修改數據庫認證配置文件
修改完成后需要重新刷新配置
- vi /var/lib/pgsql/12/data/pg_hba.conf
- systemctl reload postgresql-12
將認證步驟改為trust
創建數據庫
進入其他目錄,否則會報權限錯誤
- cd /tmp
- sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
- sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'xiaoyu123';"
- sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
如果在root目錄下會報權限錯誤,但不會影響配置
安裝RabbitMQ
- yum -y install rabbitmq-server
- systemctl enable rabbitmq-server && systemctl start rabbitmq-server
安裝微軟字體
- yum -y install cabextract
- yum -y xorg-x11-font-utils
- yum -y fontconfig
- rpm -i https://deac-ams.dl.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
安裝onlyoffice doc源
- yum -y install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm
安裝onlyoffice doc
- yum -y install onlyoffice-documentserver
- systemctl enable supervisord &&systemctl start supervisord
- systemctl enable nginx &&systemctl start nginx
修改onlyoffice doc端口號(可選)
- export DS_PORT=6100
配置onlyoffice服務
rabbitmq默認用戶名密碼為guest
- bash documentserver-configure.sh
網頁訪問onlyoffice doc服務
出現這個界面證明服務就OK了
Nextcloud調用Onlyoffice接口
前端操作
找到應用
找到應用
注意是精選
設置onlyoffice
填寫參數
此時會出現錯誤,需要調整nextcloud配置
- vi /etc/var/www/html/nextcloud/config/config.php
- 'allow_local_remote_servers' => true,
將上面的命令添加進配置,如圖里所示
再進行測試,就OK了
可以添加格式
測試
添加一個文檔
測試成功
遠程協作測試
共享文件,并選擇其他用戶
Test用戶可以看到共享過來的文件
測試正常
寫在最后
這個方案有個缺點是,無法在移動端協同,但作為部門級協作還是有用的,另外在實際運用中會出現一些問題,常見是連接失敗的問題這些等問題,需要遇到的時候具體問題具體分析了,當然目前官方也提供docker相關的方案,安裝起來更加簡單,可以避免一些坑,但也會遇到一些坑,大家不妨可以試試。