Linux环境下安装onlyoffice

声明:写这篇文章只是想记录一下自己的安装过程,大家可以滑到文末按照官方文档或者我参考的那篇博客去安装,不喜,勿喷,谢谢。

一、散装的方式安装

1.安装node.js

  1. 获取最新版的bash
    curl -sL https://rpm.nodesource.com/setup_9.x | sudo bash -

  2. 执行安装
    sudo yum install -y nodejs

  3. 查看版本
    node --version
    npm --version

2.为RHEL/CentOS设置yum存储库,请创建名为/etc/yum.repos.d/nginx.repo的文件:
切换到/etc/yum.repos.d/目录,创建文件

touch nginx.repo

编辑文件:

vi nginx.repo

粘贴下面的内容,:wq保存退出

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

2.安装NGINX:

sudo yum install nginx

3.安装EPEL存储库

yum install epel-release

4.安装和配置PostgreSQL

yum install postgresql postgresql-server

初始化PostgreSQL数据库

sudo service postgresql initdb 
sudo chkconfig postgresql on

对IPv4和IPv6本地主机启用“信任”身份验证方法
用文本编辑器打开文件/var/lib/pgsql/data/pg_hba.conf
找到host all all 127.0.0.1/32 ident字符串并替换为以下内容:

host    all             all             127.0.0.1/32            trust

然后找到host all all ::1/128 ident字符串并替换为以下内容:

host    all             all             ::1/128                 trust

在这里插入图片描述
保存更改

重新启动PostgreSQL服务:

sudo service postgresql restart

创建PostgreSQL数据库和用户:

您可以指定任何用户名和密码。

首先运行命令

cd /tmp

为了防止could not change directory to "/root"从根目录运行时发出警告。所以必须创建数据库和用户:

sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

5.安装RabbitMQ并启动

sudo yum install rabbitmq-server
sudo service rabbitmq-server start
sudo systemctl enable rabbitmq-server

6.安装mscorefonts

安装cabextractxorg-x11-font-utils包:

sudo yum install cabextract xorg-x11-font-utils

对于CentOS 7.8(2003年),fontconfig还需要:

sudo yum install fontconfig

7.安装并启动Redis

yum install redis
service redis start
systemctl enable redis

8.安装msttcore fonts包:

sudo rpm -i https://deac-ams.dl.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

出了很多错误,下载不成功
在这里插入图片描述

9.安装ONLYOFFICE Docs

添加ONLYOFFICE Docs存储库

sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm

安装ONLYOFFICE Docs

sudo yum install onlyoffice-documentserver

运行相关服务并在它们启动时开启:

sudo service supervisord start
sudo systemctl enable supervisord
sudo service nginx start
sudo systemctl enable nginx

可以更改默认的 ONLYOFFICE Docs 端口

这一步我选择略过

10.配置 ONLYOFFICE 文档

运行配置脚本
运行documentserver-configure.sh脚本:

cd /usr/bin/
bash documentserver-configure.sh

ForPostgreSQL:

Host: localhost
Database: onlyoffice
User: onlyoffice
Password: onlyoffice

连接失败了:

Trying to establish PostgreSQL connection… FAILURE

原因是:

用文本编辑器打开文件/var/lib/pgsql/data/pg_hba.conf
找到host all all 127.0.0.1/32 ident字符串并替换为以下内容:

这一步没替换完整,还有两个地方没改,把ident 改为 trust,再重启一下

sudo service postgresql restart

再试就好了
在这里插入图片描述

cd /usr/bin/
bash documentserver-configure.sh

For PostgreSQL:

Host: localhost
Database: onlyoffice
User: onlyoffice
Password: onlyoffice

For RabbitMQ:

AMQP:

Host: localhost
User: guest
Password: guest

11.额外添加防火墙

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

执行第一个命令时出现:

FirewallD is not running
防火墙没有开启
查看防火墙状态:

systemctl status firewalld

开启防火墙:

systemctl start firewalld

然后再重新执行:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

禁用SELinux

setenforce 0

安装完成访问IP地址:

http://localhost

在这里插入图片描述

参考来源:

1.官方文档:
Installing ONLYOFFICE Docs Community Edition for CentOS and derivatives

2.CentOS和衍生产品部署onlyoffice在线文档编辑

如果是在一台新的服务器下安装(或者nginx是在这个过程中安装的),那么基本一切顺利,使用http://ip 应该可以访问到onlyoffice,但是如果之前已经安装有了nginx,那么按照这个教程走,省略掉了安装nginx那一步,那就会出现直接访问ip的时候,出现的是nginx的首页,而非onlyoffice。

onlyoffice的端口配置是在 /etc/onlyoffice/documentserver/nginx目录下的ds.conf文件里

include /etc/nginx/includes/http-common.conf;
server {
  listen 0.0.0.0:80;
  listen [::]:80 default_server;
  server_tokens off;
  
  include /etc/nginx/includes/ds-*.conf;
}

这时候去改onlyoffice doc映射的端口是不生效的,我改了然后重启nginx没生效;但是我在一台新的服务器按照上述步骤安装的,这时候去改ds.conf文件,然后重启nginx是生效的,比如我把onlyoffice的欢迎页面端口改为了:8002

include /etc/nginx/includes/http-common.conf;
server {
  listen 0.0.0.0:8002;
  listen [::]:80 default_server;
  server_tokens off;
  
  include /etc/nginx/includes/ds-*.conf;
}

访问成功:
在这里插入图片描述
配置文件不生效的解决办法是,重装nginx,这时候如果需要修改onlyoffice的端口,再自行修改即可。

强烈推荐docker安装,安装既方便又快捷,而且可以指定端口,非常舒适。

二、docker安装

1.安装Docker

使用yum命令安装Docker:

yum install docker -y

启动Docker服务:

systemctl start docker

2.拉取ONLYOFFICE Document Server 的Docker镜像

拉取镜像:

sudo docker pull onlyoffice/documentserver

启动Docker容器
启动Document Server镜像,并映射80端口至本地

sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver

启动后,访问http://服务器地址:80 就能看到
在这里插入图片描述
将Document Server映射至其它端口

sudo docker run -i -t -d -p 9000:80 onlyoffice/documentserver

Document Server的数据在容器中的储存位置如下:

/var/log/onlyoffice 存放ONLYOFFICE Document Server日志
/var/www/onlyoffice/Data 存放证书文件

如果,能正常访问onlyoffice的首页,但是实际使用时调不通,一直显示加载中,可能是因为onlyoffice内部的PostgreSQL 启动有问题,可以尝试进入docker重启PostgreSQL。

来源:使用Docker部署ONLYOFFICE Document Server

onlyoffice docker 安装 官方教程:Installing ONLYOFFICE Docs Community Edition for Docker on a local server

  • 14
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值