/month(5)/day(30)/1597938670_آموزش نصب بیگ بلو باتن.jpg)
این مطلب به شما طریقه ی نصب بیگ بلو باتن (BigBlueButton) ورژن 2.2 را آموزش خواهیم داد با ما همراه باشید. بیگ بلوباتن یک نرم افزار سطح متوسط برای وب نیست، بلکه یک صفحه ی وب کاملا responsive است که از مرورگر برای ارسال و دریافت صدا و ویدیو استفاده میکند. سرور بیگ بلو باتن تعداد زیادی از فرایندهای backend را برای مدیریت رسانه، دریافت API calling ، پردازش سایتهای آپلود شده و تبدیل رسانههای ثبت شده را به کار می گیرد.
بیگ بلو باتن برای عملکرد از full HTML5 client استفاده میکند، به این معنی است که همان کاربر میتواند از طریق صفحه نمایش، لپ تاپ، موبایل به کلاس خود دسترسی داشته باشد. ما توصیه میکنیم از مرورگر کروم و فایر فاکس استفاده کنید، زیرا که دارای بهترین پشتیبانی برای WebRTC میباشد.
امکانات طلایی نرم افزار بیگ بلو باتن برای کاربران
- دو برابر سریعتر از نسخه ی قبلی
- اشتراک صدا، ویدیو اشتراک گذاری تصویر با کیفیت ( با استفاده از WebRTC)
- شتراک گذاری یادداشت و امکان اصلاح توسط چند کاربر
- دسترسی کامل به اشتراک صفحه نمایش
- اشتراک گذاری ویدئو از منبعهای مختلف مثلا YouTube، Twitch در طول کلاس
آسان ترین روش نصب BigBlueButton
وقتی شما میخواهید بیگ بلو باتن را نصب کنید دو انتخاب دارید: bbb-install.sh و نصب گام به گام
مراحل نصب بیگ بلوباتن
- تهیه سرور اختصاصی
- سرور دارای حداقل امکانات مورد نیاز بیگ بلوباتن باشد
- Hostname اختصاص دهید (دامنه)ssl تنظیم نمایید.
bbb-install.sh
اگر شما میخواهید بیگ بلو باتن را به سرعت راه اندازی کنید، bbb-install.sh به شما کمک خواهد کرد تا در 15 دقیقه این کار را انجام دهید.
روش قدم به قدم
اگر شما تصمیم دارید با قسمت های بیشتری از بیگ بلو باتن آشنا شوید، میتوانید دستور العمل قدم به قدم را دنبال کنید.
قبل از نصب
برای راه اندازی موفق بیگ بلو باتن، ما به شما پیشنهاد میکنیم با یک سرور اختصاصی Ubuntu 16.04 64-bit برای بیگ بلو باتن شروع کنید.
سروری نیاز است که قبلا روی آن هیچ گونه نرم افزاری نصب نشده باشد مانند: plesk ، webadmin، apache و .. که دارای port 80/443 باشند.
منظور از "اختصاصی" این است که این سرور علاوه بر BigBlueButton برای هیچ چیز دیگری مورد استفاده قرار نگرفته باشد و نگیرد.
حداقل سرور مورد نیاز
Pre-installation checks
آیا یک سرور Ubuntu 16.04 آماده برای نصب دارید؟ اگر جواب شما بله است، قبل از شروع نصب، باید تعدادی از تنظیمات را چک کنید که مطمئن شوید سرور شما دارای حداقل امکانات است. بررسی کردن این تنظیمات زمان بر است اما در نهایت باعث میشود مشکلی در مراحل نصب پیش نیاید.
ابتدا مطمئن شوید که سرور locale ، en_US.UTF-8. باشد.
$ cat /etc/default/locale
LANG="en_US.UTF-8"
اگر شما LANG="en_US.UTF-8" را نمیبینید، دستور زیرا را برای تنظیم en_US.UTF-8 وارد کنید.
$ sudo apt-get install language-pack-en
$ sudo update-locale LANG=en_US.UTF-8
سپس از SSH session دوباره خارج و وارد شوید، این locale configuration دوباره برای session لود میکند. دستور عمل بالا cat /etc/default/locale را دوباره به کار بگیرید. مطمئن شوید که فقط این خطLANG="en_US.UTF-8" را ببینید.
نکته: اگر شما یک خط اضافی LC_ALL=en_US.UTF-8 را میبینید، سپس ورود را برای LC_ALL از /etc/default/locale حذف کنید، سپس خارج شوید و یکبار دیگر وارد شوید.
در مرحله بعد sudo systemctl show-environment را انجام دهید و مطمئن شوید که LANG=en_US.UTF-8 را در خروجی میبینید.
$ sudo systemctl show-environment
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
اگر شما این را نمیبینید، این sudo systemctl set-environment LANG=en_US.UTF-8 انجام دهید و بالایی را sudo systemctl show-environment دوباره به کار بگیرید و مطمئن شوید که این LANG=en_US.UTF-8 را در خروجی میبینید. سپس چک کنید که سرور شما حداقل 4 گیگ حافظه را در استفاده از دستور free -hداشته باشد. این یک خروجی از یکی از تستهای سرور است.
$ free -h
total used free shared buff/cache available
Mem: 31G 5.9G 314M 1.8G 25G 21G
Swap: 31G 360M 31G
این مثال 31 گیگ از حافظه را نشان میدهد( این یک سرور با 32 گیگ حافظه است)
اگر شما یک value کمتر از 4 گیگ برای Mem: در ستون total میبینید، یعنی سرور شما حافظه کافی برای پردازش بیگ بلو باتن ندارد. شما نیاز به افزایش حافظه خود حداقل 4 گیگ دارید. سپس چک کنید که سرور Ubuntu is 16.04. باشد.
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.x LTS"
سپس چک کنید که سرور شما که 64-bit version of Ubuntu 16.04. را به کار میگیرید.
$ uname -m
x86_64
سپس چک کنید که سرور شما IPV6 را ساپورت میکند.
$ ip addr | grep inet6
inet6 ::1/128 scope host
...
اگر شما خط inet6 ::1/128 scope host را نمیبینید، پس از اینکه شما بیگ بلو باتن را نصب کردید، شما به تغییر تنظیمات FreeSWITCH برای disable support for IPV6 نیاز پیدا خواهید کرد.
سپس چک کنید که سرور شما Linux kernel 4.x پردازش میکند.
$ uname -r
4.15.0-38-generic
سپس چک کنید که سرور شما حداقل دارای 4 CPU است.
نکته: بیگ بلو باتن روی 2.6 Kernel راه اندازی نمیشود. مانند:( Linux 2.6.32-042stab133.2 on x86_64 on OpenVZ VPS )
گاهی اوقات از ما پرسیده میشود که چرا فقط Ubuntu 16.04 64-bit را ساپورت میکنیم؟ جواب ما، اهمیت داشتن کیفیت در مقایسه با کمیت است. مدتها پیش نتیجه گرفتیم که بهتر است این پروژه شامل نصب قوی، آزمایش شده و مستندی برای یک نسخه خاصی از Linux باشد که کارآمد ظاهر شود، که این خیلی بهتر از آن است که نسخههای مختلفی ازLinux را پشتیبانی کند .
یک دامنه و گواهی ssl داشته باشید.
ما پیشنهاد میدهیم برای بیگ بلو باتن خود یک سرور با دامنه اختصاص دهید، مانند bigbluebutton.roomeet.irو برروی سرور خود sslتنظیم کنید. انجام دادن این کار، nginx را فعال میکند، وب سروری که با بیگ بلو باتن نصب شده باشد محتوای سرور را با httpsانتقال میدهد. بدون HTTPS ، مرورگر شما دسترسی به وب کم یا میکروفون را اجازه نخواهد داد. همچنین بدون HTTPS فعال شده، بعضی از مرورگرها در رابطه با محتوای ناامن اخطار خواهند داد. به طور خلاصه، برای هر سرور، تنظیمات دامنه وssl لازم است. برای خرید دامنه، سایت های زیادی وجود دارد.
برای به دست آوردن SSL certificate هم گزینههای زیادی وجود دارد، پیشنهاد میدهیم obtain an SSL certificate را ببینید.
نصب
آمادهی نصب هستید؟ لازم است قبل از نصب این موارد را چک کنید.
1.شما باید سرور Ubuntu 16.04 64-bit داشته باشید که دارای حداقل امکانات سرور مورد نیاز باشد.
2.اگر سرور دارای firewall میباشد، باید firewall خود را تنظیم کنید.
3.شما باید یک دامنه داشته باشید، مانند: bigbluebutton.roomeet.ir.
4.شما باید یک گواهیSSL معتبر برای دامنه داشته باشید.
اگر بیگ بلو باتن را برای آزمایش روی local VM میخواهید، و توسعه دهنده هستید میتوانید از مراحل 2و3و4 عبور کنید.
حالا شما آمادگی لازم برای نصب بیگ بلو باتن را دارید.
1.سرور خود را آپدیت کنید.
ابتدا مطمئن شوید که سرور شما با آخرین تنظیمات امنیتی آپدیت است. با SSH به سرورخود وارد شوید. شما نیاز به یک حساب دارید که بتواند دستورات را در root اجرا کند. وارد (via sudo)شوید. سپس با استفاده از دستور نوشته شده در کادر زیر مطمئن شوید که شما xenail multiverse را در /etc/apt/sources.list دارید.
$ grep "multiverse" /etc/apt/sources.list
بعد از وارد کردن دستور بالا، شما باید چیزی مانند زیر ببینید.
deb http://archive.ubuntu.com/ubuntu xenial multiverse
یا این:
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
نگران نباشید اگر دامنه در URL متفاوت از کادر بالا باشد، مهم این است که شما یک لینک که شامل multiverse باشد. اگر به این صورت نیست، دستور زیر را برای فایل /etc/apt/sources.list خود به کار بگیرید.
$ echo "deb http://archive.ubuntu.com/ubuntu/ xenial multiverse" | sudo tee -a /etc/apt/sources.list
سه برنامه برای بیگ بلو باتن نیاز است: ffmpeg ، yq ، libreoffice.
نسخه اولیه از ffmpeg در Ubuntu 16.04 قدیمی است و yq به صورت پیش فرض وجود ندارد. بنابرین، قبل از نصب بیگ بلو باتن، شما باید پکیج زیر را به سرور اضافه کنید تا مطمئن شوید تا نسخه مناسب نصب شده باشد. برای اطمینان از نصب نسخه های مناسب ، بایستی بایگانی های بسته شخصی زیر PPA) ) را به سرور خود اضافه کنید.
$ sudo add-apt-repository ppa:bigbluebutton/support -y
$ sudo add-apt-repository ppa:rmescandon/yq -y
$ sudo add-apt-repository ppa:libreoffice/ppa
سپس سرور خود را به آخرین پکیج ارتقاء دهید.
$ sudo apt-get update
$ sudo apt-get dist-upgrade
اگر شما تاکنون آپدیت نکردهاید،apt-get ممکن است به شما پیشنهاد دهد که سرور خود را بعد از dist-upgrade ریبوت کند. ریبوت را قبل از انجام مرحله بعدی انجام دهید.
HTML5 client از MongoDB برای دیتابیس خود استفاده میکند. یک دیتا بیس کارامد از synchronize state استفاده میکند. برای نصب MongoDB ، دستور زیر را دنبال کنید:
$ wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add -
$ echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org curl
BigBlueButton HTML5 client نیازمند به یک nodejs server است. برای نصب nodejs ، دستور زیر را انجام دهید:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
2. نصب apt-get key برای بیگ بلوباتن
قبل از نصب بیگ بلو باتن، شما باید این کلید را به دامنه سرور خود اضافه کنید. برای انجام این کار، دستور زیر را وارد کنید:
$ wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
اگر شما در حال آپدیت سرور از BigBlueButton 2.0 هستید، شما ابتدا باید پکیج bbb-client را حذف کنید.
$ sudo bbb-conf --stop
$ sudo apt-get purge -y bbb-client
سرور شما احتیاج دارد که بداند کجا پکیج BigBlueButton 2.2 را دانلود کند. برای تنظیم پکیج ذخیره، دستور زیر را وارد کنید:
$ echo "deb https://ubuntu.bigbluebutton.org/xenial-22/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
سپس، apt-get را به کار بگیرید.
$ sudo apt-get update
3.پشتیبان گیری از تنظیمات شخصی سازی شده
اگر این یک نصب جدید است، شما میتوانید از این مراحل گذر کنید.
اگر شما از نسخهBigBlueButon2.0 به یک نسخه جدید تر ارتقاء میدهید و تغییراتی ازین قبیل ایجاد کرده اید:
- SSL certificate مخصوص به خودتان در /etc/nginx/sites-available/bigbluebutton راه اندازی کنید
- FreeSWITCH را برای دریافت تماسهای ورودی تنظیم کنید
- با استفاده از دستور/var/www/bigbluebutton-default/default.pdf فایل خود را تغییر دهید
با هر گونه تغییری خارج از bbb-conf، سپس شما باید از این تغییرات قبل از ارتقاء بک آپ تهیه کنید. بعد از ارتقاء بیگ بلو باتن شما میتوانید تنظیمات اولیه را دوباره به کار بگیرید.
4. نصب BigBlueButton
نکته: اگر شما قصد ارتقا BigBlueButton 2.0 دارید ،sudo apt-get purge bbb-client را برای حذف نصب bbb-client انجام دهید.
حالا شما آمادهی نصب BigBlueButton هستید. دستور زیر را وارد کنید.
$ sudo apt-get install bigbluebutton
$ sudo apt-get install bbb-html5
برای هر دستور،Y را تایپ کنید و ENTER را کلیک کنید.
نکته 1: شما میتوانید هر گونه خطایی را “Failure to download extra data files” برای ttf-mscorefonts-installer نادیده بگیرید. این یک مسئله آشنا برایUbuntu 16.04 است.
نکته2: اگر نصب قبل از پایان با یک خطا مواجه میشود، دوباره مراحل را قبل از نصب چک کنید. اگر شما در پیکربندی خطایی پیدا و حل کردید، شما میتوانید با استفاده از این دستور sudo apt-get install -f نصب را پایان دهید.
نکته3: اگر هنوز بعد از sudo apt-get install -f خطا دریافت میکنید، کار را متوقف کنید زیراکه نصب هنوز کامل نشده است.
بعد اتمام نصب، مطمئن شوید که تمام پکیج ها به روز هستند، و dist-upgrade انجام دهید.
$ sudo apt-get dist-upgrade
بعد از اتمام نصب، بیگ بلو باتن را دوباره راه اندازی کنید.
$ sudo bbb-conf --restart
نگران نباشید اگر # Not running: tomcat7 or grails یا Error: Could not connect to the configured hostname/IP address را دیدید.
بعد ازینکه دوباره راه اندازی شد، تنظیمات را با استفاده از bbb-conf –check بررسی کنید. وقتی این دستور را اجرا میکنید، شما باید خروجی مشابه به این را ببینید:
sudo bbb-conf
--check
BigBlueButton Server 2.2.0
(1571
)
Kernel version: 4.4.0-142-generic
Distribution: Ubuntu 16.04.6 LTS
(64-bit
)
Memory: 16432 MB
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
(bbb-web
)
bigbluebutton.web.serverURL: http://178.128.233.105
defaultGuestPolicy: ALWAYS_ACCEPT
/etc/nginx/sites-available/bigbluebutton
(nginx
)
server name: 178.128.233.105
port: 80,
[::]:80
bbb-client
dir: /var/www/bigbluebutton
/var/www/bigbluebutton/client/conf/config.xml
(bbb-client
)
Port
test
(tunnel
): rtmp://178.128.233.105
red5: 178.128.233.105
useWebrtcIfAvailable:
true
/opt/freeswitch/etc/freeswitch/vars.xml
(FreeSWITCH
)
local_ip_v4: 178.128.233.105
external_rtp_ip: stun:stun.freeswitch.org
external_sip_ip: stun:stun.freeswitch.org
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml
(FreeSWITCH
)
ext-rtp-ip:
$${local_ip_v4
}
ext-sip-ip:
$${local_ip_v4
}
ws-binding: :5066
wss-binding: :7443
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
(record and playback
)
playback_host: 178.128.233.105
playback_protocol: http
ffmpeg: 4.1.1-0york1~16.04
/etc/bigbluebutton/nginx/sip.nginx
(sip.nginx
)
proxy_pass: http://178.128.233.105:5066
** Potential problems described below
**
هر خروجی ممکن است خطا نصب یا خطا تنظیمات را نشان دهد. در هر صورت این پیغام نحوه رفع مشکل را به شما نشان خواهد داد.
شما همچنین میتوانید از sudo bbb-conf –status برای بررسی مراحل نصب استفاده کنید.
$ sudo bbb-conf --status
red5 ——————————————————► [✔ - active]
nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-transcode-akka ————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
tomcat7 ———————————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]
bbb-lti ———————————————► [✔ - active]
در این مرحله، سرور به IPV4 address پاسخگو است. برای مثال، اگر ای پی سرور شما 178.128.233.105 است،شمامیتوانید ادرس http://178.128.233.105/ را باز کنید و این تصویر را مشاهده کنید.
به هر حال، شما میتوانید از این صفحه وارد شوید مگر اینکه دمو API را نصب کرده باشید.
اگر در نظر دارید که از این سروردر یک صفحه نمایش استفاده کنید، شما به یکAPI demos نیاز ندارید. شما میتوانید بیگ بلو باتن را با سرور ادغام کنید. شما همچنین میتوانید با استفاده از دستور bbb-conf اطلاعات را به نمایش بگذارید.
$ sudo bbb-conf --secret
URL: http://178.128.233.105/bigbluebutton/
Secret: 330a8b08c3b4c61533e1d0c5ce1ac88f
Link to the API-Mate:
http://mconf.github.io/api-mate/#server=http://178.128.233.105/bigbluebutton/&sharedSecret=330a8b08c3b4c61533e1d0c5ce1ac88f
بعد از این که وارد فضای دمو شدین همانطور که در تصویر می بینید بعد از وزود با یک مرورگر مانند فایرفاکس قادر خواهید بود در باکس متنی محتوا را بنویسید یا به اشتراک بگذارید.
وقتی کارتان باAPI تمام شد، شما میتوانید آنها را با دستور زیر حذف کنید.
$ sudo apt-get remove bbb-demo
5. نصب API demos (اختیاری)
از API demos می توانید برای آزمایش یبگ بلو باتن استفاده کنید.
برای نصب API دستور زیر را وارد کنید.
$ sudo apt-get install bbb-demo
حالا شما قادر خواهید بود که اسم خود را درکادر وارد کنید و Join را بزنید.
بعد از این که وارد فضای دمو شدین همانطور که در تصویر می بینید بعد از وزود با یک مرورگر مانند فایرفاکس قادر خواهید بود در باکس متنی محتوا را بنویسید یا به اشتراک بگذارید.
وقتی کارتان باAPIتمام شد، شما میتوانید آنها را با دستور زیر حذف کنید.
$ sudo apt-get remove bbb-demo
6. راه اندازی مجدد سرور
شما میتوانید بیگ بلو باتن خود را با استفاده از دستورات زیر ریستارت کنید.
$ sudo bbb-conf --restart
$ sudo bbb-conf --check
bbb-conf –check دستوری است که خطاها و logها را اسکن میکند. هر خروجی که Potential problemsرا دنبال کند، ممکن است خطا نصب یا خطا پیکربندی را نشان دهد.در بسیاری از موارد این پیغام نحوه حل مشکل را نشان میدهد.
توجه کنیدsudo bbb-conf --check به شما اخطار میدهد که API نصب شده است.
7.مراحل پایانی
در انتها برای استفاده مراحل زیر را انجام دهید:
- یک دامنه انتخاب کنید
- Ssl را برای اینکه پیشوند https شود نصب کنید.
- یک firewall برای سرور تنظیم کنید
- مرحله قبل را انجام دهید یعنی api را حذف کنید.
- یک TURN server تنظیم کنید.
ما دو سرور در دسترس را برای تست امتحان کرده ایم:
یک دامنه اختصاص دهید
در آخر برای بیگ بلوباتن، شما نیاز به یک دامنه دارید.
اگر این کار را تاکنون انجام نداده اید، می توانید آن را از سایت های ارائه دهنده دامنه تهیه فرمایید. یک A record
برای سرور خود تنظیم کنید.
بعد از A record ، دستور زیر و EXTERNAL_HOST_NAME را با نام دامنه در سرور بیگ بلوباتن وارد کنید:
$ ping EXTERNAL_HOST_NAME
این یک مثال از خروجی است که از demo.Roomeet.irاستفاده میکند:
$ ping demo.bigbluebutton.org
PING demo.bigbluebutton.org (146.20.105.32) 56(84) bytes of data.
64 bytes from 146.20.105.32: icmp_seq=1 ttl=44 time=27.5 ms
نکته: اگر سرور شما بهICMP اجازه نمیدهد، در نتیجه هیچ bytes برگشت داده نمیشود، اما شما باید server’s IP address خود را در ()بعد از نام دامنه ببینید.
اگر دامنه شما در حال رفع خطاهای IP address است، از تنظیمات بیگ بلو باتن bbb-conf برای به روز رسانی تنظیمات فایل ها استفاده کنید:
$ sudo bbb-conf --setip HOSTNAME
برای مثال، اگر live1000099.roomeet.ir باشد، فرمان زیر را باید وارد کنید:
$ sudo bbb-conf --setip live1000099.roomeet.ir
در این مرحله، بیگ بلو باتن به API requests پاسخ می دهد. به هر حال، اگر شما تلاش کردید تا از سرور default به صفحه مرورگر وارد شوید، شما با خطا مواجه خواهید شد.
HTTP Status 404 - /demo/demo1.jsp