はじめに
Zoomなどフリーでもそれなりに使えるオンライン会議システムがでているが、完全にプライベートなソリューションとしてBigbluebuttonがあるので、これを試してみた。
https://bigbluebutton.org/
家庭でやろうと思っても、
- 専用のサーバは用意できない
- IPアドレスが時々変わる
などの制約があるので、これをどうにかしないといけない。
サーバはVM環境(今回はvmware)を使って、WebRTCも使うので、フリーのドメインとSSL証明書の取得もやってみた。
#Ubuntu仮想マシンの準備
##1.Ubuntu16.04LTSのインストール
仮想マシンにubuntu16.04LTSをインストールする。(Bigbluebuttonは16.04を指定)
Ubuntu 16.04 LTS 日本語 Remixが便利です。
https://www.ubuntulinux.jp/News/ubuntu1604-ja-remix
- 仮想マシンの設定
- コア数: 4以上
- メモリ: 8GB以上
- ネットワーク: ブリッジ接続(自動)
※詳細は以下を参照。
http://docs.bigbluebutton.org/2.2/install.html#minimum-server-requirements
※仮想マシンの構築については、他の記事に詳細に解説があるので、そちらを参照
Windows10上に仮想Ubuntu環境を構築(VMware Workstation Player)
https://qiita.com/iwa_gino/items/11aaffa9e49f2fc423d0
インストールが終わったら、アップデートを忘れずに。
sudo apt-get update
sudo apt-get dist-upgrade
vm-toolsは付属のものは使わず、オープンソースのものを使う。
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
##2.ネットワークの設定
ローカルのIPアドレスは固定しておく。
ここでは、ネットワークマネージャからIPv4を手動設定する。(※2020/5/4 図の差し替え)
ルータのDHCP設定を有効にしている場合は、その払い出すアドレスの範囲外で指定すると、アドレス重複のリスクもなくなる。
IPv6は必須ではないが、グローバルなIPv6アドレスが取得できていないときは、以下を試してみる。
/etc/sysctl.confを編集したら、ネットワークサービスを再起動する。
(上手く行かない場合は仮想マシンを再起動)
#以下の値を編集(ない場合は行追加)
# "eth0"は自分のインターフェース名(ip aコマンドで確認)に適宜修正
net.ipv6.conf.eth0.accept_dad = 0
net.ipv6.conf.default.accept_dad = 0
net.ipv6.conf.eth0.dad_transmits = 0
net.ipv6.conf.default.dad_transmits = 0
#sysctlへの反映
sudo sysctl -p
#ネットワークサービスの再起動
sudo service network-manager restart
#または
sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a
##3.ルータの設定変更
外部からの接続をルータから仮想マシンへ中継する設定が必要。
自分はルータのDMZ設定を使ったが、静的NATで設定してもいい。
そのとき転送するポートは以下の通り。
- TCP/IP ports 80/443 (for HTTP/HTTPS)
- UDP ports in the range 16384 - 32768 (for FreeSWITCH/HTML5 RTP streams)
- TCP/IP port 22 (for SSH 外部から接続しない場合は不要)
#その2へ
その2では、フリーのドメイン取得とDNSの設定を説明する。
https://qiita.com/maron2000/items/834aa44d380f0f1312ce