声明:写这篇文章只是想记录一下自己的安装过程,大家可以滑到文末按照官方文档或者我参考的那篇博客去安装,不喜,勿喷,谢谢。
Linux环境下安装onlyoffice
一、散装的方式安装
1.安装node.js
-
获取最新版的bash
curl -sL https://rpm.nodesource.com/setup_9.x | sudo bash -
-
执行安装
sudo yum install -y nodejs
-
查看版本
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
安装cabextract
和xorg-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