如何在Ubuntu 16.04 LTS上安装OnlyOffice

在本教程中,我们将研究 在Ubuntu 16.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集成。
  • 邮件和日历集成,邮件自动回复,通讯录。

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

开源社区版与企业版

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

免费版包括功能齐全的网络办公室和以下功能。

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

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

步骤1:在Ubuntu 16.04上安装Docker

Docker包含在Ubuntu软件存储库中。 但是,为了确保我们拥有最新版本,我们将必须从Docker的APT存储库中安装它。 启动终端窗口(CTRL + ALT + T),然后进行编辑 sources.list 使用您喜欢的文本编辑器(例如nano)保存文件。

sudo nano /etc/apt/sources.list

向下滚动到该文件的底部,然后添加以下行。

deb https://apt.dockerproject.org/repo ubuntu-xenial main

CTRL+O 保存文件,然后 CTRL+X 退出。 接下来,运行以下命令以将Docker GPG密钥导入Ubuntu 16.04系统,以便APT可以在安装过程中验证软件包的完整性。

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

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

sudo apt-get install apt-transport-https ca-certificates

现在,最后,在Ubuntu 16.04系统上更新软件包索引并安装 docker-engine

sudo apt update

sudo apt install docker-engine

检查Docker版本

docker -v

样品输出

Docker version 17.05.0-ce, build 89658be

安装后,应自动启动Docker守护程序。 您可以使用以下方法进行检查:

systemctl status docker

ubuntu启动docker守护进程

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

sudo systemctl start docker

并通过系统启动启用自动启动:

sudo systemctl enable docker

步骤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:添加交换空间

OnlyOffice占用大量RAM。 运行OnlyOffice需要6GB RAM。 如果物理内存很小,则可以轻松添加交换文件以增加可用的RAM。 首先我们使用 fallocate 命令创建文件。 例如,创建一个名为 swapfile 在根文件系统中具有4G容量:

sudo fallocate -l 4G /swapfile

然后确保只有root可以读取和写入它。

sudo chmod 600 /swapfile

格式化以交换:

sudo mkswap /swapfile

输出:

Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=h32b3e10-0779-4865-9ea0-6e2af8f3kea9

启用交换文件

sudo swapon /swapfile

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

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

your-server-ip

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

在ubuntu 16.04 lts上安装onlyoffice

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

OnlyOffice门户设置

单击继续按钮后,您将被重定向到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 container-id
sudo docker rm container-id

container-id 可以通过运行以下命令获得。

sudo docker ps

然后使用非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;

        location / {
                proxy_pass http://127.0.0.1:8080;
        }
}

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

sudo nginx -t
sudo systemctl reload nginx

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

如何启用HTTPS

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

sudo apt install letsencrypt

由于我们使用的是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 letsencrypt certonly --agree-tos --webroot --email your-email-address -d office.your-domain.com -w /usr/share/nginx/onlyoffice/

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

现在,让我们安装证书。 再次打开虚拟主机文件。

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

将其更改为以下内容。 相应地替换红色文本。

server {
        listen 80;
        server_name office.your-domain.com;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl http2;
        server_name office.your-domain.com;

        ssl_certificate /etc/letsencrypt/live/office.your-domain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/office.your-domain.com/privkey.pem;

        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:10m;
        ssl_session_tickets off;
        ssl_protocols TLSv1.1 TLSv1.2;

        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;

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

        location / {
                proxy_pass http://127.0.0.1:8080;
        }

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

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

sudo nginx -t

sudo systemctl reload nginx

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

自动续订TLS证书

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

sudo crontab -e

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

@daily certbot renew --quiet

保存并关闭文件。 而已!

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

Sidebar