CentOS5(64bit)でOpenMeetings †更新日 2011-06-03 (金) 14:04:06
CentOSにTV会議システムOpenMeetingsをインストール CentOS(64Bit)のインストール †最少構成でインストール。パッケージのインストールでは「Desktop-Gnome」のチェックをはずし、「今すぐカスタマイズ」を選択する CentOS 5.5(x86_64) インストール後関係ないサービス等の停止 †# /sbin/chkconfig --del ip6tables # /sbin/chkconfig --del iptables # /sbin/chkconfig --del mcstrans # /sbin/chkconfig --del netfs # /sbin/chkconfig --del rawdevices # /sbin/chkconfig --del restorecond SELINUXの停止 /etc/sysconfig/selinux 変更前 SELINUX=enforcing 変更後 SELINUX=disabled 起動端末数を減らす /etc/inittab 変更前 # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 変更後 # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 #2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6 Emacsのインストール # yum -y install emacs cronのインストール # yum -y install vixie-cron # chkconfig crond on # service crond start サービススタートは /etc/rc.d/init.d/crond startでもいいかも? パッケージの削除(x86_64版のみ) †# touch ix86remove.sh ix86remove.sh #!/bin/bash yum remove `rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep i[356]86` # chmod +x ix86remove.sh # ./ix86remove.sh OS Update †(i386) # yum -y update (x86_64) # yum -y update -x *.i?86 # yum -y install gcc gcc-c++ make rpm-build kernel-headers sudo wget # reboot RPMForgeリポジトリの追加 †リポジトリを導入して、標準リポジトリで提供されないパッケージをyumでインストールできるようにする。 # yum -y install yum-priorities /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 <=追加(同様にupdates、addons、extras、centosplus、contribの最終行下に'priority=1'を追加 RPMForge GPGキーのインポート # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt RPMForgeリポジトリ情報パッケージのインストール # rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/dag/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm 日本語フォントパッケージのインストール †CentOSをテキストモードでインストールすると、日本語環境がインストールされていない可能性があり # yum install fonts-japanese /etc/sysconfig/i18n 変更前 LANG="en_US.UTF-8" 変更後 LANG="ja_JP.UTF-8" フォント情報キャッシュ更新 # fc-cache -fv 前提パッケージのインストール †OpenMeetingsが依存する、各種ツールをインストール。 LAME (レイム)は、MP3への変換に用いられるフリー ImageMagick, GhostScript, LAME †# yum install ImageMagick ghostscript lame SoX(Sound eXchange) †SoXを最新バージョンに。(SoX 12.xxでは動作しないため) ソースrpm(srpm)のダウンロード Fedora用SRRMを使用。 # cd /usr/src/redhat/SRPMS # wget ftp://ftp.is.co.za/mirror/fedora.redhat.com/linux/releases/test/14-Beta/Fedora/source/SRPMS/sox-14.3.1-3.fc14.src.rpm (ftp.is.co.za/mirror/fedora.redhat.com/linux/releases/14/Fedora/source/SRPMS/sox-14.3.1-3.fc14.src.rpmがあるのでこちらを使用) # rpm -ivh --nomd5 sox-14.3.1-3.fc14.src.rpm 警告: sox-14.3.1-3.fc14.src.rpm: ヘッダ V3 RSA/SHA256 signature: NOKEY, key ID 97a1071f 1:sox 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します ########################################### [100%] 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 依存パッケージのインストール # yum -y install libvorbis-devel alsa-lib-devel libtool-ltdl-devel libsamplerate-devel gsm-devel wavpack-devel \ ladspa-devel libpng-devel flac-devel libao-devel libsndfile-devel libid3tag-devel libtool SPECファイルを元にリビルド # cd ../SPECS # rpmbuild -bb sox.spec 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.40790 + umask 022 + cd /usr/src/redhat/BUILD + cd /usr/src/redhat/BUILD + rm -rf sox-14.3.1 (略) Requires: libsox.so.1()(64bit) pkgconfig sox = 14.3.1-3 伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/sox-14.3.1-3-root-root 書き込み完了: /usr/src/redhat/RPMS/x86_64/sox-14.3.1-3.x86_64.rpm 書き込み完了: /usr/src/redhat/RPMS/x86_64/sox-devel-14.3.1-3.x86_64.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.85300 + umask 022 + cd /usr/src/redhat/BUILD + cd sox-14.3.1 + rm -rf /var/tmp/sox-14.3.1-3-root-root + exit 0 バイナリパッケージのインストール # cd ../RPMS/x86_64 # yum localinstall --nogpgcheck sox-14.3.1-3.x86_64.rpm Loaded plugins: fastestmirror, priorities Setting up Local Package Process Examining sox-14.3.1-3.x86_64.rpm: sox-14.3.1-3.x86_64 Marking sox-14.3.1-3.x86_64.rpm as an update to sox-12.18.1-1.el5_5.1.x86_64 Loading mirror speeds from cached hostfile * addons: ftp.yz.yamagata-u.ac.jp (略) =============================================================================== ========== Package Arch Version Repository Size =============================================================================== =========== Updating: sox x86_64 14.3.1-3 /sox-14.3.1-3.x86_64 2.2 M (略) Transaction Summary =============================================================================== =========== Install 0 Package(s) Upgrade 1 Package(s) Total size: 2.2 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : sox 1/2 Cleanup : sox 2/2 Updated: sox.x86_64 0:14.3.1-3 Complete! Speexのバージョンアップ †VoIPアプリケーションやポッドキャストで使われるフリーな音声圧縮コーデックである。 Speexを最新バージョンに 。 ※FFMpegリビルド時、speex_header_free ファンクションが見つからない件への対応 ソースtar ballのダウンロード # cd /usr/src/redhat/SRPMS # wget http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Everything/source/SRPMS/speex-1.2-0.12.rc1.fc12.src.rpm # rpm -ivh --nomd5 speex-1.2-0.12.rc1.fc12.src.rpm # cd ../SPECS
# rpmbuild -bb speex.spec 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.40913 + umask 022 + cd /usr/src/redhat/BUILD + cd /usr/src/redhat/BUILD + rm -rf speex-1.2rc1 (略) 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.83523 + umask 022 + cd /usr/src/redhat/BUILD + cd speex-1.2rc1 + rm -rf /var/tmp/speex-1.2-0.12.rc1-buildroot + exit 0 インストール # cd ../RPMS/x86_64 # yum localinstall --nogpgcheck speex-1.2-0.12.rc1.x86_64.rpm speex-devel-1.2-0.12.rc1.x86_64.rpm Loaded plugins: fastestmirror, priorities Setting up Local Package Process Examining speex-1.2-0.12.rc1.x86_64.rpm: speex-1.2-0.12.rc1.x86_64 Marking speex-1.2-0.12.rc1.x86_64.rpm as an update to speex-1.0.5-4.el5_1.1.x86_64 =============================================================================== ========== Install 1 Package(s) Upgrade 1 Package(s) Total size: 1.0 M Is this ok [y/N]:y Installed: speex-devel.x86_64 0:1.2-0.12.rc1 Updated: speex.x86_64 0:1.2-0.12.rc1 Complete! FFMpeg †FFMpegでLAMEエンコーダを有効化。 rpmforgeにあるffmpegパッケージは、コンパイル時にLAMEエンコーダが無効化されていますので、それを有効にしてリビルド。 ソースパッケージのダウンロード # cd /usr/src/redhat/SRPMS # wget http://apt.sw.be/redhat/el5/en/source/ffmpeg-0.5.2-2.rf.src.rpm # rpm -ivh --nomd5 ffmpeg-0.5.2-2.rf.src.rpm # cd ../SPECS ffmpeg.specの修正内容 %{!?_without_lame:--enable-libmp3lame} \ 変更後 --enable-libmp3lame \ リビルドに必要な依存開発パッケージのインストール †# yum install SDL-devel imlib2-devel a52dec-devel amrnb-devel amrwb-devel faac-devel faad2-devel texi2html libtheora-devel x264-devel xvidcore-devel dirac-devel freetype-devel opencore-amr-devel lame-devel SPECファイルを元にリビルド # rpmbuild -bb ffmpeg.spec (略) Obsoletes: libpostproc < 1.0-1 libpostproc-devel < 1.0-1 伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/ffmpeg-0.5.2-2-root 書き込み完了: /usr/src/redhat/RPMS/x86_64/ffmpeg-0.5.2-2.x86_64.rpm 書き込み完了: /usr/src/redhat/RPMS/x86_64/ffmpeg-devel-0.5.2-2.x86_64.rpm 書き込み完了: /usr/src/redhat/RPMS/x86_64/ffmpeg-libpostproc-0.5.2-2.x86_64.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.60976 + umask 022 + cd /usr/src/redhat/BUILD + cd ffmpeg-0.5.2 + /bin/rm -rf /var/tmp/ffmpeg-0.5.2-2-root + exit 0 バイナリパッケージのインストール # cd ../RPMS/x86_64 # yum localinstall --nogpgcheck ffmpeg-0.5.2-2.x86_64.rpm ffmpeg-libpostproc-0.5.2-2.x86_64.rpm (略) nstalled: ffmpeg.x86_64 0:0.5.2-2 ffmpeg-libpostproc.x86_64 0:0.5.2-2 Complete! SWFTools †Adobe FlashのSWF形式のファイルを作成、編集するためのツール群 最新バージョンのSWFToolsをインストール リビルドに必要な依存開発パッケージのインストール # yum install libjpeg-devel fontconfig-devel giflib-devel ソースパッケージのダウンロード # cd /usr/src/redhat/SRPMS # wget http://pikachu.2014.free.fr/public/swftools/swftools-0.9.1-1.fc13.src.rpm # rpm -ivh --nomd5 swftools-0.9.1-1.fc13.src.rpm 1:swftools 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します ########################################### [100%] 警告: ユーザ mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します SPECファイルの修正 # cd ../SPECS swftools.spec 変更前 BuildRequires: pdflib-lite-devel 変更後 BuildRequires: freetype-devel 変更前 %{_bindir}/pdf2pdf 変更後(コメントアウト) #%{_bindir}/pdf2pdf PDFLib Liteは商用パッケージの為、ライセンスの関係でパッケージから外すようにする。 SPECファイルを元にリビルド # rpmbuild -bb swftools.spec (略) + umask 022 + cd /usr/src/redhat/BUILD + cd swftools-0.9.1 + rm -rf /var/tmp/swftools-0.9.1-1-root-root + exit 0 バイナリパッケージのインストール # cd ../RPMS/x86_64 # yum localinstall --nogpgcheck swftools-0.9.1-1.x86_64.rpm JDKのインストール †http://java.sun.com/javase/ja/6/download.html # cd /usr/local/src # sh jdk-6u23-linux-x64-rpm.bin Unpacking... Checksumming... Press Enter to continue..... (Enter) Done. OpenOfficeのインストール †OpenMeetingsの文書データ変換にはJODConverterが使用され、 JODConverter はOpenOffice.orgをエンジンとしてデータ変換を行うので、OpenOffice.orgをサービスとして起動する。 JODConverterは、OpenOffice.orgで使用しているオフィス文書フォーマット間の自動変換を行うツール。サポートしているフォーマットは、OpenDocument, PDF, RTF, Word, Excel, PowerPoint, Flash。Javaライブラリ、コマンドラインツール、Webアプリケーションとして使用。 i386版 # wget http://download.services.openoffice.org/files/localized/ja/3.2.1/OOo_3.2.1_Linux_x86_install-rpm_ja.tar.gz x86_64版 # wget http://download.services.openoffice.org/files/localized/ja/3.2.1/OOo_3.2.1_Linux_x86-64_install-rpm-wJRE_ja.tar.gz バージョンが異なるのをアンインストール # rpm -e --nodeps openoffice.org-ure-3.1.1-19.5.el5_5.1 openoffice.org-core-3.1.1-19.5.el5_5.1 openoffice.org-langpack-ja_JP-3.1.1-19.5.el5_5.1 インストール i386版 # tar zxvf OOo_3.2.1_Linux_x86_install-rpm_ja.tar.gz x86_64版 # tar zxvf OOo_3.2.1_Linux_x86-64_install-rpm-wJRE_ja.tar.gz # yum -y localinstall --nogpgcheck OOO320_m18_native_packed-1_ja.9502/RPMS/ooobasis3.2-* OOO320_m18_native_packed-1_ja.9502/RPMS/openoffice.org* /etc/rc.d/init.d/sofficeを以下のように作成 #!/bin/bash # openoffice.org headless server script # # chkconfig: 2345 80 30 # description: headless openoffice server script # processname: openoffice # # Author: Vic Vijayakumar # Modified by Federico Ch. Tomasczik # Modified by open-art.jp at 1/25/2010 # OOo_HOME=/opt/openoffice.org3 SOFFICE_PATH=$OOo_HOME/program/soffice PIDFILE=/var/run/openoffice-server.pid set -e case "$1" in start) if [ -f $PIDFILE ]; then echo "OpenOffice headless server has already started." sleep 5 exit fi echo "Starting OpenOffice headless server" $SOFFICE_PATH -headless -nofirststartwizard -accept="socket,port=8100;urp;" & >/dev/null 2>&1 touch $PIDFILE ;; stop) if [ -f $PIDFILE ]; then echo "Stopping OpenOffice headless server." killall -9 soffice && killall -9 soffice.bin rm -f $PIDFILE exit fi echo "Openoffice headless server is not running." exit ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0 # chmod +x /etc/rc.d/init.d/soffice # /sbin/chkconfig --add soffice # /sbin/chkconfig soffice on 注) 古いバージョンがあると以下のようなエラーが出るので上のようにrpmでアンインストールしておく # /etc/rc.d/init.d/soffice start Starting OpenOffice headless server # /opt/openoffice.org3/program/soffice.bin: while loading shared libraries: \ libuno_sal.so.3: cannot open shared object file: No such file or directory または / opt/openoffice.org3/program/soffice.bin:/ opt/openoffice.org3/program/libuno_sal.so.3:バージョン`UDK_3.10'\ (が必要見つかりませんでした/ opt/openoffice.org3/program / .. / basis-link/program/libsfxlx.so) 余談 †バイナリの内部テキスト部の表示でバージョン確認 vine では strings # objdump -p /opt/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 | grep UDK 2 0x00 0x01297db0 UDK_3_0_0 3 0x00 0x09912641 UDK_3.1 UDK_3_0_0 4 0x00 0x09912642 UDK_3.2 UDK_3.1 5 0x00 0x09912643 UDK_3.3 UDK_3.2 6 0x00 0x09912644 UDK_3.4 UDK_3.3 7 0x00 0x09912645 UDK_3.5 UDK_3.4 8 0x00 0x09912646 UDK_3.6 UDK_3.5 9 0x00 0x09912647 UDK_3.7 UDK_3.6 10 0x00 0x09912648 UDK_3.8 UDK_3.7 11 0x00 0x09912649 UDK_3.9 UDK_3.8 サービススタート # service soffice start 確認 # netstat -anp |grep 8100 tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN 25734/soffice.bin MySQLのインストール †# yum -y install mysql-server /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 default-character-set = utf8 #追加 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] #追加 default-character-set = utf8 #追加 起動 # /sbin/chkconfig mysqld on # service mysqld start 設定 # mysqladmin -u root password ***** # mysql -u root -p Enter password: パスフレーズ mysql> create database openmeetings; mysql> grant all privileges on openmeetings.* to openmeetings@localhost identified by "ユーザーのパスフレーズ"; mysql> flush privileges; mysql> exit OpenMeeting インストール †以下からDownload wget http://openmeetings.googlecode.com/files/openmeetings_1_6_rc1_r3621.zip # unzip openmeetings_1_6_rc1_r3621.zip # mv red5 /usr/local/openmeetings # cd /usr/local/openmeetings/webapps/openmeetings/conf/ # mv hibernate.cfg.xml hibernate.cfg.xml.org # cp mysql_hibernate.cfg.xml hibernate.cfg.xml 設定 †hibernate.cfg.xml <!-- User / Password --> <!-- <property name="connection.username">root</property> <property name="connection.password"></property> --> <property name="connection.username">openmeetings</property> <property name="connection.password">********</property> DB名 openmeetings <!-- <property name="connection.url">jdbc:mysql://localhost/openmeetings?autoRec\ onnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf-8</property> --> <property name="connection.url">jdbc:mysql://localhost/openmeetings?autoRec\ onnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf-8</property> # cd /usr/local/openmeetings # chmod +x *.sh # /usr/sbin/useradd -d /usr/local/openmeetings openmeetings # cd /usr/local # chown -R openmeetings. openmeetings /etc/rc.d/init.d/openmeetingsを以下のように作成 #! /bin/sh # chkconfig: 345 95 90 # description: Open Source Flash Server # processname: java # Author: OPEN-ART <info@open-art.jp> # /etc/init.d/openmeetings . /etc/rc.d/init.d/functions NAME=openmeetings RED5_DIR=/usr/local/$NAME START_DAEMON=$RED5_DIR/red5.sh STOP_DAEMON=$RED5_DIR/red5-shutdown.sh # OpenMeetingsを'openmeetings'ユーザ以外で稼動させる必要がある場合は、 # 次のRUN_USER変数にそのユーザIDをセットしてください。 # ex.) RUN_USER=root RUN_USER=$NAME PIDFILE=/var/run/$NAME.pid LOGFILE=/var/log/$NAME.log test -x $START_DAEMON || exit 5 start() { echo -n "Starting OpenMeetings Service:" cd $RED5_DIR su -s /bin/bash -c "$START_DAEMON &" $RUN_USER >> $LOGFILE 2>&1 RETVAL=$? echo [ $RETVAL = 0 ] && touch ${PIDFILE} sleep 2 return $RETVAL } stop() { echo -n "Shutting down OpenMeetings:" cd $RED5_DIR su -s /bin/bash -c "$STOP_DAEMON &" $RUN_USER >> $LOGFILE 2>&1 RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${PIDFILE} sleep 2 return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; esac # chmod +x /etc/rc.d/init.d/openmeetings # /sbin/chkconfig --add openmeetings # /sbin/chkconfig openmeetings on 起動 # /sbin/service openmeetings start Logローテンションの設定 †/etc/logrotate.d/openmeetings /var/log/openmeetings.log { missingok notifempty sharedscripts postrotate /etc/rc.d/init.d/openmeetings restart >/dev/null 2>&1 endscript } Webでの設定 †http://(IPアドレス):5080/openmeetings/install
The standard Screenviewer is optimized for low-bandwidth areas - You have the possibility of altering the quality of the screencapture,ie. The jrDesktop alternative starts immediately without GUI, just stoppable via SysTray Icon, but offers a higher speed tranferring the screencaptures to the whiteboard The RTP Sharer transfers Desktop Data as RTP Stream to Server. Best performance and quality is reached using 1024x768 as Screen Resolution その他は特に設定必要なし 使用ポート †
rtmps †RTMPSはRed5が0.9.1で動作しなかったので0.8.0を使用。Red5でのrtmpsの使用方法はここにあるのでとりあえずインストール その後 # mv openmeetings openmeetings.org # ln -s red5_080 openmeetings # cd openmeetings # mv webapps webapps.org # cp -a ../openmeetings.org/webapps . red5のwebappsをopenmeetingsのものとスワップする webapps/openmeetings/config.xml <rtmpTunnelport>8088</rtmpTunnelport> <rtmpsslport>8443</rtmpsslport> <==確認 <!-- Wether it should try to connect to rtmps first or not Valid values: yes / no <useSSL>yes</useSSL> <==yesに変更 確認 その後openmeetingsを起動してrtmpsで接続できることを login画面で確認 rtmps://(サーバ):8443/openmeetings/hibernate のような接続アドレスが一瞬出る ただしクライアントがWindowsしかFlashPlayerが対応していない。mac Linuxでは無理みたい 参考 †
使用方法 rtmps |