راهنمای فنی BigBlueButton 3.0
نصب و پیکربندی بیگ بلو باتن روی سرور لینوکس، روشی مناسب برای سازمانها، آموزشگاهها، مدارس و دانشگاههایی است که به زیرساخت مستقل کلاس آنلاین نیاز دارند. BigBlueButton یک پلتفرم متنباز آموزشی است، اما برای استفاده عملیاتی به سرور مناسب، دامنه، گواهی SSL، تنظیمات شبکه، فضای ذخیرهسازی و نگهداری فنی نیاز دارد.
این راهنما براساس BigBlueButton 3.0 و Ubuntu 22.04 تنظیم شده است و مراحل بررسی سرور، آمادهسازی DNS، تنظیم فایروال، اجرای اسکریپت رسمی نصب، راهاندازی Greenlight و رفع خطاهای رایج را توضیح میدهد.
برای نصب BigBlueButton 3.0 به چه سروری نیاز داریم؟ برای محیط عملیاتی بهتر است از یک سرور تمیز و اختصاصی Ubuntu 22.04 نسخه ۶۴ بیتی با حداقل ۸ هسته پردازنده، ۱۶ گیگابایت RAM، پهنای باند متقارن مناسب و دامنه معتبر استفاده شود. پورتهای 80 و 443 در TCP و بازه 16384 تا 32768 در UDP نیز باید در دسترس باشند.
بیگ بلو باتن چیست؟
بیگ بلو باتن یا BigBlueButton یک نرمافزار متنباز برای برگزاری کلاس آنلاین، وبینار و جلسات آموزشی است. این سامانه ابزارهایی مانند ارائه فایل، تخته سفید تعاملی، اشتراک صفحه، نظرسنجی، گفتوگوی عمومی و خصوصی، اتاقهای گروهی، مدیریت کاربران و ضبط جلسات را در اختیار مدرس قرار میدهد.
BigBlueButton برخلاف یک نرمافزار دسکتاپ معمولی روی رایانه مدرس نصب نمیشود. این سامانه روی یک سرور لینوکسی اجرا میشود و کاربران از طریق مرورگر وارد محیط کلاس میشوند. به همین دلیل کیفیت پردازنده، شبکه، دیسک و تنظیمات سرور بر تجربه کاربران اثر مستقیم دارد.
متنباز بودن
برای خود نرمافزار هزینه لایسنس پرداخت نمیشود، اما سرور، پهنای باند، نصب و پشتیبانی همچنان هزینه دارند.
طراحیشده برای آموزش
ابزارهای داخلی سامانه برای تدریس، ارائه محتوا و مشارکت کاربران طراحی شدهاند.
قابلیت اتصال به LMS
امکان اتصال به Moodle، سامانههای اختصاصی و نرمافزارهای مدیریت آموزش از طریق API وجود دارد.
کنترل زیرساخت
با سرور اختصاصی، کنترل بیشتری روی دامنه، تنظیمات، ظرفیت و فایلهای ضبطشده خواهید داشت.
آمادهسازی صحیح سیستمعامل، دامنه و شبکه پیش از نصب، احتمال بروز خطاهای BigBlueButton را کاهش میدهد.
پیشنیازهای نصب BigBlueButton 3.0
برای محیط عملیاتی باید یک سرور تمیز در اختیار داشته باشید. منظور از سرور تمیز، سیستمی است که Apache، Plesk، DirectAdmin، cPanel یا وبسرور دیگری روی پورتهای 80 و 443 آن فعال نباشد.
| منبع |
مقدار پیشنهادی |
توضیح |
| سیستمعامل |
Ubuntu 22.04 نسخه ۶۴ بیتی |
نسخه 3.0 برای Ubuntu 22.04 با نام Jammy ارائه میشود. |
| پردازنده |
حداقل ۸ هسته |
عملکرد تکهستهای پردازنده و اختصاصی بودن منابع اهمیت زیادی دارد. |
| حافظه RAM |
حداقل ۱۶ گیگابایت همراه Swap |
برای چند کلاس یا دوربینهای متعدد، منابع بیشتری لازم است. |
| فضای دیسک |
۵۰ گیگ بدون ضبط یا حدود ۵۰۰ گیگ برای ضبط |
میزان فضای واقعی به تعداد جلسات و مدت نگهداری فیلمها بستگی دارد. |
| پهنای باند |
حداقل ۲۵۰ مگابیت متقارن |
سرعت آپلود و دانلود هر دو برای WebRTC اهمیت دارند. |
| دامنه |
دامنه یا زیردامنه معتبر |
دامنه باید به IP عمومی سرور اشاره کند تا SSL صادر شود. |
| پورت TCP |
22، 80 و 443 |
پورت SSH میتواند متناسب با تنظیمات سرور متفاوت باشد. |
| پورت UDP |
16384 تا 32768 |
برای انتقال جریانهای صوتی و تصویری استفاده میشود. |
هشدار مهم: ظرفیت یک سرور را نمیتوان فقط با تعداد کاربران تعیین کرد. تعداد کلاسهای همزمان، وبکمهای فعال، کیفیت تصویر، اشتراک صفحه و ضبط جلسات نیز بر مصرف منابع اثر میگذارند.
مرحله اول: بررسی سرور پیش از نصب
ابتدا با دسترسی Root یا کاربری که مجوز sudo دارد وارد سرور شوید. سپس نسخه سیستمعامل، معماری پردازنده، RAM، تعداد هستهها و فضای دیسک را بررسی کنید.
بررسی مشخصات سرور
cat /etc/lsb-release
uname -m
uname -r
free -h
grep -c ^processor /proc/cpuinfo
df -h
در خروجی باید Ubuntu 22.04، معماری `x86_64`، حداقل ۱۶ گیگابایت RAM و حداقل ۸ هسته پردازنده مشاهده شود.
بررسی اشغال نبودن پورتهای وب
بررسی پورتهای 80 و 443
sudo ss -tulpn | grep -E ':(80|443)\b'
اگر Apache، Nginx یا کنترلپنل دیگری از این پورتها استفاده میکند، قبل از نصب باید آن سرویس را حذف یا زیرساخت BigBlueButton را روی سرور مجزایی راهاندازی کنید.
بررسی Locale سیستم
بررسی Locale
cat /etc/default/locale
sudo systemctl show-environment | grep LANG
مقدار پیشنهادی برای Locale برابر `en_US.UTF-8` است. اگر مقدار دیگری مشاهده میکنید، از دستورات زیر استفاده کنید:
تنظیم Locale
sudo apt-get install -y language-pack-en
sudo update-locale LANG=en_US.UTF-8
sudo systemctl set-environment LANG=en_US.UTF-8
نکته: پس از تغییر Locale، یکبار از SSH خارج شده و دوباره وارد شوید تا تنظیمات جدید در نشست شما بارگذاری شود.
مرحله دوم: تنظیم دامنه و DNS
یک زیردامنه مانند `bbb.example.com` ایجاد کنید و رکورد A آن را به IP عمومی سرور متصل نمایید. صدور گواهی SSL زمانی موفق خواهد بود که دامنه از اینترنت به همان سرور اشاره کند.
ایجاد زیردامنه
در پنل DNS دامنه، یک رکورد A برای زیردامنه مورد نظر ایجاد کنید.
اتصال دامنه به IP
مقدار رکورد A باید برابر IP عمومی سرور BigBlueButton باشد.
انتظار برای انتشار DNS
انتشار تغییرات DNS ممکن است از چند دقیقه تا چند ساعت زمان ببرد.
بررسی نتیجه
پیش از نصب مطمئن شوید دامنه از داخل و خارج سرور به IP درست Resolve میشود.
بررسی DNS و Hostname
hostname -f
getent hosts bbb.example.com
curl -4 ifconfig.me
قبل از اجرای دستور نصب: عبارت `bbb.example.com` را با دامنه واقعی خود جایگزین کنید. از قراردادن دامنه نمونه در دستور نصب خودداری نمایید.
مرحله سوم: تنظیم فایروال و پورتها
در سادهترین حالت، سرور باید یک IP عمومی مستقیم داشته باشد. اگر سرور پشت NAT یا فایروال خارجی قرار دارد، پورتها باید به IP داخلی سرور Forward شوند.
| پورت |
پروتکل |
کاربرد |
| 22 یا پورت سفارشی SSH |
TCP |
مدیریت سرور از طریق SSH |
| 80 |
TCP |
HTTP و فرایند صدور یا تمدید SSL |
| 443 |
TCP |
ورود امن کاربران و WebSocket |
| 16384 تا 32768 |
UDP |
رسانههای صوتی و تصویری WebRTC |
در صورتی که UFW را بهصورت دستی مدیریت میکنید، ابتدا پورت SSH را باز کرده و سپس سایر قوانین را اضافه کنید:
نمونه قوانین UFW
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 16384:32768/udp
sudo ufw enable
sudo ufw status numbered
اگر پورت SSH شما 22 نیست: قبل از فعالکردن UFW، پورت سفارشی SSH را باز کنید؛ در غیر این صورت ممکن است دسترسی شما به سرور قطع شود.
مرحله چهارم: بهروزرسانی Ubuntu
پیش از نصب، فهرست بستههای Ubuntu را بهروزرسانی کنید. اگر بهروزرسانی کرنل انجام شد، بهتر است سرور را یکبار Restart کنید.
بهروزرسانی سیستمعامل
sudo apt update
sudo apt full-upgrade -y
sudo reboot
بعد از راهاندازی مجدد، دوباره از طریق SSH وارد سرور شوید و ادامه مراحل را انجام دهید.
مرحله پنجم: نصب BigBlueButton 3.0
روش پیشنهادی، استفاده از اسکریپت رسمی `bbb-install.sh` است. این اسکریپت پیشنیازها را بررسی و بستههای مورد نیاز را نصب میکند.
قبل از اجرای دستور: مقدار `bbb.example.com` را با دامنه واقعی و `admin@example.com` را با ایمیل معتبر خود جایگزین کنید. گواهی Let’s Encrypt با همین دامنه و ایمیل صادر میشود.
نصب BigBlueButton همراه SSL و فایروال
نصب BigBlueButton 3.0
sudo -i
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v3.0.x-release/bbb-install.sh | bash -s -- -w -v jammy-300 -s bbb.example.com -e admin@example.com
-w تنظیم UFW
قوانین پایه فایروال را در فرایند نصب اعمال میکند.
-v انتخاب نسخه
مقدار `jammy-300` نسخه 3.0 برای Ubuntu 22.04 است.
-s دامنه سرور
نام دامنهای را مشخص میکند که کاربران با آن وارد میشوند.
-e ایمیل SSL
برای صدور و مدیریت گواهی Let’s Encrypt استفاده میشود.
فایروال اختصاصی دارید؟ در صورتی که قوانین UFW یا فایروال خارجی را خودتان مدیریت میکنید، گزینه `-w` را پس از بررسی مستندات رسمی حذف کنید و پورتها را بهصورت دستی باز نگه دارید.
مرحله ششم: بررسی صحت نصب
پس از پایان نصب، دستور زیر را اجرا کنید. این دستور تنظیمات BigBlueButton، دامنه، SSL، سرویسها، IP و وضعیت بخشهای اصلی را بررسی میکند.
بررسی تنظیمات BigBlueButton
sudo bbb-conf --check
بررسی وضعیت سرویسها
وضعیت سرویسهای BBB
sudo bbb-conf --status
بررسی API سرور
تست API
curl -s https://bbb.example.com/bigbluebutton/api
در صورت درست بودن API، خروجی باید دارای مقدار `SUCCESS` باشد.
دریافت آدرس API و Secret
مشاهده اطلاعات اتصال API
sudo bbb-conf --secret
محرمانه: مقدار Secret را در اختیار کاربران عمومی قرار ندهید. این مقدار فقط باید در پنل مدیریت، Moodle، Greenlight یا سامانه متصل به API ثبت شود.
دامنه بدون هشدار SSL باز میشود.
صفحه API مقدار SUCCESS برمیگرداند.
دستور bbb-conf خطای جدی نمایش نمیدهد.
ورود به جلسه آزمایشی انجام میشود.
میکروفن و صدای جلسه فعال هستند.
وبکم و اشتراک صفحه کار میکنند.
فایل ارائه بدون خطا بارگذاری میشود.
ضبط و انتشار جلسه آزمایش شده است.
نصب Greenlight برای مدیریت جلسات
BigBlueButton بهتنهایی API کلاس آنلاین را ارائه میدهد. برای ایجاد اتاقها، مدیریت کاربران و مشاهده فایلهای ضبطشده میتوانید Greenlight را نصب کنید یا از Moodle و سامانه اختصاصی خود استفاده نمایید.
برای نصب همزمان Greenlight، گزینه `-g` را به دستور نصب اضافه کنید:
نصب BBB همراه Greenlight
sudo -i
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v3.0.x-release/bbb-install.sh | bash -s -- -w -v jammy-300 -s bbb.example.com -e admin@example.com -g
ایجاد حساب مدیر Greenlight
ساخت کاربر Administrator
sudo docker exec -it greenlight-v3 bundle exec rake admin:create
آیا Greenlight ضروری است؟ خیر. اگر کلاسها از طریق Moodle، WordPress، API یا یک سامانه اختصاصی ساخته میشوند، نصب Greenlight الزامی نیست.
بهینهسازی و نگهداری پس از نصب
نصب اولیه فقط آغاز کار است. برای حفظ کیفیت جلسات باید منابع سرور، فضای دیسک، ضبطها، شبکه و سرویسهای BigBlueButton بهصورت منظم بررسی شوند.
تنظیمات را در مسیر Override قرار دهید
تغییرات سفارشی را تا حد امکان داخل فایلهای مسیر `/etc/bigbluebutton` انجام دهید. تغییر مستقیم فایلهای اصلی بستهها ممکن است هنگام بهروزرسانی بازنویسی شود.
- کنترل مصرف CPU و RAM در ساعات شلوغ
- بررسی فضای مسیر فایلهای ضبطشده
- پاکسازی کنترلشده جلسات قدیمی
- بررسی انقضای SSL و صحت DNS
- مانیتورینگ وضعیت سرویسهای داخلی
- ثبت هشدار برای پر شدن دیسک
- آزمایش دورهای ضبط و پخش جلسات
- تهیه نسخه پشتیبان از تنظیمات ضروری
فرمانهای اولیه مانیتورینگ
بررسی منابع سرور
uptime
free -h
df -h
top
sudo bbb-conf --status
sudo bbb-conf --check
استفاده از TURN برای شبکههای محدود
در بعضی سازمانها، دانشگاهها یا شبکههای شرکتی، ارتباط UDP خروجی محدود میشود. در این شرایط ممکن است کاربران نتوانند میکروفن یا وبکم خود را متصل کنند. راهاندازی یک سرور TURN میتواند ارتباط رسانهای را از مسیرهای قابلدسترستر عبور دهد.
TURN برای همه کاربران ضروری نیست: ابتدا وضعیت فایروال و UDP را بررسی کنید. TURN بیشتر برای کاربرانی مفید است که پشت شبکههای محدود، پراکسی یا فایروال سختگیرانه قرار دارند.
بعد از نصب، کیفیت تجربه کاربران به پایداری سرور، پهنای باند و تنظیم صحیح ارتباط WebRTC بستگی دارد.
خطاهای رایج بعد از نصب بیگ بلو باتن
دامنه باز نمیشود
رکورد DNS، IP سرور، فایروال و سرویس Nginx را بررسی کنید.
SSL صادر نمیشود
دامنه باید به IP درست اشاره کند و پورت 80 از اینترنت در دسترس باشد.
میکروفن متصل نمیشود
UDP، NAT، FreeSWITCH، WebRTC و در صورت لزوم TURN را بررسی کنید.
وبکم یا اشتراک صفحه قطع میشود
پهنای باند، پورتهای UDP، مصرف CPU و تنظیمات mediasoup را کنترل کنید.
فایل ارائه تبدیل نمیشود
وضعیت Docker، فضای دیسک، LibreOffice و لاگهای تبدیل سند را بررسی کنید.
ضبط جلسه منتشر نمیشود
فضای دیسک، صف پردازش Recording، مجوز فایلها و منابع CPU را کنترل کنید.
سرور کند شده است
تعداد کلاسها، دوربینها، Load Average، RAM و Swap را بررسی کنید.
پورت 80 یا 443 اشغال است
Apache، کنترلپنل یا Reverse Proxy قبلی را شناسایی و از سرور BBB جدا کنید.
نخستین اقدام در بیشتر خطاها، اجرای دستور زیر و مطالعه بخش Warningها است:
عیبیابی اولیه
sudo bbb-conf --check
برای بررسی جزئیتر مشکلات کیفیت، مقاله نکات افزایش کیفیت صدا و تصویر در بیگ بلو باتن را نیز مطالعه کنید.
بهروزرسانی و مهاجرت BigBlueButton
برای نصب اصلاحیههای نسخه 3.0 میتوان پس از تهیه نسخه پشتیبان، اسکریپت رسمی نصب را با همان پارامترهای قبلی دوباره اجرا کرد. قبل از هر بهروزرسانی، نسخه فعلی، فضای دیسک، Greenlight، تنظیمات سفارشی و Recordingها را بررسی کنید.
ارتقای نسخه اصلی: برای مهاجرت از نسخههایی مانند BigBlueButton 2.7 به 3.0، نصب روی یک سرور تمیز Ubuntu 22.04 و سپس انتقال تنظیمات و ضبطها، از ارتقای مستقیم روی همان سیستم مطمئنتر است.
- ثبت نسخه فعلی BigBlueButton و Ubuntu
- تهیه پشتیبان از فایلهای تنظیمات
- بررسی حجم و محل Recordingها
- آمادهسازی سرور تمیز برای نسخه اصلی جدید
- تست API و Greenlight پیش از جابهجایی
- تست یک جلسه کامل قبل از انتقال کاربران
نصب شخصی بهتر است یا سرویس آماده؟
نصب شخصی برای مجموعهای مناسب است که نیروی فنی لینوکس، امکان مانیتورینگ سرور و زمان کافی برای نگهداری زیرساخت دارد. در مقابل، سرویس آماده یا سرور مدیریتشده مسئولیت نصب، SSL، رفع خطا، بهروزرسانی و مانیتورینگ را کاهش میدهد.
| معیار |
نصب شخصی |
سرویس مدیریتشده |
| دانش فنی |
نیازمند تجربه Linux و شبکه |
توسط تیم فنی ارائهدهنده انجام میشود |
| کنترل زیرساخت |
بیشتر |
براساس نوع سرویس |
| زمان راهاندازی |
وابسته به تجربه مدیر سرور |
معمولاً سریعتر |
| رفع خطا |
برعهده مجموعه |
برعهده تیم پشتیبانی |
| مانیتورینگ |
باید جداگانه پیادهسازی شود |
میتواند جزو خدمات سرویس باشد |
| مناسب برای |
تیمهای دارای مدیر سیستم |
مدرسان، آموزشگاهها و سازمانها |
برای بررسی هزینه سرور، نصب، فضای ضبط و نگهداری، راهنمای هزینه راهاندازی بیگ بلو باتن را مطالعه کنید.
سؤالات متداول درباره نصب BigBlueButton
BigBlueButton 3.0 روی چه سیستمعاملی نصب میشود؟
نسخه 3.0 برای Ubuntu 22.04 نسخه ۶۴ بیتی ارائه شده و بهتر است روی یک سرور تمیز و اختصاصی نصب شود.
آیا میتوان BigBlueButton را روی Ubuntu 20.04 نصب کرد؟
Ubuntu 20.04 مربوط به نسخههای قبلی مانند BBB 2.7 است. برای نصب جدید نسخه 3.0 باید از Ubuntu 22.04 استفاده شود.
آیا نصب روی سرور مجازی امکانپذیر است؟
بله، اما CPU و شبکه باید پایدار باشند. برای محیط عملیاتی، منابع اختصاصی یا Compute Intensive نسبت به VPSهای اشتراکی انتخاب مطمئنتری هستند.
آیا برای ورود کاربران به دامنه و SSL نیاز داریم؟
بله. مرورگرها برای دسترسی WebRTC به میکروفن و دوربین به یک اتصال HTTPS معتبر نیاز دارند.
آیا Greenlight همراه BigBlueButton نصب میشود؟
با افزودن گزینه `-g` به اسکریپت رسمی میتوان Greenlight نسخه 3 را همراه BigBlueButton نصب کرد.
برای اتصال BigBlueButton به Moodle چه چیزی لازم است؟
آدرس API و Secret سرور لازم است. این اطلاعات با دستور `bbb-conf --secret` نمایش داده میشوند.
چرا کاربران نمیتوانند میکروفن را متصل کنند؟
بسته بودن UDP، تنظیم نادرست NAT، فایروال سازمانی یا نبود TURN در شبکههای محدود از علتهای رایج هستند.
آیا امکان ضبط جلسات وجود دارد؟
بله، اما ضبط و پردازش جلسه به فضای دیسک و منابع CPU نیاز دارد. سیاست نگهداری فایلها باید از قبل مشخص شود.
چگونه سلامت سرور را بررسی کنیم؟
دستورهای `bbb-conf --check` و `bbb-conf --status` برای بررسی اولیه سرویسها و پیکربندی استفاده میشوند.
چه زمانی به چند سرور BigBlueButton نیاز داریم؟
زمانی که تعداد کلاسها و کاربران همزمان از ظرفیت یک سرور عبور کند، میتوان از چند سرور و سامانه توزیع بار مانند Scalelite استفاده کرد.
جمعبندی
نصب و پیکربندی BigBlueButton 3.0 باید روی Ubuntu 22.04، دامنه معتبر و سروری با منابع کافی انجام شود. تنظیم درست DNS، SSL، فایروال و UDP به اندازه اجرای دستور نصب اهمیت دارد و بسیاری از مشکلات صدا و تصویر از پیکربندی نادرست شبکه ایجاد میشوند.
پس از نصب نیز باید فضای دیسک، ضبط جلسات، مصرف منابع، گواهی SSL و وضعیت سرویسها مانیتور شوند. اگر مجموعه نیروی فنی لینوکس ندارد، استفاده از خدمات نصب و پشتیبانی یا سرور آماده میتواند ریسک اختلال را کاهش دهد.
نصب سرور را به تیم فنی بسپارید
مشخصات سرور، تعداد کلاسها، کاربران همزمان و نیاز خود به ضبط را اعلام کنید تا نصب، پیکربندی و زیرساخت مناسب BigBlueButton برای مجموعه شما بررسی شود.