آموزش نصب BigBlueButton

آموزش نصب BigBlueButton بصورت کامل بر روی سیستم عامل Ubuntu

این آموزش شما را از طریق نصب BigBlueButton 2.2 راهنمایی می کند (که از این پس به سادگی BigBlueButton نصب و استفاده می شود).

BigBlueButton یک برنامه وب یک صفحه ای کاملاً پاسخگو است که از قابلیت های داخلی مرورگر برای ارسال و دریافت صدا و فیلم استفاده می کند ، سرور BigBlueButton برای رسیدگی به رسانه ها ، تماس های API ورودی ، پردازش اسلایدهای آپلود شده و تبدیل رسانه های ضبط شده به ضبط ، چندین فرآیند برگشت را اجرا می کند .

Full HTML5 client

BigBlueButton برای رابط کاربری خود از یک سرویس دهنده کامل HTML5 استفاده می کند. این بدان معنی است که همان کلاینت روی دسک تاپ ، لپ تاپ ، chromebook و دستگاه های تلفن همراه شما (iOS 12.2+ و Android 6.0+) اجرا می شود و ما Chrome و FireFox را توصیه می کنیم زیرا این مرورگرها بهترین پشتیبانی را برای webRTC ارائه می دهند.

کلاینت BigBlueButton موارد فوق را ارائه می دهد :

  • بارگذاری 2 برابر سریعتر از نسخه قبلی
  • اشتراک گذاری صوتی ، فیلم و صفحه با کیفیت بالا (با استفاده از WebRTC)
  • یادداشت های مشترک برای ویرایش چند کاربر (با استفاده از پروژه عالی EtherPad )
  • کاملاً در دسترس خوانندگان صفحه است
  • ویدیوهای YouTube را در طول جلسه به اشتراک بگذارید

می توانید آخرین نسخه کلاینت HTML5 را در https://test.bigbluebutton.org/ امتحان کنید .

گزینه های نصب

هنگام نصب BigBlueButton دو گزینه وجود دارد: bbb-install.shو یا مرحله به مرحله.

صرف نظر از انتخاب شما ، برای نصب موفقیت آمیز مورد نیاز خود

  • به دست آوردن سرور اختصاصی ،
  • اطمینان حاصل کنید که سرور حداقل مجموعه نیازهای BigBlueButton را برآورده می کند ،
  • یک نام میزبان اختصاص دهید (توصیه می شود SSL را تنظیم کنید) ، و
  • فایروال سرور را پیکربندی کنید (در صورت لزوم).

دو گزینه در زیر آمده است.

نصب bbb installsh

اگر می خواهید سرور BigBlueButton را به سرعت راه اندازی کنید (یا قبلاً سرورهای BigBlueButton را راه اندازی کرده اید) ، سپس bbb-install.sh شما را در حدود 15 دقیقه با یک دستور واحد راه اندازی می کنید.

نصب مرحله به مرحله

اگر می خواهید بیشتر از مؤلفه های BigBlueButton را بفهمید ، از این دستورالعمل های گام به گام در این راهنما استفاده می کنید.

قبل از نصب

برای نصب موفقیت آمیز BigBlueButton ، توصیه می کنیم با یک سرور 64 بیتی “تمیز” Ubuntu 16.04 که برای BigBlueButton اختصاص داده شده است ، شروع کنید.

منظور از “تمیز کردن” منظور ما این است که سرور هیچ برنامه وب قبلی را نصب نکرده باشد (مانند plesk ، webadmin یا apache) که به بندر 80/443 الزام آور باشد . منظور از “اختصاص داده شده” این است که این سرور علاوه بر BigBlueButton (و برنامه های مربوط به BigBlueButton مانند Greenlight ) برای هر چیز دیگری مورد استفاده قرار نخواهد گرفت .

حداقل مورد نیاز سرور

حداقل مورد نیاز برای سرور BigBlueButton می باشد

  • Ubuntu 16.04 64 بیتی سیستم عامل در حال اجرا با هسته Linux 4.x
  • 8 گیگ حافظه رم (16 گیگابایت حافظه بهتر است)
  • 4 هسته CPU (8 بهتر)
  • پورت های TCP 80 و 443 در دسترس هستند
  • پورت های UDP 16384 – 32768 در دسترس هستند
  • پورت 80 بدون اینکه در برنامه دیگری استفاده شود

برای سرور دیگری که برای تولید در نظر گرفته شده است ، ما علاوه بر این توصیه می کنیم:

  • 500G فضای دیسک رایگان (یا بیشتر) برای ضبط
  • پهنای باند 250 مگابیت در ثانیه (متقارن) یا بیشتر
  • سخت افزار اختصاصی
  • نام میزبان (مانند bbb.example.com) برای تنظیم گواهی SSL
  • آدرس IPV4 و IPV6

چرا ما یک سرور با منابع اختصاصی پیشنهاد می کنیم؟ BigBlueButton برای پردازش بسته های صوتی دریافتی از FreeSWITCH استفاده می کند و FreeSWITCH در یک محیط غیر مجازی بهترین کار را می کند (به تنظیمات توصیه شده FreeSWITCH مراجعه کنید ).

اگر در حال تنظیم BigBlueButton برای توسعه محلی در ایستگاه کاری خود هستید ، می توانید کمی نیازهای سرور را آرام کنید زیرا شما تنها از سرور استفاده خواهید کرد. شما باید بتوانید BigBlueButton را با آن اجرا کنید

  • 2 هسته CPU
  • نصب بر روی یک ظرف محلی VM یا LXC
  • فقط آدرس IPV4 (بدون نام میزبان)

با این حال ، بدون پیکربندی SSL در سرور ، شما نمی توانید از ارتباطات وب در زمان واقعی (WebRTC) برای به اشتراک گذاشتن میکروفون ، وب کم یا صفحه استفاده کنید. به عبارت دیگر ، همه مرورگرها قبل از اینکه به یک برنامه HTML5 اجازه دهند تا برای به اشتراک گذاری رسانه دسترسی داشته باشد ، نیاز دارند که از طریق HTTPS بارگیری کنند.

اگر می خواهید BigBlueButton را بر روی Amazon EC2 نصب کنید ، توصیه می کنیم BigBlueButton را با نمونه c5.xlarge (یا CPU بزرگتر) اجرا کنید. این نمونه های جذاب جدید محاسباتی عملکرد بسیار نزدیک به سرور با منابع اختصاصی را ارائه می دهند.

برای حداقل نیاز کاربران نهایی ، آخرین نسخه Firefox یا Chrome و حداقل نیازهای پهنای باند زیر را توصیه می کنیم .

بررسی های قبل از نصب

آیا سرور 64 بیتی Ubuntu 16.04 آماده نصب است؟ خیلی عالیه ! اما ، قبل از اقدام به نصب ، چند بررسی پیکربندی کوتاه انجام دهید تا مطمئن شوید سرور شما حداقل شرایط لازم را برآورده می کند یا خیر !

یک لحظه انجام این بررسی ها باعث کاهش قابل توجه تغییراتی خواهد شد که هنگام نصب با مشکل مواجه خواهید شد.

ابتدا بررسی کنید که محل سرور است 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 خود وارد شوید و دوباره وارد شوید – این بار پیکربندی محلی را برای جلسه شما بارگیری می کند. دستور بالا را 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در خروجی مشاهده می کنید.

بعد ، بررسی کنید که سرور شما با استفاده از دستور دارای 4G حافظه free -hباشد. در اینجا خروجی یکی از سرورهای تست ما آمده است.

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            31G        5.9G        314M        1.8G         25G         21G
Swap:           31G        360M         31G

در اینجا 31G حافظه را نشان می دهد (این سرور با 32 گیگ حافظه است).

اگر مقداری را Mem:در totalستون کمتر از 4G مشاهده کردید (مثال فوق 31G را نشان می دهد) ، در این صورت سرور شما حافظه کافی برای اجرای BigBlueButton ندارد. شما باید حافظه سرور را به (حداقل) 4G افزایش دهید.

بعد ، بررسی کنید که سرور اوبونتو 16.04 داشته باشد.

$  cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.x LTS"

بعد ، بررسی کنید که سرور شما نسخه 64 بیتی Ubuntu 16.04 را اجرا کند.

$ uname -m
x86_64

بعد ، بررسی کنید که سرور شما از IPV6 پشتیبانی می کند.

$ ip addr | grep inet6
inet6 ::1/128 scope host
...

اگر خط را نمی بینید inet6 ::1/128 scope hostپس از نصب BigBlueButton باید پیکربندی FreeSWITCH را تغییر دهید تا پشتیبانی از IPV6 را غیرفعال کنید .

بعد ، بررسی کنید که سرور شما هسته لینوکس 4.x را اجرا کند.

$ uname -r
4.15.0-38-generic

بعد ، بررسی کنید که سرور شما (حداقل) 4 هسته CPU داشته باشد

$ cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l
4

توجه: BigBlueButton روی هسته 2.6 هسته ای اجرا نمی شود (مانند لینوکس 2.6.32-042stab133.2 در x86_64 در OpenVZ VPS).

بعضی اوقات از ما سؤال می شود “چرا شما فقط 64 بیتی از اوبونتو 16.04 پشتیبانی می کنید؟”. پاسخ در انتخاب کیفیت بیش از کمیت است. مدتها پیش نتیجه گرفتیم که بهتر است این پروژه دارای نصب مستحکم و آزمایش شده و مستند برای نسخه خاصی از لینوکس باشد که واقعا کار می کند ، واقعاً بهتر از تلاش و پشتیبانی از انواع لینوکس و هیچ کدام از آنها به خوبی کار نمی کنند. .

حتما نام میزبان ( hostname ) و گواهی ssl داشته باشید

ما توصیه می کنیم به سرور BigBlueButton خود یک نام دامنه کاملاً واجد شرایط (FQDN) مانند bigbluebutton.example.com، و پیکربندی سرور با گواهی لایه سوکت های امن (SSL) اختصاص دهید. با انجام این کار ، nginx ، سرور وب که با BigBlueButton نصب می شود را قادر می سازد تا محتوا را از طریق پروتکل انتقال انتقال ابر متن امن (HTTPS) ارائه دهد. بدون استفاده از HTTPS ، مرورگرها اجازه نخواهند داد که وب بادامک یا میکروفون خود را به اشتراک بگذارند. همچنین ، بدون فعال کردن HTTPS ، برخی از مرورگرها از محتوای ناامن شکایت می کنند.

به طور خلاصه ، روی هر سرور مورد استفاده در تولید ، تنظیم نام دامنه و گواهی SSL معتبر ضروری است.

برای به دست آوردن نام دامنه ، تعداد زیادی ثبت نام کننده دامنه خوب مانند GoDadday و Solutions Network وجود دارد .

برای دریافت گواهینامه SSL گزینه های زیادی وجود دارد ، به دریافت گواهینامه SSL مراجعه کنید .

جهت خرید وی پی اس آلمان از قائم هاست قبل از خرید میتوانید از طریق لینک مشاوره قبل از خرید با کارشناسان بخش فروش سوالات قبل از خرید خود را مطرح نمایید.

پیکربندی فایروال را در صورت لزوم تنظیم کنید

آیا فایروال بین شما و کاربران خود دارید؟ اگر چنین است ، پیکربندی فایروال خود را ببینید .

به روز رسانی

قبل از بروزرسانی ، اگر از طریق اصلاح پرونده های پیکربندی تغییراتی در BigBlueButton در BigBlueButton انجام داده اید ، ابتدا باید از آن تغییرات نسخه پشتیبان تهیه کنید تا بعد از به روزرسانی مجدداً آنها را اعمال کنید.

ارتقاء از bigbluebutton 22

اگر شما در حال به روزرسانی BigBlueButton 2.2 هستید ، از Let Encrypt برای تنظیم گواهی SSL / TLS استفاده کرده اید و هیچ تغییر سفارشی در پیکربندی انجام نداده اید ، پس باید بتوانید اسکریپت bbb-install.sh را اجرا کنید تا به جدیدترین نسخه ارتقا دهید از BigBlueButto 2.2.

اگر نسخه قبلی BigBlueButton 2.2 را با استفاده از دستورالعمل های مرحله به مرحله نصب کرده اید ، باید از هرگونه تغییر در تنظیمات سفارشی پشتیبان گیری کرده و سپس با استفاده از دستورات زیر به روزرسانی کنید. ابتدا تمام بسته dist-upgradeهایی را که با استفاده از آنها آخرین نسخه های بسته های BigBlueButton 2.2 را نصب کنید ، به روز کنید.

ما PPA را برای ffmpeg تغییر داده ایم. اگر قبلاً این کار را نکرده اید ، دستورات زیر را وارد کنید

$ sudo rm -f /etc/apt/sources.list.d/jonathonf-ubuntu-ffmpeg-4-xenial.list
$ sudo add-apt-repository ppa:bigbluebutton/support

بعد ، بسته ها را با دستورات زیر به روز کنید

$ sudo apt-get update
$ sudo apt-get dist-upgrade

در مرحله بعدی ، bbb-conf --setipبرای اختصاص مجدد آدرس IP سرور یا نام میزبان خود به فایلهای پیکربندی BigBlueButton استفاده کنید.

$ sudo bbb-conf --setip <IP_or_hostname>
$ sudo bbb-conf --check

به عنوان مثال ، اگر سرور خود را با نام میزبان پیکربندی کرده bbb.example.comبودید ، این کار را می کردید

$ sudo bbb-conf --setip bbb.example.com
$ sudo bbb-conf --check

ارتقاء از bigbluebutton 20

اگر نسخه قبلی BigBlueButton 2.0 را نصب کرده اید و سپس تغییرات سفارشی ایجاد کرده اید ، ابتدا باید از تغییرات خود نسخه پشتیبان تهیه کنید. بعد از تهیه نسخه پشتیبان از تغییرات ، می توانید از bbb-install.sh برای به روزرسانی یا مراحل زیر استفاده کنید. پس از به روزرسانی ، تغییرات خود را دوباره اعمال کنید.

در ابتدا ، شما باید حذف کنید bbb-client

$ sudo apt-get purge -y bbb-client

و بسته های قدیمی تر Kurento را با دستور پاک کنید

$ sudo apt-get purge -yq kms-core-6.0 kms-elements-6.0 kurento-media-server-6.0
$ sudo bbb-conf --restart

سپس می توانید از بین دو گزینه نصب برای به روزرسانی به BigBlueButton 2.2 انتخاب کنید. پس از اتمام به روزرسانی ، می توانید دوباره تغییرات سفارشی را اعمال کنید.

توجه: اگر از bbb-install.sh استفاده می کنید تا از BigBlueButton 2.0 به روزرسانی شود ، دیگر نیازی به پاکسازی bbb-clientو بسته های Kurento ندارید زیرا اسکریپت به روزرسانی ، ارتقاء شما را از BigBlueButton 2.0 تشخیص داده و به طور خودکار آن را برای شما انجام می دهد.

نصب و راه اندازی

آماده نصب؟ در اینجا یک لیست چک سریع از پیش نصب شده وجود دارد:

  1. شما یک سرور 64 بیتی Ubuntu 16.04 دارید که حداقل مشخصات آن را برآورده می کند .
  2. اگر سرور در پشت دیواره آتش قرار دارد ، شما فایروال خود را تنظیم کرده اید تا پورت های مناسب را به سرور BigBlueButton منتقل کنید (و از یک رایانه خارجی آزمایش کرده اید که اتصالات از طریق فایروال به سرور BigBlueButton شما منتقل می شوند).
  3. شما یک نام دامنه کاملاً واجد شرایط (مانند bigbluebutton.example.com) دارید که به آدرس IP سرور BigBlueButton شما (یا آدرس IP فایروال شما) برطرف می شود.
  4. شما یک گواهینامه SSL معتبر برای نام میزبان دارید (یا قصد دارید با Let Encrypt ، که در این اسناد پوشیده شده است ، یکی از آنها را دریافت کنید)

اگر یک توسعه دهنده هستید که BigBlueButton را برای توسعه یا آزمایش در یک VM محلی ایجاد کرده و قصد استفاده از FireFox را دارید ، می توانید مراحل بالاتر (2) ، (3) و (4) را جست و جو کنید.

در این مرحله ، شما آماده نصب هستید. یک لیوان نوشیدنی مورد علاقه خود را بگیرید و بیایید شروع کنیم!

1 سرور خود را به روز کنید

ابتدا مطمئن شوید که سرور شما با جدیدترین بسته ها و به روزرسانی های امنیتی به روز شده است.

از طریق SSH به سرور خود وارد شوید. شما باید حسابی داشته باشید که بتواند دستورات را به عنوان root (از طریق sudo) اجرا کند. پس از ورود به سیستم ، ابتدا با انجام موارد زیر اطمینان حاصل کنید که xenail multiverseدر کار خود دارید/etc/apt/sources.list

$ grep "multiverse" /etc/apt/sources.list

پس از وارد کردن دستور فوق باید خط مخفی را برای مخزن multiverse مشاهده کنید ، که ممکن است شبیه این باشد

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

اگر شما یک برنامه نویس هستید که BigBlueButton را برای آزمایش و توسعه بر روی VM نصب می کنید ، برخی از مؤلفه های BigBlueButton مانند Tomcat هنگام راه اندازی به منبع آنتروپی احتیاج دارید. در یک VM ، آنتروپی موجود می تواند کم اجرا شود Tomcat می تواند برای مدت طولانی (گاهی اوقات چند دقیقه) قبل از اتمام راه اندازی آن مسدود شود. برای دادن مقدار آنتروپی به VM ، یک بسته بندی بسته بندی شده بنام haveged(یک مدل آنتروپی ساده) نصب کنید:

$ sudo apt-get install haveged

اگر در مورد جزئیات آنتروپی کنجکاو هستید ، به این لینک مراجعه کنید .

دو برنامه مورد نیاز BigBlueButton وجود دارد: ffmpeg(ایجاد ضبط) و yq(به روزرسانی فایل های YAML). نسخه پیش فرض ffmpegدر اوبونتو 16.04 قدیمی است و yqدر مخازن پیش فرض وجود ندارد. بنابراین ، قبل از نصب BigBlueButton ، برای اطمینان از نصب نسخه های مناسب ، باید بایگانی های بسته شخصی زیر (PPA) را به سرور خود اضافه کنید.

$ sudo add-apt-repository ppa:bigbluebutton/support -y
$ sudo add-apt-repository ppa:rmescandon/yq -y

بعد ، سرور خود را به آخرین بسته ها (و رفع مشکلات امنیتی) ارتقا دهید.

$ sudo apt-get update
$ sudo apt-get dist-upgrade

اگر مدتی به روز نشده اید ، apt-getممکن است توصیه کنید پس از dist-upgradeاتمام دوباره راه اندازی مجدد سرور خود را انجام دهید. قبل از شروع به مرحله بعدی ، دوباره راه اندازی مجدد را انجام دهید.

کلاینت BigBlueButton HTML5 از MongoDB ، یک پایگاه داده بسیار کارآمد استفاده می کند که برای همگام سازی وضعیت کلاینت ها استفاده می شود. برای نصب 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 به سرور nodejs نیاز دارد. برای نصب nodej ها ، موارد زیر را انجام دهید

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

2 گرفتن apt-get key برای مخزن bigbluebutton

همه بسته های BigBlueButton بصورت دیجیتالی با کلید عمومی پروژه امضا می شوند. قبل از نصب BigBlueButton ، باید کلید عمومی پروژه را به زنجیره کلید سرور خود اضافه کنید. برای این کار دستور زیر را وارد کنید:

$ 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

این بدان دلیل است که برخی از پرونده های متعلق به bbb-clientآنها انتقال داده شده اند که متعلق به آنها bbb-webباشد حذف bbb-clientبسته قبل از بروزرسانی به BigBlueButton 2.2 باعث می شود bbb-webاین پرونده ها بدون تعارض از نسخه های قدیمی تر ایجاد شوند 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سعی کنید لینک های جدیدترین بسته های BigBlueButton را پایین بکشید.

$ sudo apt-get update

3. تهیه نسخه پشتیبان از تنظیمات

اگر این یک نصب جدید باشد می توانید از این مرحله صرف نظر کنید.

اگر از BigBlueButon2.0 یا نسخه قبلی BigBlueButton 2.2 به روزرسانی کرده اید و تغییرات سفارشی ایجاد کرده اید ، مانند

  • راه اندازی گواهی SSL خود را در /etc/nginx/sites-available/bigbluebutton،
  • FreeSWITCH را برای پذیرش تماسهای تلفنی دریافتی تنظیم کرد ،
  • /var/www/bigbluebutton-default/default.pdfپرونده پیش فرض را تغییر داد

یا هرگونه تغییر دیگری در خارج از استفاده bbb-conf، قبل از به روزرسانی BigBlueButton می توانید از این تغییرات نسخه پشتیبان تهیه کنید. پس از به روزرسانی BigBlueButton ، می توانید تنظیمات سفارشی را دوباره روی سرور خود اعمال کنید.

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: شما می توانید خطاهای “عدم بارگیری پرونده های اضافی داده” برای ttf-mscorefonts-installerبسته را نادیده بگیرید . این یک مسئله شناخته شده با اوبونتو 16.04 است.

توجه 2: اگر نصب قبل از اتمام با خطایی خارج شد ، doulbe مراحل قبل از نصب را بررسی کنید . اگر خطاهای پیکربندی را پیدا کردید و برطرف کردید ، می توانید با استفاده از دستور ، نصب را تمام کنید sudo apt-get install -f.

نکته 3: اگر بعد از این هنوز خطایی دریافت کردید sudo apt-get install -f، در اینجا متوقف شوید. نصب تمام نشده است و BigBlueButton اجرا نخواهد شد. برای کمک به راهنمای راهنمایی عیب یابی و گزینه های دیگر مراجعه کنید .

پس از اتمام نصب ، می توانید HTML5 را به صورت پیش فرض کلاینت قرار دهید (توصیه می شود مگر اینکه به کلاینت Flash نیاز داشته باشید).

در آخر ، برای اطمینان از به روز بودن همه بسته ها ، یک نهایی را انجام دهید dist-upgrade

$ sudo apt-get dist-upgrade

پس از اتمام نصب ، می توانید HTML5 را به صورت پیش فرض (توصیه می شود) کنید.

بعد ، راه اندازی مجدد BigBlueButton:

$ sudo bbb-conf --restart

با این کار تمام اجزای سرور BigBlueButton به ترتیب مناسب مجدداً راه اندازی می شوند. توجه: نگران نباشید اگر در ابتدا مشاهده می کنید # 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 **

هر خروجی که دنبال شود Potential problems ممکن است خطاهای پیکربندی یا خطاهای نصب را نشان دهد. در بسیاری از موارد ، پیام ها به شما توصیه می کنند که چگونه مسئله را حل کنید.

همچنین می sudo bbb-conf --statusتوانید بررسی کنید که تمام مراحل BigBlueButto شروع شده و در حال اجرا هستند.

$ 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]

در این مرحله ، سرور BigBlueButton شما به آدرس IPV4 گوش می دهد. به عنوان مثال ، اگر سرور شما در آدرس IP 178.128.233.105 است ، می توانید http://178.128.233.105/ را باز کنید و صفحه ورودی را ببینید.

آموزش نصب bigbluebutton

آموزش نصب bigbluebutton

با این وجود ، شما نمی توانید از این صفحه وارد شوید ، مگر اینکه نسخه ی نمایشی API را نصب کنید (در صورت امتحان یک خطای 404) – مرحله بعدی نحوه افزودن نسخه ی نمایشی API را نشان می دهد).

پیشنهاد ویژه قائم هاست » خرید سرور bigbluebutton پرسرعت و ارزان با تحویل تحویل فوری!

اگر قصد استفاده از این سرور را با قسمت جلویی دیگر دارید ، به نسخه های نمایشی API نیازی ندارید. با تهیه ادغام آدرس سرور و راز مشترک می توانید BigBlueButton را با یکی از ادغام های شخص ثالث ادغام کنید. شما می توانید با استفاده از bbb-confاین اطلاعات را نفی کنید bbb-conf --secret.

$ 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

5. نصب نسخه های نمایشی API (اختیاری)

نسخه های نمایشی API مجموعه ای از صفحات Java Server (JSP) است که یک واسط مبتنی بر وب را برای آزمایش API BigBlueButton پیاده سازی می کند.

برای نصب نمونه های API ، دستور زیر را وارد کنید:

$ sudo apt-get install bbb-demo

پس از نصب ، می توانید نام خود را در صفحه اصلی وارد کرده و روی “عضویت” کلیک کنید.

آموزش نصب bigbluebutton

آموزش نصب bigbluebutton

این شما را به جلسه پیش فرض موسوم به “جلسه نمایشی” می پیوندد. در اینجا یک اسکرین شات با استفاده از FireFox ، باز کردن پانل Shared Notes ، ترسیم بر روی تخته سفید ، و به اشتراک گذاشتن یک وب کم قرار دارد.

آموزش نصب bigbluebutton

آموزش نصب bigbluebutton

هنگامی که با نمونه های API تمام شد ، می توانید آنها را حذف کنید

$ sudo apt-get remove bbb-demo

6. پیوند Anchor سرور خود را مجدداً راه اندازی کنید

می توانید سرور BigBlueButton را در هر زمان و با استفاده از دستورات مجدداً راه اندازی و بررسی کنید

$ sudo bbb-conf --restart
$ sudo bbb-conf --check

bbb-conf --checkاسکن برخی از فایل ورود به سیستم برای پیام های خطا. باز هم ، هر خروجی که دنبال شود Potential problems ممکن است خطاهای پیکربندی یا خطاهای نصب را نشان دهد. در بسیاری از موارد ، پیام ها به شما توصیه می کنند که چگونه مسئله را حل کنید.

توجه کنید که sudo bbb-conf --checkنسخه های نمایشی API نصب شده اند ، که به همه افرادی که دسترسی به سرور دسترسی دارند ، می توانند جلسه ای را اجرا کنند (به حذف نسخه های نمایشی API مراجعه کنید ).

در صورت مشاهده سایر پیام های هشداردهنده ، نصب عیب یابی را بررسی کنید .

7. مراحل نهایی پیوند لنگر برای

اگر این سرور برای تولید در نظر گرفته شده است ، باید

  • نام سرور را به سرور اختصاص دهید
  • برای پشتیبانی از HTTPS یک گواهی SSL نصب کنید
  • سیستم خود را ایمن کنید – دسترسی به پورت های خاص را محدود کنید
  • پیکربندی سرور برای کار در پشت فایروال (در صورت لزوم)
  • نسخه های نمایشی API را حذف کنید (اگر آنها را برای آزمایش نصب کرده اید)
  • سرور TURN را تنظیم کنید (اگر سرور شما در اینترنت است و کاربرانی دارید که از پشت فایروال های محدود کننده به آن دسترسی دارند)

ما دو سرور در دسترس عمومی ارائه می دهیم که می توانید از آنها برای آزمایش استفاده کنید:

  • https://demo.bigbluebutton.org – آخرین پایدار ساخت BigBlueButton با جلوی Greenlight را اجرا می کند
  • https://test.bigbluebutton.org – آخرین ساخته توسعه دهنده BigBlueButton را اجرا می کند

برای کسب اطلاعات بیشتر در مورد ادغام BigBlueButton با برنامه خود ، اسناد BigBlueButton API را بررسی کنید . برای دیدن فیلم های کلاینت BigBlueButton HTML5 ، به https://bigbluebutton.org/html5 مراجعه کنید .

اختصاص یک نام میزبان (Hostname)

برای هر سرور BigBlueButton تولیدی ، باید آن را به یک نام میزبان اختصاص دهید.

اگر قبلاً این کار را نکرده اید ، باید یک نام دامنه را از ارائه دهنده سرویس نام دامنه (DNS) خریداری کنید و با استفاده از رابط وب ارائه دهنده ، یک A recordنکته را برای اشاره به آدرس IP سرور خود پیکربندی کنید (به اسناد ارائه دهنده DNS خود مراجعه کنید. نحوه انجام این مرحله)

بعد از A recordراه اندازی ، دستور زیر و EXTERNAL_HOST_NAMEبا نام میزبان سرور BigBlueButton خود را وارد کنید.

$ ping EXTERNAL_HOST_NAME

در اینجا مثالی از خروجی با استفاده از demo.bigbluebutton.org:

$ 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 را نمی دهد ، هیچ بایت برنگردانده می شود ، اما باید آدرس IP سرور خود را ()بعد از نام میزبان در براکت ها برگردانید.

اگر نام میزبان به آدرس IP سرور (یا آدرس IP فایروال) در حال حل شدن است ، در مرحله بعدی از ابزار تنظیمات BigBlueButton bbb-confبرای به روزرسانی پرونده های پیکربندی BigBlueButton برای استفاده از این نام میزبان استفاده کنید.

$ sudo bbb-conf --setip HOSTNAME

به عنوان مثال ، اگر نام میزبان شما بود bigbluebutton.example.com، این دستور بود

$ sudo bbb-conf --setip bigbluebutton.example.com

در این مرحله ، شما باید سرور BigBlueButton را به آدرس IP (یا نام میزبان) گوش دهید و به درخواست های API پاسخ دهید. اما اگر سعی کردید از صفحه پیش فرض سرور با یک مرورگر وارد شوید ، خطایی رخ می دهد HTTP Status 404 - /demo/demo1.jsp.

چرا؟ سرور BigBlueButton برای لیست تماس های API آماده است ، اما جلوی آن به صورت پیش فرض نصب نشده است. به راحتی می توانید نسخه آزمایشی API را برای آزمایش سرور نصب کنید. در مرحله بعد نصب نسخه های نمایشی API را پوشش خواهیم داد.

با این حال ، اگر قصد استفاده از جلوی دیگر برای سرور BigBlueButton را دارید ، به عنوان مثال اگر به سرور مودل دسترسی ندارید و می خواهید پلاگین BigBlueButton Moodle را برای دسترسی به سرور BigBlueButton پیکربندی کنید ، نیازی به نسخه ی نمایشی API ندارید .

ssl را در سرور bigbluebutton خود پیکربندی کنید

برای امنیت بیشتر می خواهید SSL را به سرور BigBlueButton خود اضافه کنید. همچنین ، مانند Chrome 47 ، کاربران Chrome نمی توانند میکروفون خود را از طریق WebRTC به اشتراک بگذارند ، مگر اینکه BigBlueButton از طریق HTTPS بارگیری شود.

bigbluebutton را برای استفاده از نام دامنه پیکربندی کنید

لطفاً تمام دستورات موجود در این بخش را به عنوان root اجرا کنید .

برای به دست آوردن گواهی SSL معتبر برای سرور خود ، باید از قبل نام سرور را به سرور BigBlueButton خود اختصاص دهید.

برای اهداف مستند سازی ، ما از نام دامنه “shembull.com” ، با یک سرور BigBlueButton میزبان در “bigbluebutton.example.com” استفاده خواهیم کرد.

هنگامی که نام دامنه دارید و آن را با یک میزبان DNS پیکربندی کرده اید ، یک ضبط اضافه کنید که به سرور خود اشاره دارد. سپس می توانید از دستور تنظیمات bbb-conf برای پیکربندی BigBlueButton برای استفاده از این نام دامنه استفاده کنید ، برای مثال:

$ sudo bbb-conf --setip bigbluebutton.example.com

برای داشتن لینکگواهی SSL ، یک گواهی sslبگیرید

قبل از اینکه بتوانید nginx را در BigBlueButton در محتوای سرور از طریق HTTPS پیکربندی کنید ، باید یک گواهی SSL معتبر داشته باشید. دامنه معتبر (گاهی اوقات به نام “کلاس 1”) با کلید RSA 4096 بیتی و چک SHA-256 حداقل پیشنهادی فعلی است ، و باید کافی باشد.

تعدادی از ارائه دهندگان وجود دارد که می توانید از آنها گواهی دریافت کنید. بسیاری از شرکتهای فروش نام دامنه نیز دارای گواهینامه هستند.

برخی از ارائه دهندگان بزرگ گواهینامه های SSL مشهور عبارتند از Comodo ، Symantec ، GoDaddy ، GlobalSign و DigiCert. بعلاوه ، گواهینامه های رایگان SSL از StartSSL و CACert در دسترس هستند و برخی از موارد احتیاطی نیز وجود دارد: گواهینامه های StartSSL بدون پرداخت هزینه خدمات قابل لغو نیستند و بیشتر افراد ریشه CACert را در مرورگر وب خود نصب نمی کنند.

هر ارائه دهنده یک سری مراحل را برای تولید گواهینامه به شما ارائه می دهد ، اما آنها به طور معمول شامل تولید یک کلید خصوصی و درخواست گواهی در محل ، ارسال درخواست گواهی برای امضاء شدن و ارسال مجدد گواهی نامه امضا شده پس از انجام هرگونه تاییدیه لازم هستند. پله ها

برای نصب گواهینامه در BigBlueButton ، باید پرونده هایی برای گواهی ، کلید خصوصی و هرگونه گواهی واسطه در قالب PEM داشته باشید.

اگر هنوز یک گواهی SSL ندارید و سرور شما در اینترنت است ، می توانید از Let Encrypt برای به دست آوردن یک گواهینامه رایگان SSL تجدید پذیر استفاده کنید (بعد از 90 روز منقضی می شود ، اما به طور خودکار قابل تجدید هستند). اگر می خواهید از Let Encrypt استفاده کنید ، سپس با استفاده از Let Encrypt ، راه اندازی کنید .

پیکربندی nginx برای استفاده از https پیکربندی کنید

بسته به اختیار گواهینامه خود (CA) ، اکنون باید 2 یا بیشتر پرونده به شرح زیر داشته باشید:

  • گواهی
  • کلید خصوصی
  • گواهینامه واسط (ممکن است بیش از یک یا وجود داشته باشد)

قدم بعدی نصب فایل ها روی سرور است.

ایجاد فهرست /etc/nginx/ssl:

$ sudo mkdir /etc/nginx/ssl

و اکنون فایل کلید خصوصی را برای nginx ایجاد کنید (نام نام میزبان را در نام خود با نام خود جایگزین کنید). علاوه بر این ، مجوزها را برطرف کنید تا فقط root بتواند کلید خصوصی را بخواند:

# cat >/etc/nginx/ssl/bigbluebutton.example.com.key <<'END'
Paste the contents of your key file here
END
chmod 0600 /etc/nginx/ssl/bigbluebutton.example.com.key

و پرونده گواهی. توجه داشته باشید که nginx به گواهی سرور شما و لیست گواهینامه های واسطه در کنار هم در یک پرونده نیاز دارد (نام میزبان را در نام خود با نام خود جایگزین کنید):

# cat >/etc/nginx/ssl/bigbluebutton.example.com.crt <<'END'
Paste (in order) the contents of the following files:
  1. The signed certificate from the CA
  2. In order, each intermediate certificate provided by the CA (but do not include the root).
END

علاوه بر این ، ما مجموعه ای از پارامترهای Diffie-Hellman 4096 بیتی را برای بهبود امنیت برخی از انواع رمزها تولید خواهیم کرد. این مرحله می تواند چندین دقیقه طول بکشد ، خصوصاً در صورت اجرای یک ماشین مجازی.

sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhp-4096.pem 4096

اکنون می توانیم پیکربندی nginx را برای استفاده از SSL ویرایش کنیم. /etc/nginx/sites-available/bigbluebuttonبرای اضافه کردن خطوط مشخص شده ، فایل را ویرایش کنید . اطمینان حاصل کنید که از نامهای صحیح برای مطابقت با گواهی و پرونده های کلیدی که در بالا ایجاد کرده اید استفاده می کنید.

server {
  server_name bigbluebutton.example.com;
  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;

  ssl_certificate /etc/nginx/ssl/bigbluebutton.example.com.crt;
  ssl_certificate_key /etc/nginx/ssl/bigbluebutton.example.com.key;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
  ssl_prefer_server_ciphers on;
  ssl_dhparam /etc/nginx/ssl/dhp-4096.pem;
  

برای مرجع ، توجه داشته باشید که تنظیمات SSL مورد استفاده در بالا براساس موارد پیشنهادی در https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ است و پشتیبانی از همه مرورگرهای مدرن (از جمله IE8) را ارائه می دهد. نه IE6 ، در ویندوز XP). لطفا توجه داشته باشید که تنظیمات SSL توصیه می شود با پیدا شدن آسیب پذیری های جدید ، تغییراتی ایجاد کند.

پیکربندی freeswitch برای استفاده از ssl

اگر در سرور خود فایروال دارید و پورت 5066 را باز کرده اید ، این قانون را تغییر دهید تا در عوض پورت 7443 را باز کنید.

همچنین ، اگر سرور BigBlueButton شما در پشت فایروال قرار دارد ، برای جلوگیری از بروز خطای 1002 در کلاینت ، لازم است valueبا یک آدرس IP خارجی مشخص کنید EXTERNAL_IP_ADDRESS:7443. برای اطلاعات بیشتر ، به پیکربندی BigBlueButton در پشت فایروال مراجعه کنید .

در مرحله بعد ، آدرس هدایت وب در nginx. پرونده را ویرایش کرده /etc/bigbluebutton/nginx/sip.nginxو پروتکل و پورت را در خط proxy_pass همانطور که نشان داده شده است تغییر دهید.

location /ws {
  proxy_pass https://203.0.113.1:7443;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
  proxy_read_timeout 6h;
  proxy_send_timeout 6h;
  client_body_timeout 6h;
  send_timeout 6h;
}

پیکربندی bigbluebutton برای بارگیری جلسه از طریق https

با nginx که اکنون برای استفاده از SSL پیکربندی شده است ، مرحله بعدی پیکربندی FreeSWITCH برای استفاده از HTTPS برای شروع یک اتصال صوتی است.

برای استفاده از HTTPS /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties، ویژگی bigbluebutton.web.serverURLرا ویرایش و به روز کنید:

#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user successfully
# enters a name and password, she is redirected here to load the client.
bigbluebutton.web.serverURL=https://bigbluebutton.example.com

در مرحله بعد ، پرونده را ویرایش کرده /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.propertiesو ویژگی را به روز کنید jnlpUrlو jnlpFileدر HTTPS:

streamBaseUrl=rtmp://bigbluebutton.example.com/screenshare
jnlpUrl=https://bigbluebutton.example.com/screenshare
jnlpFile=https://bigbluebutton.example.com/screenshare/screenshare.jnlp

همچنین باید فایل را /var/www/bigbluebutton/client/conf/config.xmlبه روز کنید تا به کلاینت BigBlueButton بگویید که قطعات را از طریق HTTPS بارگیری کند. شما می توانید بروزرسانی را با یک فرمان واحد انجام دهید

$ sudo sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml

اگر شما نیاز به برگرداندن این تغییر دارید ، می توانید دستور معکوس را اجرا کنید:

$ sudo sed -e 's|https://|http://|g' -i /var/www/bigbluebutton/client/conf/config.xml

/usr/share/meteor/bundle/programs/server/assets/app/config/settings.ymlویرایش را باز کنید و تغییر دهید:

  kurento:
    wsUrl: ws://bbb.example.com/bbb-webrtc-sfu

به

  kurento:
    wsUrl: wss://bbb.example.com/bbb-webrtc-sfu

همچنین تغییر دهید:

  note:
    enabled: true
    url: http://bbb.example.com/pad

به

  note:
    enabled: true
    url: https://bbb.example.com/pad

در مرحله بعد ، ایجاد ضبط ها را اصلاح کنید تا از طریق HTTPS سرو شوند. /usr/local/bigbluebutton/core/scripts/bigbluebutton.ymlمقدار playback_protocol را به شرح زیر ویرایش و تغییر دهید:

playback_protocol: https

اگر دموی API را در مرحله 5 نصب کرده اید ، /var/lib/tomcat7/webapps/demo/bbb_api_conf.jspمقدار BigBlueButtonURLاستفاده از HTTPS را ویرایش و تغییر دهید .

// This is the URL for the BigBlueButton server
String BigBlueButtonURL = "https://bigbluebutton.example.com/bigbluebutton/";

در آخر ، برای اعمال کلیه تغییرات پیکربندی ایجاد شده ، باید کلیه مؤلفه های BigBlueButton را مجدداً راه اندازی کنید:

$ sudo bbb-conf --restart

پیکربندی https را آزمایش کنید

به منظور اطمینان از اینکه هیچ اشتباهی نکرده اید که می تواند باعث سازش امنیتی شود ، پیکربندی HTTPS خود را آزمایش کنید. سایتی محترم که می تواند یک سری تست خودکار را انجام دهد https://www.ssllabs.com/ssltest/ – به راحتی نام میزبان سرور خود را وارد کنید ، در صورت تمایل می توانید گزینه “نتایج را نشان ندهید” را علامت بزنید. آن را خصوصی کنید ، سپس ارسال کنید

در زمان نوشتن ، پیکربندی نشان داده شده در این صفحه باید به یک رتبه “A” در صفحه آزمایش SSL Labs برسد.

با استفاده از پیوند Let’s Encrypt Anchor برای استفاده از رمزگذاری اجازه می دهیم

اگر یک نام دامنه به سرور BigBlueButton شما اختصاص داده شده است (یعنی bigbluebutton.example.com) و سرور در اینترنت است ، می توانید برای بدست آوردن گواهینامه های SSL رایگان ، از Let Encrypt استفاده کنید.

ابتدا ابزار پیکربندی Let’s Encrypt را نصب کنید. لطفاً تمام دستورات را در این بخش root اجرا کنید .

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository universe
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get install certbot

در مرحله بعدی ، مجموعه ای از پارامترهای Diffie-Hellman 4096 بیتی را ایجاد کنید تا امنیت برخی از انواع رمزها بهبود یابد.

sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhp-4096.pem 4096

قبل از تولید گواهی بر روی سرور خود ، باید از BigBlueButton پیکربندی کنید تا از نام میزبان مورد نظر استفاده شود. اگر قبلاً این کار را نکرده اید ، از دستور زیر استفاده کنید ( bigbluebutton.example.comنام DNS خود را جایگزین کنید) ، تا سرور BigBlueButton را با نام میزبان خود پیکربندی کنید.

$ sudo bbb-conf --setip bigbluebutton.example.com

در مرحله بعد ، با استفاده از certbotابزار ، گواهی SSL را از Let Encrypt بخواهید . دوباره bigbluebutton.example.comنام خانوادگی خود را جایگزین کنید.

$ sudo certbot --webroot -w /var/www/bigbluebutton-default/ -d bigbluebutton.example.com certonly

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/bigbluebutton.example.com/fullchain.pem. Your cert will
   expire on 20XX-YY-ZZ. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.
 - If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

این باعث ایجاد پرونده های زیر می شود

$ ls /etc/letsencrypt/live/bigbluebutton.example.com/
cert.pem  chain.pem  fullchain.pem  privkey.pem

بعد ، فایل پیکربندی nginx را ویرایش کنید /etc/nginx/sites-available/bigbluebuttonو خطوط مشخص شده را در زیر اضافه کنید. اطمینان حاصل کنید که از نامهای صحیح برای مطابقت با گواهینامه و پرونده های کلیدی که در بالا ایجاد کرده اید استفاده می کنید (دوباره bigbluebutton.example.comنام خانوادگی خود را جایگزین کنید).

server {
  server_name bigbluebutton.example.com;
  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;
  ssl_certificate /etc/letsencrypt/live/bigbluebutton.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/bigbluebutton.example.com/privkey.pem;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
  ssl_prefer_server_ciphers on;
  ssl_dhparam /etc/nginx/ssl/dhp-4096.pem;
  

گواهینامه های Let Encrypte به مدت 90 روز خوب هستند و می توانند به صورت خودکار تمدید شوند. برای درخواست خودکار تمدید یک بار در هفته ، پرونده crontab را برای root ویرایش کنید.

$ sudo crontab -e

و دو خط زیر را در انتها اضافه کنید:

30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
35 2 * * 1 /bin/systemctl reload nginx

این دو بخشنامه certbot renewهر دوشنبه ساعت 2:30 بامداد دستور را اجرا می کنند و سپس Nginx را در ساعت 2:35 صبح بارگذاری مجدد کنید (بنابراین از گواهی تجدید شده استفاده می شود). خروجی به پرونده log واقع در /var/log/le-renewal.log لوله گذاری می شود ، بنابراین همیشه می توانید بعداً آن را بررسی کنید.

جهت خرید سرور bigbluebutton اینجا کلیک کنید.

سایر مطالب پیشنهادی »

 

5/5 - (34 امتیاز)