از دید کاربر BigBlueButton (بیگ بلو باتن) یک کلاس درس مجازی برای آموزش و تدریس آنلاین میباشد. این ابزار برای آموزش online ایجاد شده و جامعه بزرگی از مدرسان و برنامه نویسان به صورت مستمر برای بهبود آن تلاش میکنند و در سطح بسیار بالایی در سیستم های مدیریت یادگیری در جهان مورد استفاده قرار گرفته است و دارای امکانات زیادی جهت برگزاری دوره های آنلاین و جلسات آنلاین میباشد. حتی به عنوان ویدئو کنفرانس هم تقریبا قابل استفاده است. کاربران بیگ بلو باتن را، روی مرورگرهای خود و بدون نیاز به نصب هیچ گونه نرم افزار اضافی اجرا میکنند و تقریبا روی تمام پلتفرم ها مانند ویندوز، لینوکس، اندروید و IOS به راحتی میتوان استفاده کرد. از دیدگاه مدیران، BigBlueButton یک نرم افزار تحت وب میباشد. سرور BigBlueButton تعدادی از پراسس های back-end را برای کنترل صدا و تصویر، فراخوانی API های ورودی، پردازش اسلایدهای آپلود شده و تبدیل صدا و تصاویر ضبط شده به رکوردینگ اجرا میکند.
شما میتوانید BigBlueButton را روی یک سرور Ubuntu 18.04 64-bit نصب و راه اندازی میکنند. در این مقاله ما به شما نحوه نصب رایگان بیگ بلو باتن را آموزش خواهیم داد.
ویدئو نصب بیگ بلو باتن (BigBlueButton)
قبل از نصب :
توصیه میکنیم که BigBlueButton را روی یک سرور Ubuntu 18.04 64-bit جدید، اختصاصی و تمیز (بدون هیچ نرم افزار از قبل نصب شده ای ، نصب کنید. اگر بخواهید BigBlueButton 2.2 را ارتقا دهید، به شما پیشنهاد میکنیم که از ابتدا یک سرور BigBlueButton 2.3 نصب کنید و بعد از انجام تنظیمات، record های موجود را به آن انتقال دهید.
منظور از یک سرور تمیز، سروری است که از قبل هیچگونه وب سروری یا اپلیکیشن هایی مانند plesk, webadmin, یا apache روی آن نصب نباشد که از پورت 80/443 در حال استفاده باشد. و منظور از اختصاصی (Dedicate) یعنی این سرور برای هر چیز دیگری غیر از BigBlueButton (و احتمالا اپلیکیشن های مرتبط با BigBlueButton مانند Greenlight) استفاده نشود.
حداقل تجهیزات مورد نیاز سرور
برای محیط عملیاتی حداقل تجهیزات زیر توصیه میشود :
همچنین به شما توصیه میکنیم که در صورت امکان BigBlueButton را به صورت مستقیم روی یک سرور فیزیکی (Bare physical server) نصب کنید. BBB برای پردازش پکت های ورودی صدا از مرکز تماس FreeSWITCH استفاده میکند و FreeSWITCH در یک محیط غیر ویرچوال بهترین عملکرد را دارد. (همچنین تنظیمات پیشنهادی FreeSWITCH را مشاهده کنید) علاوه بر آن نرم افزار Kurento برای روتینگ جریان های صدا و ویدیو مورد استفاده قرار میگیرد.
همچنین شما میتوانید نصب بیگ بلو باتن را روی یک محیط ویرچوال یا کلود انجام دهید. برای نصب در محیط ویرچوال به شما توصیه میکنیم یک ماشینی که بتوان منابع آن را افزایش داد راه اندازی کنید.
اگر BigBlueButton را برای توسعه لوکال (محیط تستی) خودتان راه اندازی میکنید میتوانید تجهیزات مورد نیاز بالا را دست پایین بگیرید از آنجایی که کاربران خیلی کمی روی سرور ایجاد میکنید. و میتوانید آنها را به دلخواه خود کم و زیاد کنید.
همچنین برای استفاده از بیگ بلو باتن نیاز دارید که روی سرور یک گواهینامه SSL نصب کنید. و اما چرا؟ برای کاربرانی که صدا و ویدیو را از کامپیوترشان به اشتراک میگذارند نیاز هست که همه مرورگرها یک گواهینامه معتبر SSL را از سرور دریافت کنند تا به میکروفون یا وب کم کاربر دسترسی از طریق ارتباطات در لحظه (Real-Time) و تحت وب (WEBRTC) داده شود. اگر شما بخواهید به یک سرور BigBlueButton تنها از طریق ip address دسترسی داشته باشید مرورگر دسترسی یوزر BigBlueButton به میکروفون یا وب کم شما را مسدود خواهد کرد و به همین دلیل برای راه اندازی BigBlueButton حتما نیاز به یک دامنه معتبر و گواهینامه SSL میباشد. البته گواهینامه SSL را خود بیگ بلو باتن نصب و راه اندازی خواهد کرد که در جلوتر به آن میپردازیم.
بررسی های قبل از نصب
آیا یک سرور Ubuntu 18.04 64-bit آماده نصب دارید؟ قبل از اینکه نصب BigBlueButton روی اوبونتو را شروع کنید، به منظور اطمینان از اینکه آیا سرورتان حداقل پیش نیازها را دارد یا خیر، یکسری بررسی روی پیکربندی های سیستم را بعمل می آوریم.
با انجام بررسی های بالا به طرز چشم گیری شانس برخورد با مشکل در حین نصب را کاهش میدهیم. ابتدا بررسی میکنیم که locale سیستم مان برابر با en_US.UTF-8 باشد. برای این کار دستور cat را در ترمینال خود اجرا کنید.
اگر همانند بالا در خروجی دستور عبارت LANG="en_US.UTF-8" را مشاهده نکردید برای تعریف local به en_US.UTF-8 دستورات زیر را اجرا کنید.
و سپس کانکشن SSH خود را ببندید و مجددا به سرور لاگین کنید. که برای کانکشن شما تنظیمات local را reload خواهد کرد. دستور بالا را cat /etc/default/locale مجدد اجرا کنید و بررسی کنید که آیا به خط زیر تغییر کرده باشد.
نکته : اگر یک خط اضافه (LC_ALL=en_US.UTF-8) را دیدید آنرا حذف کنید و مجدد logout و login نمایید.
سپس دستور sudo systemctl show-environment را اجرا کنید و مطمئن شوید که در خروجی LANG=en_US.UTF-8 را مشاهده کنید.
اگر آنرا مشاهده نکردید دستور زیر را اجرا کنید.
و مجدد دستور زیر را اجرا کنید :
و مطمئن شوید که در خروجی مقدار LANG=en_US.UTF-8 را مشاهده کنید.
سپس با استفاده از دستور free -h بررسی کنید که سرورتان حداقل 16GB مموری داشته باشد. در اینجا خروجی سرور ما به شرح زیر میباشد.
در اینجا، نشان میدهد که 15GB رم آزاد داریم. که با توجه به 16 گیگ مموری سرور مقدار رم کافی میباشد.
اگر در دستور بالا مقدار mem: را در ستون total کمتر از 15G باشد در نتیجه سرور شما مموری کافی برای اجرای BigBlueButton در محیط عملیاتی ندارد. شما نیاز دارید که مموری سرور را به مقدار حداقل 16G افزایش دهید. (همانطور که در بالا گفتیم اگر در محیط تست یا لوکال هستید مقدار 8G کافیست)
سپس بررسی کنید که سرورتان Ubuntu 18.04 باشد.
همچنین بررسی کنید که سرورتان ورژن 64-bit از اوبونتو 18.04 باشد.
بعد بررسی کنید که آیا سرورتان IPV6 را پشتیبانی میکند یا خیر.
اگر شما خط inet6 ::1/128 scope host را مشاهده نکردید در نتیجه بعد از نصب BigBlueButton نیاز دارید که تنظیمات مربوط به غیر فعال کردن پشتیبانی از IPV6 را در تنظیمات freeswitch تغییر دهید.
سپس، کرنل لینوکس تان را بررسی کنید که ورژن 4.X به بالا باشد.
نکته : BigBlueButton روی kernel 2.6 اجرا نمیشود. (همانند Linux 2.6.32-042stab133.2 روی x86_64 در OpenVZ VPS)
سپس، بررسی کنید که پردازنده شما 8 هسته CPU داشته باشد.
نکته مهم : در صورتیکه سرور شما ایران هست، با کمی محدودیت مواجه هستیم. زمانیکه اسکریپت نصب bigbluebutton را اجرا میکند، جهت دانلود و نصب برخی پکیج ها، میبایست به برخی سرورها یا ریپازیتوری های لینوکس وصل شود که برخی شون ip های ایران را مسدود کردند و هنگام نصب با خطای 403 یا عدم دانلود برخی اپلیکیشن ها مواجه میشوید. ولی اصلا نگران نباشید برای حل مشکل و دور زدن تحریم ها پیشنهاد میشود که از DNS های سایت شکن استفاده کنید یا سرورتان را روی یک تانل VPN خارج از ایران بیندازید که برای نصب پکیج ها با محدودیتی مواجه نشود. فقط در صورتیکه از dns های سایت shecan استفاده کردید بعد از اتمام کار حتما dns های تان را دوباره به همان پیش فرض تغییر دهید. روی سرورهای عملیاتی خیلی توصیه نمیشه از این DNS ها استفاده کنید.
همچنین توصیه میشود مطالعه کنید :
نصب L2TP VPN Server در لینوکس Ubuntu - Debian - CentOS
نحوه اتصال سرور لینوکس از طریق تانل L2TP VPN در ترمینال لینوکس
جهت سرعت بخشیدن به نصب سامانه آموزش آنلاین BigBlueButton ما در این آموزش از DNS های سایت شکن استفاده میکنیم. برای تغییر dns های سرور بیگ بلو باتن فایل تنظیمات شبکه سرور را با استفاده از ویرایشگر متن دلخواه خود باز کنید. در اینجا من از ویرایشگر متن لینوکس vim برای باز کردن فایل کانفیگ های نتورک استفاده میکنم. ممکن است به جای نام 00-installer-config.yaml در سرور شما اسم دیگری باشد که دکمه Tab را چندین بار پشت سر هم بزنید که فایل کانفیگ نتورک تان را نمایش دهد.
باید چیزی شبیه به زیر باشد :
سپس همانند بالا در قسمت nameservers دو خط DNS های زیر را اضافه کنید. البته در سرور شما احتمال 8.8.8.8 و 4.2.2.4 یا هر چیز دیگری باید تعریف شده باشد که با ip های زیر جایگزین کنید.
بعد از ذخیره تغییرات سرویس نتورک را با استفاده از دستور زیر جهت اعمال تغییرات ریست کنید :
همچنین توصیه میشود مطالعه کنید :
نحوه تعریف Ip Address Static در Ubuntu 18.04
جهت اطمینان از اینکه سرور شما از چه DNS هایی استفاده میکند میتوانید از دستور زیر استفاده کنید. همانند شکل در خط آخر میبایست DNS های جدیدی که تعریف کردید نمایش داده شوند.
همچنین قبل از نصب بیگ بلو باتن روی اوبونتو بررسی کنید تنظیمات A رکورد دامنه مربوط به IPv4 و IPV6 (در صورت فعال بودن) انجام شده باشد. اگر شما DNS سرور داخلی ندارید میبایست برای تعریف این رکوردها از شرکت هاستینگ که سرورتان را از آنجا تهیه کردید درخواست کنید که این رکوردها را برای شما ایجاد کنند.
جهت چک کردن اینکه دامنه یا ساب دامنه ای که برای نصب و راه اندازی BigBlueButton در نظر گرفته اید، A record برای IPv4 و IPv6 تعریف شده یا خیر میتوانید از ابزارهای آنلاین یا دستور nslookup استفاده کنید. در صورتیکه همانند تصویر A رکوردها را مشاهده نکردید باید برای تعریف آنها اقدام کنید.
یک نکته دیگر هم که میتوان بررسی کرد مبحث ssh connection timeout هست. پروسه نصب بیشتر از 30 دقیقه زمان میبرد گهگاهی در حین نصب کانکشن ssh من قطع شد. برای حل مشکل میتوانید مدت زمان time out برای ssh را بالا برد. برای این کار فایل تنظیمات سرویس ssh را از مسیر زیر باز کنید :
پارامترهای ClientAliveInterval و ClientAliveCountMax از کامنت خارج کنید و به مقادیر زیر تغییر دهید :
با این کار مدت زمان time out سرویس ssh را تا یک ساعت افزایش میدهیم. برای اعمال تغییرات سرویس ssh را همانند زیر ریستارت کنید :
در آخر شاید برای شما سوال باشد که چرا BigBlueButton از Ubuntu 18.04 64-bit استفاده میکند این است که، انتخاب کیفیت نسبت به کمیت اهمیت بیشتری دارد و بهتر است برای اینکه پروژه یک نسخه استیبل و به خوبی تست و مستند شده داشته باشد، باید از یک نسخه خاصی از لینوکس استفاده شود که واقعا خوب کار کند، نه اینکه که از انواع ورژن های لینوکسی پشتیبانی کند و روی هیچکدام از آنها به خوبی کار نکند.
آموزش نصب BigBlueButton
برای نصب BigBlueButton از اسکریپ bbb-install.sh استفاده میکنیم. (برای ورژن های قبلی با دستور العمل مرحله به مرحله مواجه بودیم، ولی در این ورژن همه مراحل به صورت اتوماتیک و توسط یک اسکریپت نصب انجام خواهد شد و نرم افزار بیگ بلو باتن به همراه پیش نیازهایش دانلود خواهد شد. به هر حال اگر شما بخواهید که همه مراحل انجام شده توسط اسکریپت bbb-install.sh را ببینید، میتوانید سورس کد این اسکریپت را در گیت هاب مشاهده کنید.)
لینک بالا اطلاعات تکمیلی در مورد استفاده از اسکریپت را به شما نمایش میدهد، به عنوان یک مثال دستور زیر BigBlueButton 2.3 را روی دامنه bbb.example.com و آدرس ایمیل notice@example.com (برای Let's Encrypt) نصب میکند. این دستور آخرین ورژن BigBlueButton 2.3 را با استفاده از آپشن -v bionic-23 نصب میکند. (در صورتیکه این دستور مجدد بعد از نصب اجرا شود سرویس بیگ بلو باتن شما را upgrade (به روز رسانی) میکند).
نکته مهم : بیگ بلو باتن را به چندین مدل میتوان نصب کرد.
روش اول : نصب BBB به تنهایی و انجام تنظیمات اولیه فایروال و گواهینامه SSL میباشد. در این روش هیچ گونه کنترل پنلی وجود ندارد و فقط سرویس بیگ بلو باتن به همراه تمام پیش نیازهایش نصب و راه اندازی میشود و شما برای استفاده از BigBlueButton نیازمند استفاده از ابزارهای 3rd Party دیگر هستید که در جلوتر به این موضوع پرداخته میشود.
روش دوم : نصب BigBlueButton به همراه دموهای آن هست. همانند روش اول، بعد از نصب BBB یک محیط دمو هم جهت بررسی و تست و انجام مواردی جهت پرزنت کردن برای شما نصب میشود. بعد از نصب یک پنل دمو از یک کلاس یا جلسه تستی به صورت واقعی در اختیار شما گذاشته میشود و از طریق آدرس سرور میتوانید دوستان تان را به آن جلسه دعوت و جلسه آنلاین خود را برگزار کنید. همه امکانات Room / Class واقعی را دارد فقط چون دمو هست همه به آن دسترسی دارند و هر کسی میتواند به راحتی به جلسه شما محلق شده یا از محیط جلسه ای دمویی که ایجاد شده استفاده کند. (البته روی محیط های عملیاتی دموی بیگ بلو باتن را نصب نمیکنند چون به صورت پابلیک هست و هر کسی میتواند به راحتی از سرویس بیگ بلو باتن شما استفاده کند. در صورتیکه نصب هست نحوه حذف BigBlueButton API Demo ها را در جلوتر انجام میدهیم.) برای نصب Demo ها از آپشن -a استفاده میشود.
روش سوم : نصب بیگ بلو باتن به همراه کنترل پنل Greenlight میباشد. همانند روش اول بعد از نصب بیگ بلو باتن، پنل Greenlight را نیز برای ما نصب خواهد کرد. در صورتیکه شما نخواهید از ابزارهای 3rd Party برای ساخت، مدیریت و حذف کلاس ها در BigBlueButton استفاده کنید، میتوانید کنترل پنل گرین لایت بیگ بلو باتن را نصب و راه اندازی کنید. بعد از راه اندازی بیگ بلو باتن بعلاوه نصب گرین لایت یک کنترل پنل در اختیار شما گذاشته میشود که بر خلاف Moodle امکانات زیادی ندارد ولی شما میتوانید کلاس ها، جلسات و کاربران مورد نیاز خود را بسازید که آنها بتوانند به کلاس آنلاین یا جلسه آنلاین شما ملحق شوند. برای نصب Greenlight میتوانید از آپشن -g همانند زیر استفاده کنید.
تمام روش هایی که در بالا گفته شده را میتوانید از طریق ویدیو اموزش نصب bigbluebutton که در ابتدای آموزش میباشد را مشاهده کنید. در اینجا من بیگ بلو باتن را به همراه API دمو توسط آپشن -a و همچنین انجام تنظیمات اولیه firewall با آپشن -w نصب و راه اندازی میکنیم. در صورتیکه شما روش دیگری میخواهید نصب کنید دستوری که در بخش مربوطه گذاشته شده است را اجرا کنید همچنین فراموش نکنید به جای bbb.example.com آدرس دامنه خود را وارد کنید و به جای notice@example.com آدرس ایمیل تان را جایگزین کنید.
بعد از اجرای دستور بالا عملیات دانلود و نصب پکیج ها به صورت تمام اتوماتیک انجام خواهد شد. شما نیاز نیست کاری انجام دهید و این عملیات ممکن است بسته به سرعت اینترنت حدود 30 الی 45 دقیقه زمان ببرد. تا اتمام کار شما میتوانید یک فنجان قهوه یا چایی میل کنید. 🍵☕ بعد از اینکه کار اسکریپت bbb-install.sh تمام شد، در انتهای خروجی نصب لینک پنل دمو در بیگ بلو باتن را برای شما نمایش میدهد که باید خروجی شبیه به زیر مشاهده نمایید.
همچنین شما میتوانید جهت تست و بررسی وضعیت سرور و بیگ بلو باتن از دستور bbb-conf --check استفاده کنید. زمانیکه این دستور را اجرا میکنید خروجی شبیه به زیر مشاهده نمایید که همانند خروجی نمایش داده شده بعد از نصب میباشد.
در صورت وجود مشکل در قسمت Potential problems described below ممکن است error های مربوط به پیکربندی و یا error های مربوط به نصب را نمایش دهد. همچنین پیغام ها به شما ترفند و توصیه هایی برای نحوه حل این مشکلات پیشنهاد میدهد.
نکته : فراموش نکنید بعد از اتمام نصب DNS های خود را به ip های پیش فرض تغییر دهید.
شما میتوانید با استفاده از دستور sudo bbb-conf --status تمام پروسس یا سرویس های BBB را بررسی کنید و از وضعیت آنها که start یا running باشد مطلع باشید.
همچنین میتوانید از دستور dpkg -l | grep bbb- به منظور لیست کردن همه پکیج های core در BigBlueButton استفاده کنید. (بسته به ورژنی که استفاده میکنید ممکن است پکیج ها متفاوت باشد)
با استفاده از دموهای API که نصب کردید (توسط آپشن -a) میتوانید آدرس https://your-domain/ را در مرورگر خود وارد کنید (که باید آدرس دامنه ای که قبلا در دستور `bbb-install.sh` مشخص کردید را وارد نمایید) که پنل بیگ بلو باتن باز شود.
سپس نام خود را وارد نموده و بعد از آن روی کلید "Join" کلیک کنید تا به دموی جلسات (Demo Meeting) هدایت شوید. زمان وارد شدن به کلاس یا جلسه نحوه ورود به کلاس را باید انتخاب کنید. مثلا اگر میخواهید فقط شنونده باشید روی آیکون Listen only کلیک کنید و در صورتیکه هم میخواهید شنونده باشید و هم بتوانید با میکروفون صحبت کنید، آیکون Microphone را انتخاب کنید. البته بعد از ورود مجددا این موارد قابل تنظیم هستند و شما میتوانید هر کدام را که بخواهید در طول کلاس / جلسه یا کنفرانس آنلاین میکروفون خود را فعال یا غیر فعال کنید.
در این بخش هم یک صدای تستی برای شما جهت تست هدست و میکروفون تان پخش خواهد شد و از شما میخواهد در صورتیکه صدا را شنیدید روی آیکون Yes کلیک کنید.
بعد از انجام مراحل بالا وارد محیط big blue button میشوید. در کادر سمت چپ لیست افرادی که به این کلاس وارد شدند را میتوانید مشاهده کنید. و از قسمت Send message هم میتوانید به صورت پابلیت با همکلاسی ها خود چت کنید. همچنین اگر روی دکمه Start recording بزنید جلسه شما شروع به رکورد شدن خواهد شد و تمام صحبت ها و چت هایی انجام شده در آخر به صورت یک ویدیو کامل در اختیارتان قرار داده میشود.
این پلتفرم رایگان آموزش مجازی کلی امکانات بینظیر دیگر برای اساتید، معلمان و دانشجویان جهت برگزاری دوره های Online مانند حضور و غیاب و ساخت اتاق در بیگ بلو باتن، نظر سنجی، به اشتراک گذاری دسکتاپ و فایل یا ویدیو و غیره را دارد که در یک تاپیک دیگر سعی میکنم آموزش بیگ بلو باتن را کمی باز تر کنم و امکانات BigBlueButton را با همدیگر بررسی کنیم.
نحوه حذف API Demo ها
بعد از انجام بررسی ها و تست های مورد نیاز، میتوانید API های دمو را با استفاده از دستور زیر حذف کنید.
شما میتوانید جهت مدیریت دانش آموزان، دانشجویان، معلمان، کلاس ها یا جلسات آنلاین و ساخت اتاق های مختلف در بیگ بلو باتن را در کنار یکی از ابزارهای 3rd party مانند سیستم مدیریت آموزش آنلاین Moodle و غیره استفاده کنید. بعد از نصب و راه اندازی تنها کافیست که آدرس سرور و توکن بخش Secret مربوط به bigbluebutton را در تنظیمات Moodle وارد نمایید که اتصال بین این دو پلتفرم برقرا شود.
با استفاده از دستور bbb-conf --secret برای نمایش این اطلاعات استفاده کنید.
همچنین توصیه میشود مطالعه کنید :
نحوه نصب سیستم مدیریت آموزش آنلاین Moodle
لینک به API-Mate با وارد کردن آدرس https://mconf.github.io/api-mate/ باز خواهد شد و به شما این امکان را میدهد که API calls های معتبر (valid) به سمت سرورتان ارسال کنید و با این روش شما میتوانید به راحتی و بدون نیاز به API های دمو سرورتان را تست کنید.
پیکربندی Firewall (در صورت نیاز)
آیا بین شما و کاربران تان یک فایروال وجود دارد؟ اگر این چنین است لطفا تنظیمات فایروال خود را پیکربندی کنید.
آپگرید BigBlueButton 2.3
شما میتوانید با اجرا کردن دوباره اسکریپت bbb-install.sh بیگ بلو باتن را upgrade کنید. این دستور آخرین نسخه BigBlueButton 2.3 را دانلود و نصب خواهد کرد.
آپگرید از BigBlueButton 2.2
اگر شما BigBlueButton 2.2 را آپدیت میکنید. ما توصیه میکنیم که سرور Ubuntu 18.04 جدید راه اندازی کنید و فایل های رکورد ورژن 2.2 را به ورژن 2.3 انتقال دهید.
نحوه Restart سرویس BigBlueButton
شما میتوانید سرویس های BigBlueButton خود را در هر زمانی با استفاده از دستورات زیر ریستارت و سپس وضعیت آنرا چک کنید.
دستور bbb-conf --check یکسری از لاگ فایل ها را به منظور بررسی پیغام های خطا اسکن میکند. همانطور که در بالاتر گفته شد، هر گونه خروجی که به دنبال بخش Potential problems نمایش داده شود ممکن است که نشان دهنده خطاهای NAT یا پیکربندی باشد. در موارد زیادی این پیام ها به شما ترفند و توصیه هایی درباره نحوه حل مشکلات مطرح میکند.
و اما مراحل بعد از نصب
اگر شما این سرور را برای یک محیط عملیاتی نصب و راه اندازی میکنید باید موارد زیر را بررسی کنید.
در اینجا دو سرور برای تست و آزمایش در اختیار عموم قرار داده شده است که از طریق لینک های زیر قابل دسترس میباشد :
برای کسب اطلاعات بیشتر درباره ترکیب و ادغام BigBlueButton با اپلیکیشن های custome خودتان میتوانید مستندات BigBlueButton API را بررسی کنید. برای مشاهده فیلم های مربوط به HTML5 BigBlueButton هم از صفحه https://bigbluebutton.org/html5 دیدن فرمایید.
سایز گزینه های نصب
در انجمن BigBlueButton اعضای بیشماری وجود دارند که هر کدام گزینه های زیادی را برای نصب فراهم کردند.
راه اندازی از طریق Ansible
اگر شما به دنبال راه اندازی یک محیط در مقیاس بزرگ از بیگ بلو باتن با استفاده از scalelite هستید در نتیجه برای مدیریت سرورهای شما بهترین راه استفاده از ابزاری به نام Ansible است. و اما دلایلی برای نیاز به محیط نصبی ذکر شده در بالا :
به راحتی قابل تنظیم است : تنظیمات شخصی شما در زمانیکه شما آپگرید میکنید به صورت اتوماتیک جایگزین خواهد شد.
parity روی ماشین ها : یکسان بودن کانفیگ تمام ماشین ها شما را مطمئن میکند که دقیقا ورژن یکسانی از BigBlueButton را روی هر سروری نصب میکند.
حذف خطای انسانی در تنظیمات : با استفاده از اسکریپت BBB-install.sh یا روش های مرحله به مرحله، بسیار مستعد خطای انسانی هستید در حالیکه شما میتوانید به آسانی فراموش کنید که آیا یک تنظیمی را فعال کرده اید و یا به جای y مقدار x را وارد کرده اید و ....
به طور کامل کل پروسه را خودکار کنید : با اتوماتیک کردن این فرآیند شما به طور ذاتی زمان خود را روی عیب یابی های آزار دهنده و صرف ساعت های طولانی در تنظیمات دستی ذخیره میکنید.
به راحتی قابل گسترش هست : شما میتوانید یک نسخه مشابه از BigBlueButton Server خود را در کمتر از 15 دقیقه و بدون نیاز به ورودی از سمت کاربر و همچنین با استفاده از تنظیمات از پیش تعریف شده و آماده به کار را داشته باشید.
این روش را اگر از قبل با دانش فنی زیادی روی BigBlueButton، Scalelite و Greenlight و همچنین سایر قالب های front-end دیگر راحت هستید انتخاب کنید و برای مثال هایی برای ایجاد محیط نصب خود به زیر رجوع کنید.
نکته : این مثال ها توسط توسعه دهندگان رسمی BBB توسعه داده نشده و نگهداری نمیشوند اینها در حقیقت منابعی هستند که در انجمن ها وجود دارند و به صلاحدید خود استفاده کنید.
دو مورد زیر بیگ بلوباتن را روی سرور شما به شیوه ای پایدار نصب خواهد کرد شما میتوانید متغییرهایی را نیز تعریف کنید. مانند اینکه آیا گرین لایت هم نصب شود یا خیر و همچنین کدام پورت ها برای TURN استفاده شود و غیره. به صورت کاربردی کاملا شبیه به اسکریپت BBB-install.sh میباشد اما در سطح بالایی به صورت اتوماتیک کار خود را انجام خواهد داد.
راه اندازی BigBlueButton در مقیاس بزرگتر شامل بسته های دیگری هم علاوه بر پکیج های هسته BigBlueButton باشد. این پکیج ها شامل scale light, green light, database, backkup ها و تنظیمات nginx و موارد دیگر میباشد.
سفارشی سازی ها :
افزایش تعداد recording workers ها
ورژن های قبلی BigBlueButton برای پردازش فایل های recording تنها از یک Tread استفاده میکردند. BigBlueButton ورژن 2.3 از resque برای ایجاد چندین recording workers به منظور پردازش این رکوردها استفاده میکند.
به صورت پیش فرض فایل /usr/lib/systemd/system/bbb-rap-resque-worker.service یک worker برای recording تعریف میکند.
اگر شما بخواهید که سه recording workers همزمان داشته باشید، برای مثال، مراحل زیر به شما نحوه اضافه کردن یک فایل systemd در مسیر /etc/systemd/system/bbb-rap-resque-worker.service.d/override.conf را نمایش میدهد که پارامتر Environment=COUNT=3 را در آن تعریف کنید و سرویس bbb-rap-resque-worker.service را ریستارت میکند.
نکته : ما متوجه شدیم که در صورت فعال بودن پارامترهای defaultKeepEvents یا meetingKeepEvents در bbb-web یک مشکلی رخ میدهد که به صورت همزمان تنها یک worker میتواند کار بکند که این مورد در دست بررسی است. برای کسب اطلاعات بیشتر میتوانید به این لینک رجوع کنید.
همانطور که در بالا میبینید، وضعیت سرویس systemctl status bbb-rap-resque-worker.service نشان میدهد که سه resque workers آماده به پردازش 3 رکورد صدا به صورت همزمان هستند.
نصب فرمت های اضافی برای پردازش recording
علاوه بر فرمت presentation که به صورت پیش فرض نصب و فعال میباشد گزینه های بیشتری برای فرمت های رکوردینگ در BigBlueButton موجود است.
اسکریپت های پردازشی و فایل های پشتیبانی از playback برای این فرمت های رکوردینگ را میتوان از طریق پکیج های با نام bbb-playback-formatname نصب کرد. (مثلا bbb-playback-notes)
مشکلی که در حال حاضر وجود دارد این است که این فرمت های رکوردینگ زمانی که نصب میشوند به صورت اتوماتیک فعال نیستند. برای مشاهده جزئیات اینجا را ببینید.
به منظور فعال کردن فرمت های رکورد به صورت دستی شما نیاز است فایل /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml را وایرایش کنید. بخش steps: را بررسی کنید. در این بخش workflow مربوط به پردازش رکوردینگ تعریف شده است که شامل مراحلی که برای پردازش رکوردینگ اجرا میشوند و ترتیبی که آنها باید اجرا شوند میباشد.
برای فعال کردن یک فرمت رکوردینگ جدید شما نیاز دارید که یک step جدید با نام process:formatname اضافه کنید که بعد از step با نام captions اجرا میشود و همچنین یک steps جدید با نام publish:formatname اضافه کنید که بعد از process:formatname اجرا میشود. شما ممکن است برای لیست کردن فرمت مجبور باشید بعضی از steps ها را تبدیل کنید.
به طور مثال، در زیر شما یک steps در BigBlueButton 2.3 با فرمت presentation مشاهده میکنید.
اگر شما فرمت رکوردینگ notes را هم فعال کردید، steps باید به چیزی شبیه به زیر تغییر کند :
این الگو را میتوان برای سایر فرمت های رکوردینگ تکرار کرد. توجه کنید که حتما نام های step که در آنها (:) قرار دارد را در دابل کوتیشن (") قرار دهید.
بعد از اینکه شما فایل کانفیگ را ویرایش کردید باید صف پردازش رکوردینگ را restart کنید تا تغییرات شما اعمال شود.
عیب یابی / ایراد یابی
پکیج locales-all موجود نیست : (Package locales-all is not available)
پکیج bbb-libreoffice جهت ایجاد یک docker image برای libreoffice نیاز هست. اگر شما هنگام نصب روی یک شبکه پشت فایروال خطای زیر را مشاهده کردید :
اوبونتو 18.04 از systemd-resolved استفاده میکند که یک local caching resolver ارائه میدهد و آنرا در /etc/resolv.conf ثبت میکند. اگر شما خطای بالا را دریافت کردید و یک name server لوکال دارید مانند 10.11.12.13 آنرا به فایل hosts اضافه کنید.
برای بررسی های بیشتر اینجا را ببینید.
خلاصه :
ما در این مقاله آموزش نصب بیگ بلو باتن را روی Ubuntu 18.04 مرور کردیم. امیدوارم از دیدن مقاله آموزش بیگ بلو باتن لذت برده باشید و در صورت نیاز به مشاوره و راه اندازی میتوانید از طریق صفحه ارتباط با ما درخواست خود را ارسال کنید. اگر سوال، مشکل یا تجربه ای تازه ای درباره پلترفرم BigBlueButton داشتید لطفا آنرا در بخش کامنت ها با ما به اشتراک بگذارید.
شما میتوانید BigBlueButton را روی یک سرور Ubuntu 18.04 64-bit نصب و راه اندازی میکنند. در این مقاله ما به شما نحوه نصب رایگان بیگ بلو باتن را آموزش خواهیم داد.
ویدئو نصب بیگ بلو باتن (BigBlueButton)
قبل از نصب :
توصیه میکنیم که BigBlueButton را روی یک سرور Ubuntu 18.04 64-bit جدید، اختصاصی و تمیز (بدون هیچ نرم افزار از قبل نصب شده ای ، نصب کنید. اگر بخواهید BigBlueButton 2.2 را ارتقا دهید، به شما پیشنهاد میکنیم که از ابتدا یک سرور BigBlueButton 2.3 نصب کنید و بعد از انجام تنظیمات، record های موجود را به آن انتقال دهید.
منظور از یک سرور تمیز، سروری است که از قبل هیچگونه وب سروری یا اپلیکیشن هایی مانند plesk, webadmin, یا apache روی آن نصب نباشد که از پورت 80/443 در حال استفاده باشد. و منظور از اختصاصی (Dedicate) یعنی این سرور برای هر چیز دیگری غیر از BigBlueButton (و احتمالا اپلیکیشن های مرتبط با BigBlueButton مانند Greenlight) استفاده نشود.
حداقل تجهیزات مورد نیاز سرور
برای محیط عملیاتی حداقل تجهیزات زیر توصیه میشود :
- سیستم عامل Ubuntu 18.04 64-bit با Linux Kernel 4.x
- نصب آخرین ورژن Docker
- 16 GB مموری به همراه swap
- 8 CPU هسته, با high single-thread
- 500 GB یا بیشتر برای فضای دیسک و نگهداری رکورد کلاس ها یا جلسات, یا 50GB در صورتیکه رکورد غیر فعال است.
- دسترسی به TCP ports 80 و 443
- دسترسی به UDP ports 16384 - 32768
- پهنای باند 250 Mbits/sec یا بیشتر
- پورت های TCP 80 و 443 توسط سرویس های دیگر وب نباید استفاده شده باشند
- تعریف یک دامنه یا ساب دامین (مانند bbb.example.com) برای گرفتن گواهینامه SSL
- IPV4 و IPV6
- تعریف A رکورد برای دامنه
- دسترسی root به سرور
همچنین به شما توصیه میکنیم که در صورت امکان BigBlueButton را به صورت مستقیم روی یک سرور فیزیکی (Bare physical server) نصب کنید. BBB برای پردازش پکت های ورودی صدا از مرکز تماس FreeSWITCH استفاده میکند و FreeSWITCH در یک محیط غیر ویرچوال بهترین عملکرد را دارد. (همچنین تنظیمات پیشنهادی FreeSWITCH را مشاهده کنید) علاوه بر آن نرم افزار Kurento برای روتینگ جریان های صدا و ویدیو مورد استفاده قرار میگیرد.
همچنین شما میتوانید نصب بیگ بلو باتن را روی یک محیط ویرچوال یا کلود انجام دهید. برای نصب در محیط ویرچوال به شما توصیه میکنیم یک ماشینی که بتوان منابع آن را افزایش داد راه اندازی کنید.
اگر BigBlueButton را برای توسعه لوکال (محیط تستی) خودتان راه اندازی میکنید میتوانید تجهیزات مورد نیاز بالا را دست پایین بگیرید از آنجایی که کاربران خیلی کمی روی سرور ایجاد میکنید. و میتوانید آنها را به دلخواه خود کم و زیاد کنید.
- 4 CPU cores/8 GB of memory
- Installation on a local VM container
- 50G of disk space
- IPV4 address only
همچنین برای استفاده از بیگ بلو باتن نیاز دارید که روی سرور یک گواهینامه SSL نصب کنید. و اما چرا؟ برای کاربرانی که صدا و ویدیو را از کامپیوترشان به اشتراک میگذارند نیاز هست که همه مرورگرها یک گواهینامه معتبر SSL را از سرور دریافت کنند تا به میکروفون یا وب کم کاربر دسترسی از طریق ارتباطات در لحظه (Real-Time) و تحت وب (WEBRTC) داده شود. اگر شما بخواهید به یک سرور BigBlueButton تنها از طریق ip address دسترسی داشته باشید مرورگر دسترسی یوزر BigBlueButton به میکروفون یا وب کم شما را مسدود خواهد کرد و به همین دلیل برای راه اندازی BigBlueButton حتما نیاز به یک دامنه معتبر و گواهینامه SSL میباشد. البته گواهینامه SSL را خود بیگ بلو باتن نصب و راه اندازی خواهد کرد که در جلوتر به آن میپردازیم.
بررسی های قبل از نصب
آیا یک سرور Ubuntu 18.04 64-bit آماده نصب دارید؟ قبل از اینکه نصب BigBlueButton روی اوبونتو را شروع کنید، به منظور اطمینان از اینکه آیا سرورتان حداقل پیش نیازها را دارد یا خیر، یکسری بررسی روی پیکربندی های سیستم را بعمل می آوریم.
با انجام بررسی های بالا به طرز چشم گیری شانس برخورد با مشکل در حین نصب را کاهش میدهیم. ابتدا بررسی میکنیم که locale سیستم مان برابر با en_US.UTF-8 باشد. برای این کار دستور cat را در ترمینال خود اجرا کنید.
کد PHP:
# cat /etc/default/locale
LANG="en_US.UTF-8"
اگر همانند بالا در خروجی دستور عبارت LANG="en_US.UTF-8" را مشاهده نکردید برای تعریف local به en_US.UTF-8 دستورات زیر را اجرا کنید.
کد PHP:
# sudo apt-get install -y language-pack-en
# sudo update-locale LANG=en_US.UTF-8
و سپس کانکشن SSH خود را ببندید و مجددا به سرور لاگین کنید. که برای کانکشن شما تنظیمات local را reload خواهد کرد. دستور بالا را cat /etc/default/locale مجدد اجرا کنید و بررسی کنید که آیا به خط زیر تغییر کرده باشد.
کد PHP:
LANG="en_US.UTF-8"
نکته : اگر یک خط اضافه (LC_ALL=en_US.UTF-8) را دیدید آنرا حذف کنید و مجدد logout و login نمایید.
سپس دستور sudo systemctl show-environment را اجرا کنید و مطمئن شوید که در خروجی LANG=en_US.UTF-8 را مشاهده کنید.
کد PHP:
# sudo systemctl show-environment
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
اگر آنرا مشاهده نکردید دستور زیر را اجرا کنید.
کد PHP:
# sudo systemctl set-environment LANG=en_US.UTF-8
و مجدد دستور زیر را اجرا کنید :
کد PHP:
# sudo systemctl show-environment
و مطمئن شوید که در خروجی مقدار LANG=en_US.UTF-8 را مشاهده کنید.
سپس با استفاده از دستور free -h بررسی کنید که سرورتان حداقل 16GB مموری داشته باشد. در اینجا خروجی سرور ما به شرح زیر میباشد.
کد PHP:
# free -h
total used free shared buff/cache available
Mem: 15G 161M 14G 860K 185M 14G
Swap: 7.0G 0B 7.0G
در اینجا، نشان میدهد که 15GB رم آزاد داریم. که با توجه به 16 گیگ مموری سرور مقدار رم کافی میباشد.
اگر در دستور بالا مقدار mem: را در ستون total کمتر از 15G باشد در نتیجه سرور شما مموری کافی برای اجرای BigBlueButton در محیط عملیاتی ندارد. شما نیاز دارید که مموری سرور را به مقدار حداقل 16G افزایش دهید. (همانطور که در بالا گفتیم اگر در محیط تست یا لوکال هستید مقدار 8G کافیست)
سپس بررسی کنید که سرورتان Ubuntu 18.04 باشد.
کد PHP:
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
همچنین بررسی کنید که سرورتان ورژن 64-bit از اوبونتو 18.04 باشد.
کد PHP:
# uname -m
x86_64
بعد بررسی کنید که آیا سرورتان IPV6 را پشتیبانی میکند یا خیر.
کد PHP:
# ip addr | grep inet6
inet6 ::1/128 scope host
...
اگر شما خط inet6 ::1/128 scope host را مشاهده نکردید در نتیجه بعد از نصب BigBlueButton نیاز دارید که تنظیمات مربوط به غیر فعال کردن پشتیبانی از IPV6 را در تنظیمات freeswitch تغییر دهید.
سپس، کرنل لینوکس تان را بررسی کنید که ورژن 4.X به بالا باشد.
کد PHP:
# uname -r
4.15.0-NNN-generic
نکته : BigBlueButton روی kernel 2.6 اجرا نمیشود. (همانند Linux 2.6.32-042stab133.2 روی x86_64 در OpenVZ VPS)
سپس، بررسی کنید که پردازنده شما 8 هسته CPU داشته باشد.
کد PHP:
# grep -c ^processor /proc/cpuinfo
8
نکته مهم : در صورتیکه سرور شما ایران هست، با کمی محدودیت مواجه هستیم. زمانیکه اسکریپت نصب bigbluebutton را اجرا میکند، جهت دانلود و نصب برخی پکیج ها، میبایست به برخی سرورها یا ریپازیتوری های لینوکس وصل شود که برخی شون ip های ایران را مسدود کردند و هنگام نصب با خطای 403 یا عدم دانلود برخی اپلیکیشن ها مواجه میشوید. ولی اصلا نگران نباشید برای حل مشکل و دور زدن تحریم ها پیشنهاد میشود که از DNS های سایت شکن استفاده کنید یا سرورتان را روی یک تانل VPN خارج از ایران بیندازید که برای نصب پکیج ها با محدودیتی مواجه نشود. فقط در صورتیکه از dns های سایت shecan استفاده کردید بعد از اتمام کار حتما dns های تان را دوباره به همان پیش فرض تغییر دهید. روی سرورهای عملیاتی خیلی توصیه نمیشه از این DNS ها استفاده کنید.
همچنین توصیه میشود مطالعه کنید :
نصب L2TP VPN Server در لینوکس Ubuntu - Debian - CentOS
نحوه اتصال سرور لینوکس از طریق تانل L2TP VPN در ترمینال لینوکس
جهت سرعت بخشیدن به نصب سامانه آموزش آنلاین BigBlueButton ما در این آموزش از DNS های سایت شکن استفاده میکنیم. برای تغییر dns های سرور بیگ بلو باتن فایل تنظیمات شبکه سرور را با استفاده از ویرایشگر متن دلخواه خود باز کنید. در اینجا من از ویرایشگر متن لینوکس vim برای باز کردن فایل کانفیگ های نتورک استفاده میکنم. ممکن است به جای نام 00-installer-config.yaml در سرور شما اسم دیگری باشد که دکمه Tab را چندین بار پشت سر هم بزنید که فایل کانفیگ نتورک تان را نمایش دهد.
کد PHP:
# vim /etc/netplan/00-installer-config.yaml
باید چیزی شبیه به زیر باشد :
کد PHP:
# This is the network config written by 'subiquity'
network:
ethernets:
ens160:
addresses:
- xxx.xxx.xxx.xxx/32
gateway4: xxx.xxx.xxx.xxx
nameservers:
addresses:
- 185.51.200.2
- 178.22.122.100
version: 2
سپس همانند بالا در قسمت nameservers دو خط DNS های زیر را اضافه کنید. البته در سرور شما احتمال 8.8.8.8 و 4.2.2.4 یا هر چیز دیگری باید تعریف شده باشد که با ip های زیر جایگزین کنید.
کد PHP:
- 185.51.200.2
- 178.22.122.100
بعد از ذخیره تغییرات سرویس نتورک را با استفاده از دستور زیر جهت اعمال تغییرات ریست کنید :
کد PHP:
# netplan apply
همچنین توصیه میشود مطالعه کنید :
نحوه تعریف Ip Address Static در Ubuntu 18.04
جهت اطمینان از اینکه سرور شما از چه DNS هایی استفاده میکند میتوانید از دستور زیر استفاده کنید. همانند شکل در خط آخر میبایست DNS های جدیدی که تعریف کردید نمایش داده شوند.
کد PHP:
# systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
12.132.in-addr.arpa
21.132.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens160)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 185.51.200.2
178.22.122.100
همچنین قبل از نصب بیگ بلو باتن روی اوبونتو بررسی کنید تنظیمات A رکورد دامنه مربوط به IPv4 و IPV6 (در صورت فعال بودن) انجام شده باشد. اگر شما DNS سرور داخلی ندارید میبایست برای تعریف این رکوردها از شرکت هاستینگ که سرورتان را از آنجا تهیه کردید درخواست کنید که این رکوردها را برای شما ایجاد کنند.
جهت چک کردن اینکه دامنه یا ساب دامنه ای که برای نصب و راه اندازی BigBlueButton در نظر گرفته اید، A record برای IPv4 و IPv6 تعریف شده یا خیر میتوانید از ابزارهای آنلاین یا دستور nslookup استفاده کنید. در صورتیکه همانند تصویر A رکوردها را مشاهده نکردید باید برای تعریف آنها اقدام کنید.
کد PHP:
$ nslookup learn.linustorvalds.ir
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: learn.linustorvalds.ir
Address: 185.67.102.189
Name: learn.linustorvalds.ir
Address: fe80::20c:29ff:fe8d:182
یک نکته دیگر هم که میتوان بررسی کرد مبحث ssh connection timeout هست. پروسه نصب بیشتر از 30 دقیقه زمان میبرد گهگاهی در حین نصب کانکشن ssh من قطع شد. برای حل مشکل میتوانید مدت زمان time out برای ssh را بالا برد. برای این کار فایل تنظیمات سرویس ssh را از مسیر زیر باز کنید :
کد PHP:
# vim /etc/ssh/sshd_config
پارامترهای ClientAliveInterval و ClientAliveCountMax از کامنت خارج کنید و به مقادیر زیر تغییر دهید :
کد PHP:
ClientAliveInterval 1200
ClientAliveCountMax 3
با این کار مدت زمان time out سرویس ssh را تا یک ساعت افزایش میدهیم. برای اعمال تغییرات سرویس ssh را همانند زیر ریستارت کنید :
کد PHP:
# systemctl restart sshd.service
در آخر شاید برای شما سوال باشد که چرا BigBlueButton از Ubuntu 18.04 64-bit استفاده میکند این است که، انتخاب کیفیت نسبت به کمیت اهمیت بیشتری دارد و بهتر است برای اینکه پروژه یک نسخه استیبل و به خوبی تست و مستند شده داشته باشد، باید از یک نسخه خاصی از لینوکس استفاده شود که واقعا خوب کار کند، نه اینکه که از انواع ورژن های لینوکسی پشتیبانی کند و روی هیچکدام از آنها به خوبی کار نکند.
آموزش نصب BigBlueButton
برای نصب BigBlueButton از اسکریپ bbb-install.sh استفاده میکنیم. (برای ورژن های قبلی با دستور العمل مرحله به مرحله مواجه بودیم، ولی در این ورژن همه مراحل به صورت اتوماتیک و توسط یک اسکریپت نصب انجام خواهد شد و نرم افزار بیگ بلو باتن به همراه پیش نیازهایش دانلود خواهد شد. به هر حال اگر شما بخواهید که همه مراحل انجام شده توسط اسکریپت bbb-install.sh را ببینید، میتوانید سورس کد این اسکریپت را در گیت هاب مشاهده کنید.)
لینک بالا اطلاعات تکمیلی در مورد استفاده از اسکریپت را به شما نمایش میدهد، به عنوان یک مثال دستور زیر BigBlueButton 2.3 را روی دامنه bbb.example.com و آدرس ایمیل notice@example.com (برای Let's Encrypt) نصب میکند. این دستور آخرین ورژن BigBlueButton 2.3 را با استفاده از آپشن -v bionic-23 نصب میکند. (در صورتیکه این دستور مجدد بعد از نصب اجرا شود سرویس بیگ بلو باتن شما را upgrade (به روز رسانی) میکند).
نکته مهم : بیگ بلو باتن را به چندین مدل میتوان نصب کرد.
روش اول : نصب BBB به تنهایی و انجام تنظیمات اولیه فایروال و گواهینامه SSL میباشد. در این روش هیچ گونه کنترل پنلی وجود ندارد و فقط سرویس بیگ بلو باتن به همراه تمام پیش نیازهایش نصب و راه اندازی میشود و شما برای استفاده از BigBlueButton نیازمند استفاده از ابزارهای 3rd Party دیگر هستید که در جلوتر به این موضوع پرداخته میشود.
کد PHP:
# wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -v bionic-23 -s bbb.example.com -e info@example.com
روش دوم : نصب BigBlueButton به همراه دموهای آن هست. همانند روش اول، بعد از نصب BBB یک محیط دمو هم جهت بررسی و تست و انجام مواردی جهت پرزنت کردن برای شما نصب میشود. بعد از نصب یک پنل دمو از یک کلاس یا جلسه تستی به صورت واقعی در اختیار شما گذاشته میشود و از طریق آدرس سرور میتوانید دوستان تان را به آن جلسه دعوت و جلسه آنلاین خود را برگزار کنید. همه امکانات Room / Class واقعی را دارد فقط چون دمو هست همه به آن دسترسی دارند و هر کسی میتواند به راحتی به جلسه شما محلق شده یا از محیط جلسه ای دمویی که ایجاد شده استفاده کند. (البته روی محیط های عملیاتی دموی بیگ بلو باتن را نصب نمیکنند چون به صورت پابلیک هست و هر کسی میتواند به راحتی از سرویس بیگ بلو باتن شما استفاده کند. در صورتیکه نصب هست نحوه حذف BigBlueButton API Demo ها را در جلوتر انجام میدهیم.) برای نصب Demo ها از آپشن -a استفاده میشود.
کد PHP:
### Same as above but also install the API examples for testing.
#
# wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -a -v bionic-23 -s bbb.example.com -e info@example.com
روش سوم : نصب بیگ بلو باتن به همراه کنترل پنل Greenlight میباشد. همانند روش اول بعد از نصب بیگ بلو باتن، پنل Greenlight را نیز برای ما نصب خواهد کرد. در صورتیکه شما نخواهید از ابزارهای 3rd Party برای ساخت، مدیریت و حذف کلاس ها در BigBlueButton استفاده کنید، میتوانید کنترل پنل گرین لایت بیگ بلو باتن را نصب و راه اندازی کنید. بعد از راه اندازی بیگ بلو باتن بعلاوه نصب گرین لایت یک کنترل پنل در اختیار شما گذاشته میشود که بر خلاف Moodle امکانات زیادی ندارد ولی شما میتوانید کلاس ها، جلسات و کاربران مورد نیاز خود را بسازید که آنها بتوانند به کلاس آنلاین یا جلسه آنلاین شما ملحق شوند. برای نصب Greenlight میتوانید از آپشن -g همانند زیر استفاده کنید.
کد PHP:
### Install BigBlueButton with SSL + Greenlight
#
# wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -v bionic-23 -s bbb.example.com -e info@example.com -g
تمام روش هایی که در بالا گفته شده را میتوانید از طریق ویدیو اموزش نصب bigbluebutton که در ابتدای آموزش میباشد را مشاهده کنید. در اینجا من بیگ بلو باتن را به همراه API دمو توسط آپشن -a و همچنین انجام تنظیمات اولیه firewall با آپشن -w نصب و راه اندازی میکنیم. در صورتیکه شما روش دیگری میخواهید نصب کنید دستوری که در بخش مربوطه گذاشته شده است را اجرا کنید همچنین فراموش نکنید به جای bbb.example.com آدرس دامنه خود را وارد کنید و به جای notice@example.com آدرس ایمیل تان را جایگزین کنید.
کد PHP:
# wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v bionic-23 -s bbb.example.com -e notice@example.com -a -w
بعد از اجرای دستور بالا عملیات دانلود و نصب پکیج ها به صورت تمام اتوماتیک انجام خواهد شد. شما نیاز نیست کاری انجام دهید و این عملیات ممکن است بسته به سرعت اینترنت حدود 30 الی 45 دقیقه زمان ببرد. تا اتمام کار شما میتوانید یک فنجان قهوه یا چایی میل کنید. 🍵☕ بعد از اینکه کار اسکریپت bbb-install.sh تمام شد، در انتهای خروجی نصب لینک پنل دمو در بیگ بلو باتن را برای شما نمایش میدهد که باید خروجی شبیه به زیر مشاهده نمایید.
کد PHP:
BigBlueButton Server 2.3.1 (2186)
Kernel version: 4.15.0-140-generic
Distribution: Ubuntu 18.04.5 LTS (64-bit)
Memory: 16424 MB
CPU cores: 8
/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bigbluebutton.web.serverURL: https://bbb.example.com
defaultGuestPolicy: ALWAYS_ACCEPT
svgImagesRequired: true
/etc/nginx/sites-available/bigbluebutton (nginx)
server_name: bbb.example.com
port: 80, [::]:80
port: 443 ssl
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
local_ip_v4: 1.2.3.4
external_rtp_ip: 1.2.3.4
external_sip_ip: 1.2.3.4
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
ext-rtp-ip: $${local_ip_v4}
ext-sip-ip: $${local_ip_v4}
ws-binding: 1.2.3.4:5066
wss-binding: 1.2.3.4:7443
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback_host: bbb.example.com
playback_protocol: https
ffmpeg: 4.2.4-1ubuntu0.1bbb2~18.04
/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
proxy_pass: 1.2.3.4
protocol: http
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
kurento.ip: 1.2.3.4
kurento.url: ws://127.0.0.1:8888/kurento
kurento.sip_ip: 1.2.3.4
localIpAddress: 1.2.3.4
recordScreenSharing: true
recordWebcams: true
codec_video_main: VP8
codec_video_content: VP8
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
build: 1700
kurentoUrl: wss://bbb.example.com/bbb-webrtc-sfu
enableListenOnly: true
sipjsHackViaWs: true
/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
stun: stun.l.google.com:19302
# Potential problems described below
# Warning: The API demos are installed and accessible from:
#
# https://bbb.example.com
#
# and
#
# https://bbb.example.com/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
# apt-get purge bbb-demo
همچنین شما میتوانید جهت تست و بررسی وضعیت سرور و بیگ بلو باتن از دستور bbb-conf --check استفاده کنید. زمانیکه این دستور را اجرا میکنید خروجی شبیه به زیر مشاهده نمایید که همانند خروجی نمایش داده شده بعد از نصب میباشد.
کد PHP:
# bbb-conf --check
BigBlueButton Server 2.3.1 (2186)
Kernel version: 4.15.0-140-generic
Distribution: Ubuntu 18.04.5 LTS (64-bit)
Memory: 16424 MB
CPU cores: 8
/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bigbluebutton.web.serverURL: https://bbb.example.com
defaultGuestPolicy: ALWAYS_ACCEPT
svgImagesRequired: true
/etc/nginx/sites-available/bigbluebutton (nginx)
server_name: bbb.example.com
port: 80, [::]:80
port: 443 ssl
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
local_ip_v4: 1.2.3.4
external_rtp_ip: 1.2.3.4
external_sip_ip: 1.2.3.4
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
ext-rtp-ip: $${local_ip_v4}
ext-sip-ip: $${local_ip_v4}
ws-binding: 1.2.3.4:5066
wss-binding: 1.2.3.4:7443
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback_host: bbb.example.com
playback_protocol: https
ffmpeg: 4.2.4-1ubuntu0.1bbb2~18.04
/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
proxy_pass: 1.2.3.4
protocol: http
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
kurento.ip: 1.2.3.4
kurento.url: ws://127.0.0.1:8888/kurento
kurento.sip_ip: 1.2.3.4
localIpAddress: 1.2.3.4
recordScreenSharing: true
recordWebcams: true
codec_video_main: VP8
codec_video_content: VP8
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
build: 1700
kurentoUrl: wss://bbb.example.com/bbb-webrtc-sfu
enableListenOnly: true
sipjsHackViaWs: true
/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
stun: stun.l.google.com:19302
# Potential problems described below
# Warning: The API demos are installed and accessible from:
#
# https://bbb.example.com
#
# and
#
# https://bbb.example.com/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
# apt-get purge bbb-demo
در صورت وجود مشکل در قسمت Potential problems described below ممکن است error های مربوط به پیکربندی و یا error های مربوط به نصب را نمایش دهد. همچنین پیغام ها به شما ترفند و توصیه هایی برای نحوه حل این مشکلات پیشنهاد میدهد.
نکته : فراموش نکنید بعد از اتمام نصب DNS های خود را به ip های پیش فرض تغییر دهید.
شما میتوانید با استفاده از دستور sudo bbb-conf --status تمام پروسس یا سرویس های BBB را بررسی کنید و از وضعیت آنها که start یا running باشد مطلع باشید.
کد PHP:
# bbb-conf --status
nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
tomcat8 ———————————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
bbb-html5-backend@1 ———► [✔ - active]
bbb-html5-backend@2 ———► [✔ - active]
bbb-html5-frontend@1 ——► [✔ - active]
bbb-html5-frontend@2 ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]
همچنین میتوانید از دستور dpkg -l | grep bbb- به منظور لیست کردن همه پکیج های core در BigBlueButton استفاده کنید. (بسته به ورژنی که استفاده میکنید ممکن است پکیج ها متفاوت باشد)
کد PHP:
# dpkg -l | grep bbb-
ii bbb-apps-akka 2.3.0-102 all BigBlueButton Apps (Akka)
ii bbb-config 1:2.3.0-93 amd64 BigBlueButton configuration utilities
ii bbb-demo 1:2.3.0-9 amd64 BigBlueButton API demos
ii bbb-etherpad 1:2.3.0-51 amd64 The EtherPad Lite components for BigBlueButton
ii bbb-freeswitch-core 2:2.3.0-24 amd64 BigBlueButton build of FreeSWITCH
ii bbb-freeswitch-sounds 1:1.6.7-3 amd64 FreeSWITCH Sounds
ii bbb-fsesl-akka 2.3.0-55 all BigBlueButton FS-ESL (Akka)
ii bbb-html5 1:2.3.0-1842 amd64 The HTML5 components for BigBlueButton
ii bbb-libreoffice-docker 1:2.3.0-56 amd64 BigBlueButton setup for LibreOffice running in docker
ii bbb-mkclean 1:0.8.7-4 amd64 Clean and optimize Matroska and WebM files
ii bbb-playback 1:2.3.0-18 amd64 BigBlueButton playback
ii bbb-playback-presentation 1:2.3.0-13 amd64 BigBluebutton playback of presentation
ii bbb-record-core 1:2.3.0-37 amd64 BigBlueButton record and playback
ii bbb-web 1:2.3.0-94 amd64 BigBlueButton API
ii bbb-webrtc-sfu 1:2.3.0-34 amd64 BigBlueButton WebRTC SFU
با استفاده از دموهای API که نصب کردید (توسط آپشن -a) میتوانید آدرس https://your-domain/ را در مرورگر خود وارد کنید (که باید آدرس دامنه ای که قبلا در دستور `bbb-install.sh` مشخص کردید را وارد نمایید) که پنل بیگ بلو باتن باز شود.
سپس نام خود را وارد نموده و بعد از آن روی کلید "Join" کلیک کنید تا به دموی جلسات (Demo Meeting) هدایت شوید. زمان وارد شدن به کلاس یا جلسه نحوه ورود به کلاس را باید انتخاب کنید. مثلا اگر میخواهید فقط شنونده باشید روی آیکون Listen only کلیک کنید و در صورتیکه هم میخواهید شنونده باشید و هم بتوانید با میکروفون صحبت کنید، آیکون Microphone را انتخاب کنید. البته بعد از ورود مجددا این موارد قابل تنظیم هستند و شما میتوانید هر کدام را که بخواهید در طول کلاس / جلسه یا کنفرانس آنلاین میکروفون خود را فعال یا غیر فعال کنید.
در این بخش هم یک صدای تستی برای شما جهت تست هدست و میکروفون تان پخش خواهد شد و از شما میخواهد در صورتیکه صدا را شنیدید روی آیکون Yes کلیک کنید.
بعد از انجام مراحل بالا وارد محیط big blue button میشوید. در کادر سمت چپ لیست افرادی که به این کلاس وارد شدند را میتوانید مشاهده کنید. و از قسمت Send message هم میتوانید به صورت پابلیت با همکلاسی ها خود چت کنید. همچنین اگر روی دکمه Start recording بزنید جلسه شما شروع به رکورد شدن خواهد شد و تمام صحبت ها و چت هایی انجام شده در آخر به صورت یک ویدیو کامل در اختیارتان قرار داده میشود.
این پلتفرم رایگان آموزش مجازی کلی امکانات بینظیر دیگر برای اساتید، معلمان و دانشجویان جهت برگزاری دوره های Online مانند حضور و غیاب و ساخت اتاق در بیگ بلو باتن، نظر سنجی، به اشتراک گذاری دسکتاپ و فایل یا ویدیو و غیره را دارد که در یک تاپیک دیگر سعی میکنم آموزش بیگ بلو باتن را کمی باز تر کنم و امکانات BigBlueButton را با همدیگر بررسی کنیم.
نحوه حذف API Demo ها
بعد از انجام بررسی ها و تست های مورد نیاز، میتوانید API های دمو را با استفاده از دستور زیر حذف کنید.
کد PHP:
# apt-get purge bbb-demo
شما میتوانید جهت مدیریت دانش آموزان، دانشجویان، معلمان، کلاس ها یا جلسات آنلاین و ساخت اتاق های مختلف در بیگ بلو باتن را در کنار یکی از ابزارهای 3rd party مانند سیستم مدیریت آموزش آنلاین Moodle و غیره استفاده کنید. بعد از نصب و راه اندازی تنها کافیست که آدرس سرور و توکن بخش Secret مربوط به bigbluebutton را در تنظیمات Moodle وارد نمایید که اتصال بین این دو پلتفرم برقرا شود.
با استفاده از دستور bbb-conf --secret برای نمایش این اطلاعات استفاده کنید.
کد PHP:
# bbb-conf --secret
URL: http://bbb.example.com/bigbluebutton/
Secret: 330a8b08c3b4c61533e1d0c334
Link to the API-Mate:
http://mconf.github.io/api-mate/#server=http://bbb.example.com/bigbluebutton/&sharedSecret=330a8b08c3b4c61533e1d0c334
همچنین توصیه میشود مطالعه کنید :
نحوه نصب سیستم مدیریت آموزش آنلاین Moodle
لینک به API-Mate با وارد کردن آدرس https://mconf.github.io/api-mate/ باز خواهد شد و به شما این امکان را میدهد که API calls های معتبر (valid) به سمت سرورتان ارسال کنید و با این روش شما میتوانید به راحتی و بدون نیاز به API های دمو سرورتان را تست کنید.
پیکربندی Firewall (در صورت نیاز)
آیا بین شما و کاربران تان یک فایروال وجود دارد؟ اگر این چنین است لطفا تنظیمات فایروال خود را پیکربندی کنید.
آپگرید BigBlueButton 2.3
شما میتوانید با اجرا کردن دوباره اسکریپت bbb-install.sh بیگ بلو باتن را upgrade کنید. این دستور آخرین نسخه BigBlueButton 2.3 را دانلود و نصب خواهد کرد.
کد PHP:
# bbb-install.sh
آپگرید از BigBlueButton 2.2
اگر شما BigBlueButton 2.2 را آپدیت میکنید. ما توصیه میکنیم که سرور Ubuntu 18.04 جدید راه اندازی کنید و فایل های رکورد ورژن 2.2 را به ورژن 2.3 انتقال دهید.
نحوه Restart سرویس BigBlueButton
شما میتوانید سرویس های BigBlueButton خود را در هر زمانی با استفاده از دستورات زیر ریستارت و سپس وضعیت آنرا چک کنید.
کد PHP:
# bbb-conf --restart
# bbb-conf --check
دستور bbb-conf --check یکسری از لاگ فایل ها را به منظور بررسی پیغام های خطا اسکن میکند. همانطور که در بالاتر گفته شد، هر گونه خروجی که به دنبال بخش Potential problems نمایش داده شود ممکن است که نشان دهنده خطاهای NAT یا پیکربندی باشد. در موارد زیادی این پیام ها به شما ترفند و توصیه هایی درباره نحوه حل مشکلات مطرح میکند.
و اما مراحل بعد از نصب
اگر شما این سرور را برای یک محیط عملیاتی نصب و راه اندازی میکنید باید موارد زیر را بررسی کنید.
- سرور خود را امن کنید و دسترسی به پورت های خاص را محدود کنید.
- سرور را به نحوی کانفیگ کنید که پشت یک فایروال هم کار کند (اگر شما سرور خود را پشت یک فایروال نصب کرده اید که یک ip آدرس public/private دارد باید تنظیمات مرتبط با فایروال را انجام دهید)
- همچنین API های دمو را حذف کنید (اگر شما آنها را بابت محیط تستی نصب کردید بعد از اتمام تست حتما آنها را پاک کنید)
- یک سرور TURN راه اندازی کنید. (اگر سرورتان روی اینترنت است و کاربرانی دارید که از پشت فایروال محدود شده به سرورتان دسترسی دارند)
- تنظیمات HTTPS خود را تست کنید. یک سایت معتبر که میتوانید یکسری از تست های اتوماتیک را انجام دهد سایت https://www.ssllabs.com/ssltest/ است که به سادگی هاست نیم سرور خود را در آن وارد کنید و تیک گزینه “Do not show results” را بزنید اگر که میخواهید این اطلاعات را به صورت خصوصی/شخصی نگهدارید و سپس Submit کنید. در زمانیکه این مقاله نوشته میشود تنظیمات که در این صفحه نمایش داده میشود را میتوان با رنک A در صفحه SSL Lab test به دست آورد.
در اینجا دو سرور برای تست و آزمایش در اختیار عموم قرار داده شده است که از طریق لینک های زیر قابل دسترس میباشد :
- https://demo.bigbluebutton.org/ که همیشه آخرین نسخه استیبل BigBlueButton را در آن مشاهده میکنید.
- https://test.bigbluebutton.org/ که آخرین نسخه (معمولا چند روز قبل از انتشار عمومی که در حال حاضر BigBlueButton 2.3 میباشد را در آن مشاهده نمایید
برای کسب اطلاعات بیشتر درباره ترکیب و ادغام BigBlueButton با اپلیکیشن های custome خودتان میتوانید مستندات BigBlueButton API را بررسی کنید. برای مشاهده فیلم های مربوط به HTML5 BigBlueButton هم از صفحه https://bigbluebutton.org/html5 دیدن فرمایید.
سایز گزینه های نصب
در انجمن BigBlueButton اعضای بیشماری وجود دارند که هر کدام گزینه های زیادی را برای نصب فراهم کردند.
راه اندازی از طریق Ansible
اگر شما به دنبال راه اندازی یک محیط در مقیاس بزرگ از بیگ بلو باتن با استفاده از scalelite هستید در نتیجه برای مدیریت سرورهای شما بهترین راه استفاده از ابزاری به نام Ansible است. و اما دلایلی برای نیاز به محیط نصبی ذکر شده در بالا :
به راحتی قابل تنظیم است : تنظیمات شخصی شما در زمانیکه شما آپگرید میکنید به صورت اتوماتیک جایگزین خواهد شد.
parity روی ماشین ها : یکسان بودن کانفیگ تمام ماشین ها شما را مطمئن میکند که دقیقا ورژن یکسانی از BigBlueButton را روی هر سروری نصب میکند.
حذف خطای انسانی در تنظیمات : با استفاده از اسکریپت BBB-install.sh یا روش های مرحله به مرحله، بسیار مستعد خطای انسانی هستید در حالیکه شما میتوانید به آسانی فراموش کنید که آیا یک تنظیمی را فعال کرده اید و یا به جای y مقدار x را وارد کرده اید و ....
به طور کامل کل پروسه را خودکار کنید : با اتوماتیک کردن این فرآیند شما به طور ذاتی زمان خود را روی عیب یابی های آزار دهنده و صرف ساعت های طولانی در تنظیمات دستی ذخیره میکنید.
به راحتی قابل گسترش هست : شما میتوانید یک نسخه مشابه از BigBlueButton Server خود را در کمتر از 15 دقیقه و بدون نیاز به ورودی از سمت کاربر و همچنین با استفاده از تنظیمات از پیش تعریف شده و آماده به کار را داشته باشید.
این روش را اگر از قبل با دانش فنی زیادی روی BigBlueButton، Scalelite و Greenlight و همچنین سایر قالب های front-end دیگر راحت هستید انتخاب کنید و برای مثال هایی برای ایجاد محیط نصب خود به زیر رجوع کنید.
نکته : این مثال ها توسط توسعه دهندگان رسمی BBB توسعه داده نشده و نگهداری نمیشوند اینها در حقیقت منابعی هستند که در انجمن ها وجود دارند و به صلاحدید خود استفاده کنید.
دو مورد زیر بیگ بلوباتن را روی سرور شما به شیوه ای پایدار نصب خواهد کرد شما میتوانید متغییرهایی را نیز تعریف کنید. مانند اینکه آیا گرین لایت هم نصب شود یا خیر و همچنین کدام پورت ها برای TURN استفاده شود و غیره. به صورت کاربردی کاملا شبیه به اسکریپت BBB-install.sh میباشد اما در سطح بالایی به صورت اتوماتیک کار خود را انجام خواهد داد.
راه اندازی BigBlueButton در مقیاس بزرگتر شامل بسته های دیگری هم علاوه بر پکیج های هسته BigBlueButton باشد. این پکیج ها شامل scale light, green light, database, backkup ها و تنظیمات nginx و موارد دیگر میباشد.
- راه اندازی کامل به همراه ویکی، چت و بک آپ ها
- راه اندازی کامل به همراه frontend روی یک ماشین
- راه اندازی کامل برای یک دانشگاه
- تنظیمات HA کامل با استفاده از PeerTube, Conferences Streaming, EFK, Prometheus, backups
سفارشی سازی ها :
افزایش تعداد recording workers ها
ورژن های قبلی BigBlueButton برای پردازش فایل های recording تنها از یک Tread استفاده میکردند. BigBlueButton ورژن 2.3 از resque برای ایجاد چندین recording workers به منظور پردازش این رکوردها استفاده میکند.
به صورت پیش فرض فایل /usr/lib/systemd/system/bbb-rap-resque-worker.service یک worker برای recording تعریف میکند.
کد PHP:
Environment=COUNT=1
[Unit]
Description=BigBlueButton resque worker for recordings
[Service]
Type=simple
ExecStart=/bin/sh -c '/usr/bin/rake -f ../Rakefile resque:workers >> /var/log/bigbluebutton/bbb-rap-worker.log'
WorkingDirectory=/usr/local/bigbluebutton/core/scripts
Environment=QUEUE=rap:archive,rap:publish,rap:proc ess,rap:sanity,rap:captions
Environment=COUNT=1
# Environment=VVERBOSE=1
User=bigbluebutton
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
اگر شما بخواهید که سه recording workers همزمان داشته باشید، برای مثال، مراحل زیر به شما نحوه اضافه کردن یک فایل systemd در مسیر /etc/systemd/system/bbb-rap-resque-worker.service.d/override.conf را نمایش میدهد که پارامتر Environment=COUNT=3 را در آن تعریف کنید و سرویس bbb-rap-resque-worker.service را ریستارت میکند.
نکته : ما متوجه شدیم که در صورت فعال بودن پارامترهای defaultKeepEvents یا meetingKeepEvents در bbb-web یک مشکلی رخ میدهد که به صورت همزمان تنها یک worker میتواند کار بکند که این مورد در دست بررسی است. برای کسب اطلاعات بیشتر میتوانید به این لینک رجوع کنید.
کد PHP:
# mkdir -p /etc/systemd/system/bbb-rap-resque-worker.service.d
# cat > override.conf << HERE
[Service]
Environment=COUNT=3
HERE
# systemctl daemon-reload
# systemctl restart bbb-rap-resque-worker.service
# systemctl status bbb-rap-resque-worker.service
● bbb-rap-resque-worker.service - BigBlueButton resque worker for recordings
Loaded: loaded (/usr/lib/systemd/system/bbb-rap-resque-worker.service; disabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/bbb-rap-resque-worker.service.d
└─override.conf
Active: active (running) since Sat 2021-01-09 12:19:22 UTC; 6s ago
Main PID: 23630 (sh)
Tasks: 15 (limit: 4915)
CGroup: /system.slice/bbb-rap-resque-worker.service
├─23630 /bin/sh -c /usr/bin/rake -f ../Rakefile resque:workers >> /var/log/bigbluebutton/bbb-rap-worker.log
├─23631 /usr/bin/ruby /usr/bin/rake -f ../Rakefile resque:workers
├─23650 resque-2.0.0: Waiting for rap:archive,rap:publish,rap:process,rap:sanity,rap :captions
├─23651 resque-2.0.0: Waiting for rap:archive,rap:publish,rap:process,rap:sanity,rap :captions
└─23652 resque-2.0.0: Waiting for rap:archive,rap:publish,rap:process,rap:sanity,rap :captions
همانطور که در بالا میبینید، وضعیت سرویس systemctl status bbb-rap-resque-worker.service نشان میدهد که سه resque workers آماده به پردازش 3 رکورد صدا به صورت همزمان هستند.
نصب فرمت های اضافی برای پردازش recording
علاوه بر فرمت presentation که به صورت پیش فرض نصب و فعال میباشد گزینه های بیشتری برای فرمت های رکوردینگ در BigBlueButton موجود است.
- فرمت notes : یادداشت های مشترک از جلسه آنلاین را به صورت یک سند در دسترس قرار میدهد.
- فرمت screenshare : یک فایل ویدیویی جامع از صفحه نمایش و صدای جلسه را ایجاد میکند و به اشتراک میگذارد.
- فرمت podcast : تنها فقط یک رکورد صوتی را ایجاد میکند.
اسکریپت های پردازشی و فایل های پشتیبانی از playback برای این فرمت های رکوردینگ را میتوان از طریق پکیج های با نام bbb-playback-formatname نصب کرد. (مثلا bbb-playback-notes)
مشکلی که در حال حاضر وجود دارد این است که این فرمت های رکوردینگ زمانی که نصب میشوند به صورت اتوماتیک فعال نیستند. برای مشاهده جزئیات اینجا را ببینید.
به منظور فعال کردن فرمت های رکورد به صورت دستی شما نیاز است فایل /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml را وایرایش کنید. بخش steps: را بررسی کنید. در این بخش workflow مربوط به پردازش رکوردینگ تعریف شده است که شامل مراحلی که برای پردازش رکوردینگ اجرا میشوند و ترتیبی که آنها باید اجرا شوند میباشد.
برای فعال کردن یک فرمت رکوردینگ جدید شما نیاز دارید که یک step جدید با نام process:formatname اضافه کنید که بعد از step با نام captions اجرا میشود و همچنین یک steps جدید با نام publish:formatname اضافه کنید که بعد از process:formatname اجرا میشود. شما ممکن است برای لیست کردن فرمت مجبور باشید بعضی از steps ها را تبدیل کنید.
به طور مثال، در زیر شما یک steps در BigBlueButton 2.3 با فرمت presentation مشاهده میکنید.
کد PHP:
steps:
archive: "sanity"
sanity: "captions"
captions: "process:presentation"
"process:presentation": "publish:presentation"
اگر شما فرمت رکوردینگ notes را هم فعال کردید، steps باید به چیزی شبیه به زیر تغییر کند :
کد PHP:
steps:
archive: "sanity"
sanity: "captions"
captions:
- "process:presentation"
- "process:notes"
"process:presentation": "publish:presentation"
"process:notes": "publish:notes"
این الگو را میتوان برای سایر فرمت های رکوردینگ تکرار کرد. توجه کنید که حتما نام های step که در آنها (:) قرار دارد را در دابل کوتیشن (") قرار دهید.
بعد از اینکه شما فایل کانفیگ را ویرایش کردید باید صف پردازش رکوردینگ را restart کنید تا تغییرات شما اعمال شود.
کد PHP:
# systemctl restart bbb-rap-resque-worker.service
عیب یابی / ایراد یابی
پکیج locales-all موجود نیست : (Package locales-all is not available)
پکیج bbb-libreoffice جهت ایجاد یک docker image برای libreoffice نیاز هست. اگر شما هنگام نصب روی یک شبکه پشت فایروال خطای زیر را مشاهده کردید :
کد PHP:
Package locales-all is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'locales-all' has no installation candidate
E: Unable to locate package libxt6
E: Unable to locate package libxrender1
The command '/bin/sh -c apt -y install locales-all fontconfig libxt6 libxrender1' returned a non-zero code: 100
dpkg: error processing package bbb-libreoffice-docker (--configure):
installed bbb-libreoffice-docker package post-installation script subprocess returned error exit status 100
اوبونتو 18.04 از systemd-resolved استفاده میکند که یک local caching resolver ارائه میدهد و آنرا در /etc/resolv.conf ثبت میکند. اگر شما خطای بالا را دریافت کردید و یک name server لوکال دارید مانند 10.11.12.13 آنرا به فایل hosts اضافه کنید.
کد PHP:
# echo "nameserver 10.11.12.13" > /etc/resolv.conf
برای بررسی های بیشتر اینجا را ببینید.
خلاصه :
ما در این مقاله آموزش نصب بیگ بلو باتن را روی Ubuntu 18.04 مرور کردیم. امیدوارم از دیدن مقاله آموزش بیگ بلو باتن لذت برده باشید و در صورت نیاز به مشاوره و راه اندازی میتوانید از طریق صفحه ارتباط با ما درخواست خود را ارسال کنید. اگر سوال، مشکل یا تجربه ای تازه ای درباره پلترفرم BigBlueButton داشتید لطفا آنرا در بخش کامنت ها با ما به اشتراک بگذارید.