本文讲解如何在Ubuntu/Debian系统上部ONLYOFFICE Document Server。

1. 安装依赖

ONLYOFFICE Document Server使用NGINX和PostgreSQL作为数据库,首先先安装依赖。

安装和配置PostgreSQL:

输入命令安装

  • 01
sudo apt-get install postgresql

安装后,搭建postgresql数据库和用户:

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

安装rabbitmq

  • 01
sudo apt-get install rabbitmq-server

安装Redis

  • 01
sudo apt-get install redis-server

安装nginx

  • 01
sudo apt install nginx

修改ONLYOFFICE Document Server的默认端口

Document Server的默认使用80端口,如果要和Apache在同一服务器上的话,80端口是不能使用的。
使用以下命令修改为8000端口:

  • 01
echo onlyoffice-documentserver onlyoffice/ds-port select 8000 | sudo debconf-set-selections

2. 安装ONLYOFFICE Document Server

添加GPG密钥:

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
mkdir -p ~/.gnupg chmod 700 ~/.gnupg gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5 chmod 644 /tmp/onlyoffice.gpg sudo chown root:root /tmp/onlyoffice.gpg sudo mv /tmp/onlyoffice.gpg /etc/apt/trusted.gpg.d/

添加ONLYOFFICE 的apt源并更新源:

  • 01
  • 02
sudo echo "deb http://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list sudo apt-get update

安装ttf-mscorefonts-installer

  • 01
sudo apt-get install ttf-mscorefonts-installer

关闭apache2再安装ONLYOFFICE Document Server

  • 01
  • 02
sudo systemctl stop apache2 sudo apt-get install onlyoffice-documentserver

安装过程中输入上文设置的PostgreSQL密码:onlyoffice。
当询问是否接受EULA协议是,选择“OK”。

3. 为Nginx开启HTTPS

生成文件夹并把SSL证书保存

  • 01
  • 02
  • 03
sudo mkdir /etc/nginx/CA sudo chmod -R 777 /etc/nginx/CA sudo mv 你的SSL证书 /etc/nginx/CA

删除nginx原来配置

  • 01
sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default_old

修改nginx配置

  • 01
sudo vi /etc/nginx/conf.d/ds.conf

删除所有内容,更改为以下代码,并添加你的SSL证书的绝对路径

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
include /etc/nginx/includes/http-common.conf; server { listen 0.0.0.0:8000 ssl; listen [::]:8000 ssl default_server; server_tokens off; root /usr/share/nginx/html; ssl_certificate /etc/nginx/CA/你的SSL证书; ssl_certificate_key /etc/nginx/CA/你的SSL证书; ssl_verify_client off; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=31536000; add_header X-Content-Type-Options nosniff; include /etc/nginx/includes/ds-*.conf; }

重启Nginx及Apache

  • 01
  • 02
sudo service nginx restart sudo service apache2 restart

打开浏览器输入
https://你的域名:8000

Enjoy