公司运营需要,需要搭建一套在线会议平台,网上找了下,国产的会议软件不少,不过出于成本和版权考虑最后选择了开源的OpenMeetings。
软件平台:Ubuntu 16.04.1 LTS
硬件平台:Vmware ESXI hypervision 6.0 based Dell R820
安装时参照这篇文章进行安装的:http://blog.chinaunix.net/uid-24250828-id-2745730.html
首先安装Ubuntu 16.04.1,顺带把常用的软件都装了。接着,修改apt软件源配置文件
# vi /etc/apt/sources.list |
有不少教程中注明OpenMeetings对Office文件和多媒体文件的支持需要安装第三方软件,因此这里安装这些软件
去掉第三方软件源前的注释以使其生效
<...... 前略 ......> ## Uncomment the following two lines to add software from Canonical's <...... 后略 ......> |
随后更新软件源信息
# apt-get update Hit:1 http://cn.archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://cn.archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:3 http://cn.archive.ubuntu.com/ubuntu xenial-backports InRelease Get:4 http://archive.canonical.com/ubuntu xenial InRelease [11.5 kB] Get:5 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Get:6 http://archive.canonical.com/ubuntu xenial/partner amd64 Packages [2,664 B] Get:7 http://archive.canonical.com/ubuntu xenial/partner i386 Packages [2,964 B] Get:8 http://archive.canonical.com/ubuntu xenial/partner Translation-en [1,424 B] Fetched 121 kB in 2s (59.0 kB/s) Reading package lists... Done |
安装依赖的软件
# sudo apt-get install -y java-package openjdk-9-jre openjdk-9-jre-headless mysql-server libreoffice-base libreoffice-common libreoffice-calc libreoffice-draw libreoffice-impress libreoffice-math libreoffice-pdfimport libreoffice-writer imagemagick ghostscript gsfonts libart-2.0-2 libtag1v5 zip unzip bzip2 subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev libogg-dev sox libvorbis0a libvorbis-dev libgsm1 libgsm1-dev libfaad2 lame swftools ffmpeg jodconverter |
设置下MySQL
# echo character-set-server = utf8 >> /etc/mysql/mysql.conf.d/mysqld.cnf |
接着到OpenMeetings官方网站下载页面下载二进制版本apache-openmeetings-3.2.0.tar.gz(当然你也可以基于源代码编译安装,这里为省时间直接采用二进制文件),下载完毕后将其复制到服务器中解压
# tar -zxvf apache-openmeetings-3.2.0.tar.gz |
因为采用MySQL数据库,需要安装connector,将其放入程序的 webapps/openmeetings/WEB-INF/lib 目录,甲骨文网站地址
https://dev.mysql.com/downloads/connector/j/
这里直接在服务器上下载并解压
# cd webapps/openmeetings/WEB-INF/lib # wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.41.tar.gz --2017-03-13 14:55:25-- https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.41.tar.gz Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11 Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.41.tar.gz [following] --2017-03-13 14:55:26-- https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.41.tar.gz Resolving cdn.mysql.com (cdn.mysql.com)... 23.8.231.210 Connecting to cdn.mysql.com (cdn.mysql.com)|23.8.231.210|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3923677 (3.7M) [application/x-tar-gz] Saving to: ‘mysql-connector-java-5.1.41.tar.gz’mysql-connector-jav 100%[===================>] 3.74M 3.68MB/s in 1.0s2017-03-13 14:55:28 (3.68 MB/s) - ‘mysql-connector-java-5.1.41.tar.gz’ saved [3923677/3923677]# tar -zxvf mysql-connector-java-5.1.41.tar.gz # mv mysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar . # rm -rf mysql-connector-java-5.1.41 mysql-connector-java-5.1.41.tar.gz |
运行Red5
# ./red5.sh > /dev/null 2>&1 & |
在本地浏览器上打开 http://你服务器的IP地址:5080/openmeetings/install ,进入安装
填入数据库连接账号
填入其他信息
按要求填写依赖组件的路径,会自动到/usr/bin下去找,不填也没关系,Ubuntu 16.04.1下安装swftools没有pdf2swf,需要另外从源代码安装,关于该安装请看本文结尾
安装完毕后,因为数据源变更,需要重启一下Red5
# ./red5-shutdown.sh # ./red5.sh > /dev/null 2>&1 & |
浏览器打开http://你服务器的IP地址:5080/openmeetings/signin#user/dashboard ,登录便可进入控制台
SWFTools编译安装
安装必要的软件
# apt-get install gcc g++ vim libjpeg-dev giflib-tools libfreetype6-dev libgif-dev |
下载源代码,解压缩后编译安装
# wget http://www.swftools.org/swftools-0.9.2.tar.gz # tar -zxvf swftools-0.9.2.tar.gz # cd swftools-0.9.2 # make -j 2 && make install |
编译过程中发生错误 too few arguments to function DGifOpenFileName
可参考如下第三方站点中的解决方法(原文地址:http://www.cnblogs.com/wala-wo/p/5119239.html)
gif2swf.c 中几处做修改:
233行
if ((gft = DGifOpenFileName(sname)) == NULL) {
改为
if ((gft = DGifOpenFileName(sname, 0)) == NULL) {
491行
if ((gft = DGifOpenFileName(s)) == NULL) {
改为
if ((gft = DGifOpenFileName(s,0)) == NULL) {
458和512行
DGifCloseFile(gft);
改为
DGifCloseFile(gft, NULL);
修改后,出现另一种错误 Undefined reference function : 'PrintGifError',可参考如下第三方站点中的解决方法(原文地址:http://www.blogs8.cn/posts/WTLv0f5)
在gif2swf.c中补充这个已经被废弃的函数,内容如下:
void PrintGifError(int ErrorCode) {
const char *Err = GifErrorString(ErrorCode);if (Err != NULL)
fprintf(stderr, "GIF-LIB error: %s.\n", Err);
else
fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode);
}
至此,编译通过
请注意,本站的所有文章均要求阁下在转载时注明出处和原作者,阁下转载本站文章即表示阁下同意并遵守此规程,除非特别注明转载出处,否则文章即为其发布者所著。本站及文章作者保留文章的著作权并有权在阁下违反上述规程时予以追究。
本文链接地址: 搭建开源在线会议平台 Apache OpenMettings