前段时间提到过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相关的方案,安装起来更加简单,可以避免一些坑,但也会遇到一些坑,大家不妨可以试试。