如何在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
如果未运行,请使用以下命令启动守护程序:
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将开始初始化,如下所示。
在下一页中,输入密码和电子邮件地址以保护OnlyOffice Portal。 这是管理员帐户。 您需要确认此电子邮件地址。
单击继续按钮后,您将被重定向到OnlyOffice服务器的主页。 单击大文档图标将带您到在线办公套件,您可以在其中创建和编辑Word文档,电子表格,演示文稿文件。 底部的5个小图标分别将您带到项目管理,CRM,邮件,人员和社区页面。
要使用域名而不是IP地址,请转到 设置(齿轮图标) > DNS设置。 并输入您的域名。
单击“保存”按钮后,只要在DNS中设置了正确的A记录,就可以通过域名访问OnlyOffice服务器。
在线编辑Word文档
项目管理
使用CRM管理客户关系
邮件服务器
用OnlyOffice构建电子邮件服务器确实是小菜一碟! 不再需要担心Postfix和dovecot的神秘配置。 邮件模块可用于托管多个电子邮件域。 它还提供了一个基于Web的邮件客户端,可以将所有电子邮件帐户集中到一个位置。
设置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页面上关注我们。