Nginx服务配置篇·第五课:为Nextcloud配置安装onlyoffice保姆级教程
结论放在开头
一、如果想装免费的社区版本,没必要。(另外两个收费版本的不知道,毕竟不是刚需,就不花这个额外的钱了)
稍微体验了几分钟,缺点如下:
卡死在打开界面
免费的社区版不支持在线编辑
自带的
NextcloudOffice
已经支持在线编辑功能
二、想学技术的话,这篇文章没有啥技术可言(其实也有,至少我搜遍百度和google都没查到什么有用的东西,这可能是全网第一篇),只保证按照步骤来可以配置成功
三、如果你耐心看完,可以学到一些处理问题的方法,写这篇文章的核心也在这,不然深夜写这个还是有点拉高我的血压的,折腾几个小时发现体验不是很好。
环境基础
Ubuntu20.04
Nginx
网上80%的教程都是基于Docker的,我不想用
操作步骤
第一部分:安装OnlyOffice Document Server
抄作业环节,一共就10条左右命令,照抄完事,当然可以更改的地方我注释了。也可以看官方文档,一样的。
命令的意思不写了,这个网上自己查吧。
命令1:
1 | curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - |
命令2:
1 | apt install libcurl4 libxml2 supervisor fonts-dejavu fonts-liberation ttf-mscorefonts-installer fonts-crosextra-carlito fonts-takao-gothic fonts-opensymbol |
这里就不得不说官方安装指导里面还是libcurl3,都libcurl4了。
命令3:
1 | apt install postgresql |
命令4:
1 | sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;" |
命令5:
1 | sudo apt-get install rabbitmq-server |
命令6:
1 | sudo apt-get install nginx-extras |
命令7:
1 | echo onlyoffice-documentserver onlyoffice/ds-port select | sudo debconf-set-selections # 换成你想用的端口号 |
这是最大的坑,让我浪费了好几个小时
命令8:
1 | mkdir -p ~/.gnupg |
命令9:
1 | echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list |
命令10:
1 | sudo apt-get update |
命令11:
1 | sudo apt-get install onlyoffice-documentserver |
一般这一步不会出错,我是软件库版本太新需要根据情况下面2选1进行安装:
1 | apt install mysql-client |
第二部分:过程中出现的问题
1.端口的问题
根据官方指导,如果不改端口会造成端口冲突导致无法访问。
因此我把端口号改了,比如 9000
,这样访问就变成了 域名:端口
,但是不知道是什么原因,改了好几个端口,就是访问不了。
现在想起来可能当时配置文件有点问题,用了其他办法解决问题后再回过头来看这个问题就很简单了。不多细说了。
一顿操作下来,恍然大悟,自己真蠢,端口冲突主要是针对Apache和Nginx两个的,我就一个Nginx不用改!就默认 80
和 443
。
2.https的问题
这一块网上没有教程,全靠自己摸索。
让我回过头去思考问题的出发点是,因为它是基于Nginx的,先研究它的配置文件,研究下来大体和常规网站配置差不多。
Holy shit,都什么年代了,ssl默认配置文件中居然还有 ssl on;
的参数,下面倒是有 ssl certificate
填SSL证书的地方,但是还是不对,没有 server name
栏,不然怎么和证书关联起来呢(因为它默认就是IP/域名,也就是你的主页 a.com
这个,因为我域名已经配置给博客了,所以要改成其他子域名)
其实这两个问题,我写出来很简单,但是在实际操作过程中,每一步验证都需要花费很多时间,一行行代码逐个对,如果只是根据它的默认配置文件来改,不去追溯基础原理思考分析问题出现在哪,估计真的卡死在这里了。
第三部分:配置细节
程序目录:/etc/onlyoffice/
配置文件:
软链接:/etc/nginx/conf.d/ds.conf
真实路径为:/etc/onlyoffice/documentserver/nginx/ds.conf
直接说详细步骤吧:
1.准备子域名+证书
自签好像也可以,这里不研究了
比如子域名为:*z.a.com
*
2.修改配置文件
/etc/onlyoffice/documentserver/nginx/ds.conf
只有 http listen 80
的配置参数
/etc/onlyoffice/documentserver/nginx/
下面有个 ds-ssl.conf.tmpl
文件,这个是完整的配置文件
直接把 ds.conf
删除
1 | rm /etc/onlyoffice/documentserver/nginx/ds.conf |
拷贝 ds-ssl.conf.tmpl
并重命名为 ds.conf
1 | cp /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds.conf |
修改 ds.conf
配置
1 | vim /etc/onlyoffice/documentserver/nginx/ds.conf |
下面为配置参数:
1 | include /etc/nginx/includes/http-common.conf; |
直接保存退出即可。
3.重启Nginx并验证
1 | systemctl restart nginx |
打开配置的域名,显示以下页面就成功了。
页面里面那个 Test Example
不要做,做了的话,别人有这个网址也可以进去体验操作文档,我没研究怎么关掉这个。
4.配置Nextcloud
打开Nextcloud仪表盘,右上角 头像
- 应用
(如果没有应用的,自己查资料吧,好像可以换成国内应用商店的)- Office&Text
,找到 OnlyOffice
,点击 下载并启用
。
再点击 头像
- 设置
,左侧会有 ONLYOFFICE
的选项,点进去。
在 ONLYOFFICE Docs地址栏
输入你配置好的域名,比如 https://z.a.com/
,密钥为空 ,点击保存后如果成功了,下面会显示常用设置选项。
至此,为NextCloud配置ONLYOFFICE已经是配置完成了。
最后就不吐槽了,毕竟免费的它不香也很正常。