如何在Ubuntu 20.04服务器上安装OnlyOffice

在本教程中,我们将研究 在Ubuntu 20.04服务器上安装OnlyOffice。 OnlyOffice是一个Web应用程序,可在一处提供在线办公套件,电子邮件服务器,文档管理,项目管理和CRM系统。

OnlyOffice 以前称为 Teamlab办公室。 一些功能如下:

  • 它结合了MS Office和Google Docs的优点。
  • 提供比Google文档更快的协作功能 实时共同编辑
  • 比MS Office Online更丰富的功能
  • 它比任何其他开源Office套件都对MS Office格式提供更好的支持,并且与OpenDocument格式完全兼容。
  • 与Box,OneDrive,Dropbox,Google Apps,Twitter,Facebook,LinkedIn集成。
  • 邮件和日历集成,邮件自动回复,通讯录。
  • CRM(客户关系管理)
  • 进销存系统
  • 项目管理
  • 即时通讯
  • 支持20多种语言

OnlyOffice提供了用于在线业务的所有基本工具:电子邮件,文档管理,CRM,项目,日历,带有博客的企业社交网络,论坛和Wiki,聊天。

开源社区版与企业版

与WordPress一样,您可以注册OnlyOffice托管服务,也可以设置自托管的OnlyOffice服务器,这意味着您可以在自己的服务器上安装OnlyOffice。 开源社区版是免费的,而企业版终身许可证的价格为每台服务器1500美元。

免费版包括功能齐全的Web办公套件和以下功能。

  • 在线文件编辑
  • 文件管理
  • 邮件
  • 专案
  • 客户关系管理
  • 日历
  • 社区

有关免费版和企业版之间的更多比较,请访问此页面。 建议您使用官方的OnlyOffice Docker容器安装免费的OnlyOffice Community Edition。 让我们开始吧。

先决条件

OnlyOffice占用大量RAM。 您的服务器至少需要有 6GB的RAM 运行OnlyOffice。

步骤1:在Ubuntu 20.04 Server上安装Docker

Docker包含在Ubuntu软件存储库中。 但是,为了确保我们拥有最新版本,我们必须从Docker的APT存储库中安装它。 启动终端窗口(CTRL + ALT + T),然后运行以下命令将Docker存储库添加到您的Ubuntu系统。

echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

接下来,运行以下命令将Docker GPG密钥导入Ubuntu系统,以便APT可以在安装过程中验证软件包的完整性。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

并且由于此存储库使用HTTPS连接(我建议所有软件存储库都应使用该连接),因此我们还需要安装 apt-transport-https ca-certificates 包裹。

sudo apt install apt-transport-https ca-certificates

最后,在Ubuntu系统上更新软件包索引并安装 docker-ce (Docker社区版)。

sudo apt update

sudo apt install docker-ce

安装Docker后,应自动启动Docker守护程序。 您可以通过以下方式查看其状态:

systemctl status docker

如果未运行,请使用以下命令启动守护程序:

sudo systemctl start docker

并在启动时启用自动启动:

sudo systemctl enable docker

检查Docker版本

docker -v

样本输出:

Docker version 20.10.6, build 370c289

步骤2:使用Docker安装OnlyOffice Community Edition

OnlyOffice Community Edition由以下3个组件组成。

  • OnlyOffice社区服务器
  • OnlyOffice文件伺服器
  • OnlyOffice邮件服务器

要安装所有它们,请按照下列步骤。

首先创建一个名为的Docker网络 onlyoffice

sudo docker network create --driver bridge onlyoffice

然后安装 OnlyOffice文件伺服器 使用以下命令。 只需复制并粘贴。

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server 
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data 
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice 
    onlyoffice/documentserver

接下来,执行以下命令进行安装 OnlyOffice邮件服务器。 用您自己的域名替换为红色文本。

sudo docker run --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server 
    -p 25:25 -p 143:143 -p 587:587 
    -v /app/onlyoffice/MailServer/data:/var/vmail 
    -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver 
    -v /app/onlyoffice/MailServer/logs:/var/log 
    -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql 
    -h your-domain.com 
    onlyoffice/mailserver

之后,发出此命令进行安装 OnlyOffice社区服务器

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server 
    -p 80:80 -p 5222:5222 -p 443:443 
    -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data 
    -v /app/onlyoffice/CommunityServer/mysql:/var/lib/mysql 
    -v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice 
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/DocumentServerData 
    -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server 
    -e MAIL_SERVER_DB_HOST=onlyoffice-mail-server 
    onlyoffice/communityserver

运行以下命令以检查3个Docker容器是否正在运行。

sudo docker ps

步骤3:在浏览器中完成安装

完成后,在浏览器地址栏中输入服务器的IP地址,

your-server-ip

OnlyOffice将开始初始化,如下所示。

在ubuntu 16.04 lts上安装onlyoffice

在下一页上,输入密码和电子邮件地址以保护OnlyOffice Portal。 这是管理员帐户。 您需要确认此电子邮件地址。

OnlyOffice门户设置

单击后 continue 按钮,您将被重定向到OnlyOffice服务器的主页。 单击大文档图标将带您到在线办公套件,您可以在其中创建和编辑Word文档,电子表格,演示文稿文件。 底部的5个小图标分别将您带到项目管理,CRM,邮件,人员和社区页面。

Onlyoffice主页

要使用域名而不是IP地址,请转到 设置(齿轮图标) > DNS设置。 并输入您的域名。

Onlyoffice自定义域名

单击“保存”按钮后,只要在DNS中设置了正确的A记录,就可以通过域名访问OnlyOffice服务器。

在线编辑Word文档

Onlyoffice在线办公套件

项目管理

Onlyoffice项目管理

使用CRM管理客户关系

通过CRM管理与海关的关系

邮件服务器

用OnlyOffice构建电子邮件服务器确实是小菜一碟! 不再需要担心Postfix和Dovecot的神秘配置。 邮件模块可用于托管多个电子邮件域。 它还提供了一个基于Web的邮件客户端,可以将所有电子邮件帐户汇总到一个位置。

Onlyoffice电子邮件服务器

设置Nginx反向代理

您极有可能希望其他HTTP服务器(Apache或Nginx)在您的服务器上运行。 因此,我们建议更改OnlyOffice侦听的端口,然后设置Nginx反向代理。 我们稍后还可以方便地通过Nginx启用HTTPS。

首先,使用以下命令停止并删除社区服务器容器:

sudo docker stop onlyoffice-community-server
sudo docker rm onlyoffice-community-server

然后使用非80端口启动社区服务器,如下所示。 社区服务器将在端口8080上侦听。

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server 
    -p 8080:80 -p 5222:5222 
    -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data 
    -v /app/onlyoffice/CommunityServer/mysql:/var/lib/mysql 
    -v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice 
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/DocumentServerData 
    -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server 
    -e MAIL_SERVER_DB_HOST=onlyoffice-mail-server 
    onlyoffice/communityserver

现在让我们安装Nginx。

sudo apt install nginx

并创建一个虚拟主机文件。

sudo nano /etc/nginx/conf.d/onlyoffice-proxy.conf

将以下文本放入文件中。 用您的实际域名替换域名。 这 proxy_pass 指令会将所有请求传递给OnlyOffice社区服务器。

server {
        listen 80;
        server_name office.your-domain.com;

        error_log /var/log/nginx/onlyoffice.error;
        access_log /var/log/nginx/onlyoffice.access;

        location / {
              proxy_pass http://127.0.0.1:8080;
              proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
        }
}

保存并关闭文件。 然后测试Nginx配置并重新加载。

sudo nginx -t
sudo systemctl reload nginx

现在,在浏览器中输入您的域名。 您应该看到OnlyOffice初始化页面,这意味着您可以通过域名访问OnlyOffice。 等待它完成初始化。

如何启用HTTPS

初始化完成后,我们可以从Let’s Encrypt获得免费的TLS证书。 使用以下命令安装Let’s Encrypt(certbot)客户端:

sudo apt install certbot

您还需要安装Certbot Nginx插件。

sudo apt install python3-certbot-nginx

由于我们使用的是Nginx,因此最好利用webroot插件来获取证书。 我们需要在虚拟主机文件中添加一些配置。

sudo nano /etc/nginx/conf.d/onlyoffice-proxy.conf

将以下行添加到文件中。

location ~ /.well-known/acme-challenge {
   root /usr/share/nginx/onlyoffice/;
   allow all;
 }

然后创建 /usr/share/nginx/onlyoffice/ 目录。

sudo mkdir /usr/share/nginx/onlyoffice

sudo chown www-data:www-data /usr/share/nginx/onlyoffice -R

并重新加载Nginx。

sudo systemctl reload nginx

接下来,运行以下命令以获得TLS证书。 将红色文本替换为OnlyOffice的实际电子邮件地址和域名。

sudo certbot -a webroot -i nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address -d office.your-domain.com -w /usr/share/nginx/onlyoffice/

您应该看到一条祝贺消息,表明您的TLS证书已成功获得并安装。 您的证书和链条已保存在 /etc/letsencrypt/live/office.your-domain.com/fullchain.pem

现在您应该能够以HTTPS协议访问OnlyOffice!

自动续订TLS证书

只需编辑root用户的crontab文件。

sudo crontab -e

将以下行放入文件中,该文件将尝试每天更新一次证书。

@daily certbot renew --quiet

保存并关闭文件。 就是这样!

故障排除技巧

如果您的OnlyOffice停留在初始化阶段(门户启动过程可能需要一些时间,请等待..),并且在尝试访问Windows 2000时看到502错误的网关错误。 /api/2.0/capabilities.json URL,表示社区服务器容器有问题。

您可以使用以下命令登录社区服务器容器:

sudo docker exec -it onlyoffice-community-server /bin/bash

然后,您可以在下面查看日志 /var/log/nginx/ 目录。

与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻通讯,或在Twitter或关注我们的Facebook页面上关注我们。

Sidebar