CommunityServer的编译
1. 简介
Community Server是一个免费的开源协作系统,用于管理文档、项目、客户关系和电子邮件通信,可以在私有服务器上安装和配置。它的组成分为:
1. OnlyOfficeJabber - 即时消息服务;
2. OnlyOfficeNotify - 邮件通知服务;
3. OnlyOfficeIndex - 全文检索相关服务;
4. OnlyOfficeFeed - 门户新闻种子分析和布局服务;
5. OnlyOfficeBackup - 创建备份、下载和部署等服务;
6. OnlyOfficeAutoReply - 对不同门户实体自动应答和通过邮件新建实体等服务;
7. OnlyOfficeSocketIO - Web页面的Talk工具消息交换服务;
8. OnlyOfficeMailAggregator, OnlyOfficeMailWatchdog - Windows服务,用来聚合和保存邮件消息。服务配置的详细信息可以参考以下文件:
8.1 module\ASC.Mail.Aggregator\ASC.Mail.Aggregator.CollectionService\ReadMe.txt
8.2 module\ASC.Mail.Aggregator\ASC.Mail.Aggregator.CollectionService\Requirements.txt
8.3 module\ASC.Mail.Aggregator\ASC.Mail.Watchdog.Service\ReadMe.txt
9. WebStudio - Web网站,页面产品和模块展示;
10. Auxiliary tools
2. 安装需求
2.1 硬件需求
CPU:dual core 2 GHz or better
内存:不少于4 GB
硬盘:至少 2 GB
2.2 软件需求
① 操作系统: Microsoft Windows Server 2012 (R2)以上
② Microsoft .NET Framework 4.7.2 Developer Pack;
④ Internet Information Services 7以上,包含以下模块:
- Internet Information Services Manager;
- Default Document; Directory Browsing; HTTP Errors; HTTP Redirection; Static Content;
- .NET Extensibility (for Microsoft Windows 7, Microsoft Windows Server 2008 (R2));
- .NET Extensibility 3.5; .NET Extensibility 4.6.2 (for Microsoft Windows 8, Microsoft Windows 8.1, Microsoft Windows Server 2012(R2), Microsoft Windows Server 2016);
⑤ Node.js: 版本8.12.0及以上;
⑥ MySQL Server 5.5及以上;
⑦ Python: 3.7.2 (64-bit);
⑧ Redis: 3.0.504 (64-bit);
⑨ Java SE Runtime Environment: 8u171 (64-bit);
⑩ Elasticsearch: v6.5.0 (64-bit);
⑪ Web Browser: Microsoft Internet Explorer 9 以上,最新版本的 Mozilla Firefox, Opera, Safari, Google Chrome.
3.数据库
Community Server使用MySql数据库,标准配置和流程如下:
1. 确保本地MySql服务器版本不低于5.5 ;
2. 用onlyoffice名称创建一个数据库;
3. 从build\sql\顺序运行下列sql脚本
3.1 安装脚本:
onlyoffice.sql,onlyoffice.data.sql,onlyoffice.resources.sql
3.2 升级脚本: onlyoffice.upgrade*.sql
如果不用标准配置,可以用自己的用户名,密码和数据库名:
1. 创建包含下列文本的文件:
Server={ServerName};Database={DatabaseName};User ID={UserName};Password={UserPassword};Pooling=True;Character Set=utf8
2. 更改下列配置文件中连接字符串:
2.1 web\studio\ASC.Web.Studio\web.connections.config
2.2 build\config\TeamLabSvc.exe.config
2.3 module\ASC.Mail.Aggregator\ASC.Mail.Aggregator.CollectionService\App.config
2.4 odule\ASC.Mail.Aggregator\ASC.Mail.Watchdog.Service\App.config
3. 运行sql脚本。
4. Community Server
4.1 编译
进至build文件夹,用BuildAndDeploy.bat编译源码。完成后的二进制文件位于\build\deploy\OPENSOURCE.SERVER。
4.2 部署
假设部署目录为С:\ONLYOFFICE,将\build\deploy\OPENSOURCE.SERVER所有文件拷贝至其中。
4.3 安装服务
进入"cd C:\ONLYOFFICE\Services\TeamLabSvc",执行”ManageServices.bat --install-all”命令.
5. IIS配置
Community Server使用IIS网站管理。注意配置参数中80端口对于HTTP,443端口对应HTTPS。不建议修改上述网站端口。
IIS需要安装如下组件:
- Application Request Routing. 下载完后按照提示安装。在IIS管理中,选择 Application Request Routing Cache 选项, 打开Server Proxy Settings,勾选Enable proxy和Reverse rewrite host in response headers.
- URL Rewrite Module. 下载完后按照提示安装。在控制面板中,选择Programs and Features,Turn Windows features on or off, 展开Internet Information Services > World Wide Web Services > Application Development Features,打开WebSocket Protocol 选项. 点击OK 确保安装完毕。
IIS配置如下:
- 打开IIS管理器.
- 添加站点ONLYOFFICE CommunityServer指向C:\ONLYOFFICE\WebStudio。
- 确保网站使用.Net Framework 4.0(Application Pools -> Edit Application Pool -> Basic Settings)。
- 在网站内建立一个mailattachments 虚拟目录,指向C:\ONLYOFFICE\Data。用于邮件聚集计算。
- 确保网站用户和IUSR角色用户对C:\ONLYOFFICE 拥有最高权限:
5.1 选择C:\ONLYOFFICE "Security"选项卡
5.2 点击"Edit..."
5.3 点击"Add..." 添加新组或用户
5.4 加入IUSR用户
6. Documents模块需要激活WCF Http Activation组件. 控制面板中Programs And Features,选择Turn Windows Features On or Off,展开至.NET Framework 3.5 选择WCF Http Activation。
6. 防火墙配置
Community Server 的通知服务器,即时消息服务器和邮件聚合计算都需要通过特定端口访问外部网络,可将下列程序添加入防火墙的例外中。
- C:\ONLYOFFICE\Services\TeamLabSvc\TeamLabSvc.exe
- C:\ONLYOFFICE\Services\MailAggregator\ASC.Mail.Aggregator.CollectionService.exe
7. Community Server门户
按照上述步骤,Community Server 门户对应http://communityserver 地址. 在门户启动后,需要设置如下参数:
- Password
- Email address
- Language和Time Zone
CommunityServer的编译的更多相关文章
- TODO:macOS编译PHP7.1
TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...
- Centos6.5下编译安装mysql 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- CENTOS 6.5 平台离线编译安装 PHP5.6.6
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
- CENTOS 6.5 平台离线编译安装 Mysql5.6.22
一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...
- Android注解使用之注解编译android-apt如何切换到annotationProcessor
前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...
- Hawk 6. 编译和扩展开发
Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...
- 在Windows上编译和调试CoreCLR
生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...
- 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~
这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...
随机推荐
- typescript step by step two
- 利用在线绘制3d几何图形工具分析投影变化
业余写了个在线绘制几何图形工具,工具链接如下: https://tinygltf.xyz/drawgeometry/ 通过脚本代码在可视化窗口添加对应的点,线段,成像平面推到投影后坐标的计算: 点A通 ...
- RSTP协议简介
RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层.RTSP以客户端方式工作,对流媒体提供播放.暂停.后退.前进等操作.该标准由IETF指 ...
- php--->依赖注入(DI)实现控制反转(IOC)
依赖注入(DI)实现控制反转(IOC) DI和IOC概念理解 当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例.而采用依赖注入的方式,创建被调用者的工作 ...
- CGI fastCgi php-fpm PHP-CGI 辨析
CGI fastCgi php-fpm PHP-CGI 辨析 LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求.而php需要php-fpm这个组件提供该功能 ...
- Docker底层架构之命名空间
前言 命名空间是 Linux 内核一个强大的特性.每个容器都有自己单独的命名空间,运行在其中的 应用都像是在独立的操作系统中运行一样.命名空间保证了容器之间彼此互不影响.相应的命名空间功能如下: pi ...
- oracle问题之死锁 (一)
[前言] 遇到 oracle 异常 和 解决实践 系列文章 整理分享 杂症一.oracle死锁 一.症状: 执行SQL或程序时,程序没有响应或SQL执行一直处于执行状态,没有成功,也没有报错. 二.病 ...
- 线程池之 Executors
线程池之 Executors + 面试题 线程池的创建分为两种方式:ThreadPoolExecutor 和 Executors,上一节学习了 ThreadPoolExecutor 的使用方式,本节重 ...
- 四、Django学习之关系表介绍及使用
关系表介绍及使用 一对一关系 xx = models.OneToOneField(to='表名',to_field='字段名',on_delete=models.CASCADE) #on_delete ...
- top100tools
Top 100 Tools for Learning 2013 2142 EmailShare Here are the Top 100 Tools for Learning 2013 – the ...