
به اشتراک بگذارید

به اشتراک بگذارید
آموزشگاهی که کلاس را از پلتفرمهای عمومی به دامنه خودش میبرد، از یک نقطه شروع میکند: نصب BigBlueButton روی یک سرور اختصاصی. نسخه 4.0 این سامانه فقط روی Ubuntu 24.04 نصب میشود و به نام دامنه و گواهی TLS معتبر نیاز دارد. مستندات رسمی برای محیط تولید ۸ هسته پردازنده و ۱۶ گیگابایت رم را حداقل میدانند. مسیر پشتیبانیشده باریک است، اما همان مسیر با یک اسکریپت رسمی تا یک کلاس قابل استفاده پیش میرود.
| موضوع | وضعیت در نسخه 4.0 |
|---|---|
| سیستمعامل | فقط Ubuntu 24.04 (noble) نسخه ۶۴ بیتی، معماری x86_64 |
| حداقل تولیدی مستندات | ۸ هسته، ۱۶ گیگابایت رم با swap، ۲۵۰ مگابیت بر ثانیه متقارن، IPv4 و IPv6 |
| گیتهای توقف اسکریپت | کمتر از ۴ هسته، رم زیر حدود ۴ گیگابایت، نبود IPv6 در کرنل، SSH روی پورتی غیر از 22 |
| دامنه و پورت | نام دامنه و گواهی TLS؛ پورت TCP 80 و 443 آزاد، بازه UDP 16384 تا 32768 باز |
| ظرفیت همزمان | پروژه عدد رسمی نداده؛ به ترکیب اتاق بستگی دارد |
💡 خلاصه تصمیم
سامانه BigBlueButton یک سیستم کنفرانس وب متنباز با تمرکز بر آموزش است که روی مرورگر و با WebRTC کار میکند.
✅ قبل از هر دستوری سه چیز را قطعی کنید: سروری تازه با Ubuntu 24.04، زیردامنهای که به IP همان سرور اشاره میکند، و دسترسی root.
✅ برای کلاسی که وبکم و اشتراک صفحه دارد، منابع اختصاصی اهمیت بیشتری از قیمت دارد؛ پلنهای سرور مجازی ایران برای کلاس آنلاین را با همین معیار مقایسه کنید.
بیشتر راهنماهای فارسی، فهرست پیشنیاز مستندات را ترجمه میکنند و یک دستور تکخطی میگذارند. اینجا عددهای مستندات کنار گیتهایی میآید که خود اسکریپت رسمی نصب را روی آنها متوقف میکند، و بعد سراغ ظرفیت واقعی سرور میرویم که هیچ عدد قطعی ندارد. ترتیب کار همان ترتیب روز اول است.
📌 آنچه در این مقاله میخوانید
◀️ سامانه BigBlueButton چیست و چه کلاسی را پوشش میدهد؟
◀️ پیشنیازهای سختافزار، دامنه و پورت
◀️ نصب گامبهگام با اسکریپت رسمی bbb-install
◀️ ظرفیت واقعی سرور و عیبیابی صدا و تصویر

سامانه BigBlueButton یک سیستم کنفرانس وب متنباز است که برای کلاس درس ساخته شده، نه جلسه اداری. کاربر بدون نصب نرمافزار و با WebRTC از مرورگر وارد میشود و تخته سفید، اشتراک صفحه، نظرسنجی، اتاق گروهی و ضبط جلسه در خود سامانه هست. مدیریت اتاقها با Greenlight انجام میشود.
تفاوت اصلی با سرویس آماده، جای نگهداری داده است. نشانی کلاس زیردامنه خودتان میشود و تعداد کاربر همزمان را سختافزار تعیین میکند، نه پلن اشتراک. در عوض، بهروزرسانی و پاسخ به قطعی صدا هم کار خودتان است.
کلمه «نصب» اینجا چند سرویس جدا را با هم میآورد و برای عیبیابی باید نقش هرکدام را بدانید.
-g و روی Docker نصب میشود.اگر جلسههایتان هفتهای چند ساعت و با چند نفر است، سروری با ۸ هسته و ۱۶ گیگابایت رم به این کار نمیارزد و برای وبینار یکطرفه هم پخش زنده مناسبتر است. نصب BigBlueButton وقتی میارزد که کلاس تعاملی، ضبط جلسه و اتصال به سامانه آموزشی را با هم بخواهید.
🔸 نکته فنی
مرورگرها دسترسی به میکروفون و وبکم را فقط روی نشانی HTTPS با گواهی معتبر میدهند. مستندات نصب میگوید با IP تنها، مرورگر دسترسی به وبکم و میکروفون را مسدود میکند. دامنه و گواهی بخشی از خود محصول است.
مستندات رسمی برای محیط تولید این حداقلها را میخواهد: اوبونتو 24.04 با کرنل 6.x و آخرین نسخه Docker، ۸ هسته پردازنده با کارایی تکهستهای بالا، ۱۶ گیگابایت رم با swap فعال، ۵۰۰ گیگابایت دیسک آزاد برای ضبط (یا ۵۰ گیگابایت بدون ضبط)، ۲۵۰ مگابیت بر ثانیه پهنای باند متقارن و نشانی IPv4 و IPv6. برای ماشین مجازی ابری، پردازنده اختصاصی توصیه شده است.
نکتهای که در جدولهای ترجمهشده گم میشود این است: اسکریپت بخشی از این عددها را اندازه میگیرد و روی چهار شرط نصب را قطع میکند. دو شرط برای سرورهای ایرانی رایجترند: نبود IPv6 در کرنل و جابهجایی پورت SSH.
| پیشنیاز | حداقل تولیدی در مستندات | رفتار عملی اسکریپت رسمی |
|---|---|---|
| سیستمعامل | نسخه Ubuntu 24.04 (noble) ۶۴ بیتی، کرنل 6.x | با نسخه دیگر خطا میدهد |
| معماری | x86_64 | روی معماری غیر ۶۴ بیتی اجرا نمیشود |
| پردازنده | ۸ هسته با کارایی تکهستهای بالا | کمتر از ۴ هسته: توقف؛ ۸ هسته: توصیهشده برای تولید |
| حافظه | ۱۶ گیگابایت با swap | زیر حدود ۴ گیگابایت: توقف |
| شبکه IPv6 | نشانی IPv4 و IPv6 | اگر کرنل IPv6 نداشته باشد: توقف |
| پورت SSH | در مستندات شرط نشده | اگر sshd روی 22 نباشد: توقف، مگر با گزینه -W |
| دیسک و پهنای باند | ۵۰۰ یا ۵۰ گیگابایت، ۲۵۰ مگابیت متقارن | اندازهگیری نمیشود؛ مسئولیت خودتان است |
گیت IPv6 را دستکم نگیرید: اسکریپت وجود فایل /proc/net/if_inet6 را میبیند و اگر نبود، با پیام «Your server does not support IPv6» خارج میشود. اگر IPv6 در کرنل غیرفعال است، قبل از نصب آن را برگردانید.
گیت دوم پورت SSH است. اسکریپت قواعد پیشفرض فایروال را فقط برای پورت 22 میشناسد و روی پورت دیگر با پیام «Detected sshd not listening to standard port 22» متوقف میشود. راه رسمی، اجرای نصب با -W است؛ اما این گزینه کل تنظیم فایروال میزبان را رد میکند و نوشتن قواعد به خودتان میافتد.
یک زیردامنه مثل bbb.example.com بسازید و رکورد A و AAAA آن را به IP عمومی همان سرور بدهید. اسکریپت، صدور گواهی Let’s Encrypt را خودش انجام میدهد؛ اما فقط وقتی نام دامنه به IP همین سرور برگردد و پورت 80 و 443 از بیرون در دسترس باشد. در غیر این صورت با خطای ناهمخوانی IP خارج میشود. راهنمای تنظیم رکوردهای DNS ترتیب ساخت رکوردها را نشان میدهد.
برای شبکه خصوصی، گزینه چالش دستی DNS هست و تمدید گواهی در آن حالت دستی است. اگر گواهی سازمانی دارید، فایلهای fullchain.pem و privkey.pem را در /local/certs/ بگذارید و با -d مرحله Let’s Encrypt را رد کنید.
🔶 در عمل روی سرور ایران
هر سرور مجازی ایران وبداده IP مستقیم با پشتیبانی IPv4 و IPv6 دارد؛ همین، دو شرط گواهی و گیت IPv6 را برآورده میکند.
⚠️ دو محدودیت که زودتر بدانید
ارتقای درجا از نسخههای 2.6، 2.7 و 3.0 و ارتقای سیستمعامل بین نسخههای اصلی پشتیبانی نمیشود؛ راه رسمی، نصب روی سرور تازه و انتقال فایلهای ضبطشده است.
مقایسه نسخهها در تفاوت نسخههای اوبونتو آمده، اما برای این سامانه فقط 24.04 مسیر پشتیبانیشده است.

مسیر پشتیبانیشده برای نصب BigBlueButton یک اسکریپت رسمی است که مراحل مستندات را خودکار میکند: مخزنها را اضافه میکند، بستهها و Docker را نصب میکند، haproxy و nginx و گواهی را تنظیم میکند و در پایان سرویسها را بالا میآورد. خود دستور یک خط است؛ کار شما قبل و بعد از آن است.
en_US.UTF-8 را شرط گذاشته است.dig مطمئن شوید همان IP برمیگردد.bbb-conf ببینید و بعد با یک کلاس آزمایشی صدا، وبکم و اشتراک صفحه را امتحان کنید.بررسی و اصلاح زبان سیستم؛ اگر سطر LC_ALL در فایل بود حذفش کنید و بعد از دستور آخر یک بار از SSH خارج و دوباره وارد شوید:
cat /etc/default/locale
# LANG="en_US.UTF-8"
sudo apt-get install -y language-pack-en
sudo update-locale LANG=en_US.UTF-8
sudo systemctl show-environment | grep LANG
sudo systemctl set-environment LANG=en_US.UTF-8
اسکریپت با دسترسی root اجرا میشود و با کاربر معمولی پیام «You must run this command as root» میدهد. پیش از اجرا فایل را بگیرید و بخوانید؛ این کار فهرست بهروز گزینهها را هم نشان میدهد. مقدار noble-400 یعنی نسخه 4.0 روی اوبونتو 24.04 و -g پنل Greenlight را هم نصب میکند:
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | sudo bash -s -- \
-v noble-400 -s bbb.example.com -e info@example.com -g
پس از پایان کار، Greenlight روی نشانی https://نام-دامنه-شما/ در دسترس است. بررسی وضعیت:
sudo bbb-conf --check
sudo bbb-conf --status
sudo bbb-conf --debug
ابزار bbb-conf بخشی از خود سامانه است و مستندات رسمی آن را برای بررسی تنظیمات، دیدن خطاهای لاگ و راهاندازی مجدد سرویسها معرفی میکند. هر هشدار آن ایراد واقعی نیست؛ وقتی سرور روی نام دامنه تنظیم شده، ناهمخوانی نام با IP طبیعی است.
روی سرورهای داخل ایران، شکست نصب معمولاً از دسترسی به مخزنهای بیرونی میآید، نه از خود سامانه. راه درست، جابهجا کردن منبع بستهها است و دو گزینه خود اسکریپت همین کار را میکنند: -r مخزن apt جایگزین و -p سرور کش بستهها (پورت پیشفرض 3142، همان apt-cacher-ng):
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | sudo bash -s -- \
-v noble-400 -s bbb.example.com -e info@example.com -g \
-r packages-eu.bigbluebutton.org -p 10.0.0.5:3142
/etc/apt/sources.list.d/ جایگزین کنید./etc/docker/daemon.json معرفی کنید و از ایمیجهای حیاتی نسخه آفلاین نگه دارید.| گزینه | کار و زمان استفاده |
|---|---|
| -v | نسخه و بستر نصب؛ همیشه با مقدار noble-400 |
| -s و -e | دامنه و ایمیل گواهی؛ بدون این دو کلاس کار نمیکند |
| -g و -k | نصب Greenlight و Keycloak برای پنل اتاق و ورود یکپارچه |
| -t | چارچوب LTI با کلید و سکرت، برای اتصال به سامانه آموزشی |
| -r و -p | مخزن apt جایگزین و سرور کش بستهها |
| -W | رد کردن تنظیم فایروال؛ لازم وقتی SSH روی 22 نیست |
| -m | انتقال داده به دیسک جدا، وقتی ضبط فعال است |
| -x و -d | چالش دستی DNS یا گواهی محلی در /local/certs/ |
| -j | رد کردن بررسی حداقلها؛ فقط آزمایشگاه، نه سرور کلاس |
فعالیت BigBlueButton همراه خود مودل عرضه میشود و لازم نیست افزونهای نصب کنید؛ کافی است آن را فعال کنید و نشانی سرور و سکرت API را در تنظیماتش بگذارید. سکرت را با bbb-conf --secret ببینید. برای سامانههای دیگر، گزینه -t دو مؤلفه bbb-lti-broker و bbb-apps-room را نصب میکند و نشانی لانچ LTI روی مسیر /lti دامنه شما بالا میآید.

مستندات پروژه هیچ عددی برای «تعداد کاربر همزمان یک سرور» منتشر نکرده و صفحه مانیتورینگ هم میگوید خود سامانه متریکی ارائه نمیدهد. بار اتاق ۱۰۰ نفره شنونده با اتاق ۳۰ نفره پر از وبکم قابل مقایسه نیست، پس ظرفیت را باید روی ترکیب واقعی کلاس خودتان اندازه گرفت.
صفحه مانیتورینگ رسمی، ترکیب Prometheus و Grafana و Alertmanager را پیشنهاد میکند. همان صفحه پروژهای جامعهمحور به نام BigBlueButton Exporter را معرفی میکند که متریکها را از API سامانه بیرون میدهد: شرکتکننده به تفکیک شنونده، میکروفون و ویدیو. همین تفکیک، معیار سنجش ظرفیت است.
htop برای FreeSWITCH و bbb-webrtc-sfu و پهنای باند خروجی را در زمان کلاس ثبت کنید.ترتیب درست عیبیابی، از لایه شبکه به سمت مرورگر است؛ خطاهای رایج در یکی از این چهار دسته میافتند.
journalctl -u bbb-webrtc-recorder یا sudo bbb-conf --debug بخوانید.گزینه --network همین ابزار، تعداد اتصالهای فعال پورت 80 و 443 را به تفکیک IP نشان میدهد. اگر هیچکدام جواب نداد، bbb-conf --zip لاگها را برای گزارش خطا بستهبندی میکند.
سوالاتی که مدیران آموزشگاهها پیش از خرید سرور میپرسند
نه. اسکریپت رسمی نسخه 4.0 فقط Ubuntu 24.04 (noble) و معماری x86_64 را میپذیرد و روی نسخه دیگر با خطا خارج میشود. برای سرور قدیمیتر، راه رسمی نصب روی سروری تازه است.
اسکریپت متوقف نمیشود، چون گیت توقف آن ۴ هسته و حدود ۴ گیگابایت رم است. اما حداقل تولیدی مستندات ۸ هسته و ۱۶ گیگابایت رم است و کلاس وبکمدار روی سرور ۴ هستهای زود به تأخیر صدا میرسد.
نصب انجام نمیشود. اسکریپت نبود IPv6 در کرنل را میبیند و با پیام «Your server does not support IPv6» خارج میشود. پیش از نصب، IPv6 را فعال کنید.
بله. اسکریپت قواعد پیشفرض فایروال را فقط برای پورت 22 میشناسد و در غیر آن متوقف میشود. راه رسمی، اجرا با گزینه رد کردن فایروال است و در آن حالت قواعد میزبان را خودتان مینویسید.
پروژه عدد رسمی نداده و هر عدد تبلیغاتی به ترکیب اتاق بسته است. راه درست، اندازهگیری متریک شرکتکننده به تفکیک شنونده و میکروفون و ویدیو، و بالا بردن پلهپله تعداد نفرات در جلسههای واقعی است.
نه. فعالیت BigBlueButton همراه خود مودل عرضه میشود؛ کافی است فعال باشد و نشانی سرور و سکرت API را در تنظیماتش وارد کنید. برای سامانههای دیگر، چارچوب LTI همان نقش را دارد.
منبع بستهها را عوض کنید: گزینه مخزن apt جایگزین، گزینه سرور کش بستهها، میرور داخلی اوبونتو و میرور رجیستری برای ایمیجهای Docker. این راه از دست بردن در مسیر ترافیک سرور پایدارتر است.
جمعبندی؛ تصمیم درست قبل از اولین دستور گرفته میشود
نصب BigBlueButton از نظر اجرای دستور کار سختی نیست؛ یک اسکریپت رسمی، یک نام دامنه و یک ایمیل، کار را تا یک کلاس قابل استفاده پیش میبرد. دشواری در باریک بودن مسیر پشتیبانیشده است: فقط اوبونتو 24.04 روی x86_64، سروری تازه و اختصاصی، پورت 80 و 443 آزاد، بازه UDP باز و یک گواهی معتبر. چهار گیت هم نصب را سر جایش قطع میکنند: کمتر از ۴ هسته، رم زیر حدود ۴ گیگابایت، نبود IPv6 در کرنل و SSH روی پورتی غیر از 22. دو مورد آخر برای سرورهای ایرانی رایجترند و در بیشتر راهنماها نیامدهاند. درباره ظرفیت به هیچ عدد تبلیغاتی اعتماد نکنید؛ پروژه عددی نداده، چون بار اتاق صد نفره شنونده با اتاق سی نفره پر از وبکم یکی نیست. ترکیب کلاس خودتان را با متریک شرکتکنندهها اندازه بگیرید و اگر یک سرور کم آورد، سراغ معماری چندسروری بروید. ترتیب کار همان ترتیب روز اول است: دامنه و رکورد DNS، سرور تازه، اجرای اسکریپت با دسترسی root و بعد یک کلاس آزمایشی.
🚀 سرور کلاس آنلاین خودتان
سرور مجازی ایران وبداده در دیتاسنتر تهران و روی شبکه رسپینا میزبانی میشود و نصب ISO دلخواه و اسنپشات و بازگردانی از پنل در دسترس است. با تست ساعتی رایگان میتوانید ظرفیت را بسنجید؛ فعالسازی به احراز هویت نیاز دارد و استفاده از سرور برای VPN، پروکسی، پورتفورواردینگ و کاهش پینگ مجاز نیست.
اگر سوالی داشتید، در بخش نظرات با ما در ارتباط باشید.