2012年9月10日 星期一

於 Debian wheezy 上 安裝 OpenMeetings

Debian wheezy 安裝自由軟體線上會議系統 OpenMeetings


由於需要用到多人視訊功能,但是又要能夠分享桌面,目前似乎沒有自由軟體能做到如此。所以就試著找看看,找到 apache foundation 的 openmeetings,這才知道有這麼一套“自由軟體線上會議”程式存在。看了些文件後,真是覺得功能符合我的需求,於是花了幾天時間來研究安裝建置及使用,做成筆記。

openmeetings 特點:

- 自由軟體
- 視訊及語音會議,也可打文字聊天(chat)。

- 白板可展示圖片、影片、簡報等等(可同時多個白板)。
- 分享及控制桌面(類似 vnc),並可將桌面錄影起來。
- 詳細的權限控管(防止講到一半被干擾)
- 內建民調系統,方便決策用。
- 預約會議,可以 email 通知。
- 支援外掛程式,擴充功能。

安裝前準備:

小弟的環境是以 debian testing(wheezy) 來安裝,若是其他 distribution,請自行修改。

命令是以一般使用者即可安裝,只有在安裝 package 時 apt-get 要 root 權限,在此是用 sudo。

在安裝 openmeetings 前,有些東西是必要的,要先準備好:

1. JRE(java runtime environment), 安裝 openjdk 即可,不需要用 oracle 的 java。
  $ sudo  apt-get install openjdk-7-jre

2. 要能夠分享桌面,必須要能執行 .jnlp 檔,裝上 icedtea-netx(取代 javaws)
  $ sudo apt-get install icedtea-netx

3. 將桌面錄製成影片或滙入 .avi, .flv, .mov, .mp4 到白板要安裝工具。
  $ sudo apt-get install ffmpeg sox swftools

  debian wheezy 的 swftools 裡並沒有 pdf2swf 這個指令,所以無法上傳 pdf 檔來做簡報,若一定要有,請自行從原始碼編譯。

4. 在白板中匯入圖片,要圖片轉檔工具。
  $ sudo apt-get install imagemagick

5. 要在白板中匯入 office 檔,要裝上 libreoffice 或 openoffice 及轉檔工具 jodconverter。
  $ sudo apt-get install libreoffice

  openmeetings 滙入 .doc, .docx, .ppt, .pptx, ... 都是用 libreoffice 或 openoffice 去做轉換動作,所以在 openmeetings 這台伺服器上一定要裝 office。而呼叫 office 來做轉換的動作,則由 jodconverter 來完成。


  因為 openmeetings 在檔案上傳後,都是轉成 pdf,所以要安裝 ghostscript。
  $ sudo apt-get install ghostscript

6. 上傳的 office 要支援中文,系統上要裝 utf8 中文字型。
  $ sudo apt-get install ttf-arphic-uming ttf-arphic-ukai

  若之前舊文件有用 big5 字型,也要安裝 big5 字型。
  $ sudo apt-get install ttf-arphic-bsmi00lp ttf-arphic-bkai00mp

  還有,文件用到 windows 的細明體的話,預設 linux 並沒有,所以轉換後會變亂碼,直接將字型從 windows 拷貝到 linux 下即可。
  $ sudo mkdir  /usr/share/fonts/truetype/windows/
  $ sudo cp mingliu.ttc  /usr/share/fonts/truetype/windows/

開始安裝:

到 http://incubator.apache.org/openmeetings/ 抓 openmeetings 回來。
解開到指定目錄:
$ mkdir  /media/share/apps/openmeetings
$ tar xvf  apache-openmeetings-incubating-2.0.0.r1361497-14-07-2012_1108.tar.gz  -C  /media/share/apps/openmeetings

由於 debian wheezy 裡的 jodconverter 是 2.2.2 版,必須將 office 啟動成一個 service 在背景跑,listen 一個 tcp port,然後 jodconverter 2.x 再透過 tcp port 去要求 office 做轉換動作。
但是 jodconverter 3.0 則 office 不用在背景跑,jodconverter 3.x 會去呼叫 office 來轉檔,轉完後會關閉 office,所以用 3.x 版比較好。

jodconverter 2.x:
$ sudo apt-get install jodconverter
$ soffice --headless --nofirststartwizard --accept="socket,host=localhost,port=8100;urp" &
會 listen 在 localhost:8100, 而 jodconverter 2.x 在轉換時會自行去跟 office 溝通。

jodconverter 3.x:

下載 jodconverter 3.0:
http://code.google.com/p/jodconverter/downloads/list
解開至 openmeetings 裡
$ unzip jodconverter-core-3.0-beta-4-dist.zip -d /media/share/apps/openmeetings/

由於現在 jodconverter 是 3.0-beta-4, 若下次 beta 5 或正式版釋出,則路徑會不同,要再修改,所以預先做個連結,以後不用再到 openmeetings 裡修改路徑,將新版做個連結即可。
$ cd /media/share/apps/openmeetings/
$ ln -sf jodconverter-core-3.0-beta-4 jodconverter-core


預設 openmeetings 資料庫是用 apache derby database,若要改成 mysql 則需在此先準備好。
1.mysql 伺服器部份設定:
  首先 mysql 伺服器的 charset 一定要設成 utf8,否則無法安裝成功。
  $ sudo apt-get install mysql-server
  $ sudo vi /etc/mysql/my.cnf
  [mysqld]
  character_set_server=utf8
  重新啟動 mysql server
  $ sudo /etc/init.d/mysql restart
2.安裝 Jconnector
  下載 http://www.mysql.com/downloads/connector/j/
 解開後,將 mysql-connector-java-5.1.22-bin.jar 放到指定目錄下
  $ cp mysql-connector-java-5.1.22-bin.jar /media/share/apps/openmeetings/webapps/openmeetings/WEB-INF/lib/
3.openmeetings 呼叫 mysql 設定:
  將 mysql 專用設定檔覆蓋掉原本的:
  $ cd /media/share/apps/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/
  $ cp mysql_persistence.xml persistence.xml
  修改 persistence.xml 裡面 mysql server 位置、使用者、密碼。

    , Url=jdbc:mysql://localhost:3306/openmeetings?autoReco
  改成
  , Url=jdbc:mysql://your_mysql_server:3306/openmeetings?autoReco
  若 openmeetings mysql 伺服器在同一台機器,則不用改。


  , Username=root
  改成
  , Username=your_openmeetings_user


  , Password="/>;
  改成
  , Password=your_openmeetings_password"/>;

由 於 openmeetings 要使用 mysql 時,是以 mysql root 權限去使用,這樣風險太大。 沒必要的權限不要開。所以是先在 mysql server 上手動建立 openmeetings 資料庫,然後允許 your_openmeetings_user 這個使用者只能使用這個資料庫,其他的不能動。

  以 mysql root 連到 mysql server 下指令:
    create database openmeetings;
    grant all on openmeetings.* to   your_openmeetings_user@localhost  identified by 'your_openmeetings_password';

  
密碼設為 your_openmeetings_password, 這樣 client 只能以 your_openmeetings_user 使用者連進來,並且僅能使用 openmeetings 這個資料庫,若 openmeetings 伺服器和 mysql 不在同一台,請改 localhost。


啟動 openmeetings server:
$ cd /media/share/apps/openmeetings/
$ ./red5.sh
假如你的 openmeetings 伺服器需要更好效能、有更高負載,則啟動時請改用:
$ ./red5-highperf.sh

等個約 30 秒,若沒問題,伺服務啟動完成,會 listen tcp port 5080, 1935, 8088 和其他幾個。
openmeetings 本身就有 http server,不用額外配合 apache web server。

Port 5080: HTTP (瀏覽器登入及檔案上傳下載)
Port 1935: RTMP (Flash Stream and Remoting/RPC)
Port 8088: RTMP over HTTP-Tunneling (rtmpT)

在 openmeetings server 上的防火牆要打開 tcp 5080, 1935, 8088,其他的是 openmeetings 內部自己使用就不需要。


打開瀏覽器,輸入 openmeetings web-installer, 開始安裝:
http://localhost:5080/openmeetings/install

開啟頁面有一堆說明,預設 openmeetings 資料庫是用 apache derby database, 在真實 production run 環境下,可改用 mysql、postgres、IBM DB2、oracle 等等。不管那些說明,直接按 "Continue with STEP 1" 進入安裝畫面。

一開始要先填上一個使用者及密碼,電子郵件及時區,這個使用者即為 "超級使用者" 身份。
電子郵件則是忘記密碼時重置密碼用及會議提醒。

在 Configuration 部份,預設是系統會寄一封信給新註冊的使用者,使用者收信後,點選 email 上的連結啟動帳號,若是不想這麼麻煩,可修改
Send Email to new registered Users (sendEmailAtRegister)                          No
New Users need to verify their EMail (sendEmailWithVerficationCode)       No

預設電子郵件伺服器是指向 localhost, 所以本機 mail server 要 listen tcp port 25, 也可使用外部 smtp server, 如 google 的 smtp.gmail.com的方式,請自行設定。
若用 smtp.gmail.com
SMTP-Server (smtp_server)                                          smtp.gmail.com
SMTP-Server Port(default Smtp-Server Port is 25) (smtp_port)       587
SMTP-Username (email_userpass)                                     gmail 使用者名稱(自行設定)
SMTP-Userpass (email_userpass)                                     gmail 密碼(自行設定)
Enable TLS in Mail Server Auth                                     Yes

在 Converters 部份,若是有在 PATH 裡的執行檔,則不用在此設定,可直接找到,只要調整 jodconverter 3.x 版的 JOD Path:
JOD Path:     ./jodconverter-core/lib

其他的都保持原狀,拉到最底下按 INSTALL 按鈕開始安裝動作,我的電腦約持續 10 分鐘才安裝完成(使用 derby database),若用 mysql 大約 2 分鐘,要有點耐心,完成會跳到另一個視窗,千萬不要一直 refresh 或重開瀏覽器,否則會安裝失敗。


使用:

安裝完成後,直接按 Enter the Application 即可到登入畫面。登入畫面是用 flash 的,所以瀏覽器要裝 adobe flash plugin, 小弟試用過 gnash, 無法使用。

或直接開啟網址使用,網址為 http://localhost:5080/openmeetings

以剛才建立的超級使用者登入(Sign in)或新註冊一個,按(Not a member?),註冊時可選擇語言,有正體中文可選,可是翻譯並不完整而且很多是大陸用語,所以我選英文介面來介紹。
註冊時要寫好正確時區,否則以後會議通知會寄錯時間。




請繼續閱讀 "OpenMeetings 基本操作篇"
http://guildwar23.blogspot.tw/2012/09/openmeetings_15.html



參考文件:
http://jainan.blogspot.tw/2011/10/202-windows-2003-install-openmeetings.html
http://incubator.apache.org/openmeetings/

沒有留言:

張貼留言