BigBlueButton ، یک برنامه رایگان و منبع باز برای سیستم عامل لینوکس است که (بصورت تحت وب و بدون نیاز به هیچ برنامه‌ای) امکان ایجاد کلاس‌های مجازی برای ویدیو کنفرانس و وبینار رو فراهم می‌کند. این نرم افزار بر روی کامپیوتر شخصی و لپ‌تاپ قابل نصب نیست و نیاز به سرور مجازی و یا سرور اختصاصی قدرتمند دارد.

BigBlueButton دارای یک محیط ساده و امکانات گرافیکی کم است؛ بدین معنی که اکثر کارها در آن از طریق محیط متنی قابل انجام است. به همین دلیل ماژولی به نام Green Light برای این نرم افزار ارائه شده است که امکانات مطلوبی را در اختیار کاربران BigBlueButton قرار می‌دهد.

 

به منظور سهولت نصب Greenlight بر روی سرور BigBlueButton، بسیار توصیه می‌شود که از Docker استفاده نمایید.

 

این مطلب نیز ممکن است برای شما مفید باشد: نصب ابزار BigBlueButton در اوبونتو 16.04

 

در این آموزش، Greenlight با تنظیمات پیش فرض نصب می‌شود. در صورت نیاز شما می‌توانید از طریق Administrator Interface، تصویر نام تجاری، رنگ اصلی و سایر تنظیمات سایت را سفارشی کنید. دقت کنید که شما باید تمام دستورات موجود در این آموزش را به عنوان root در سرور BigBlueButton خود اجرا نمایید.

قبل از نصب Greenlight، باید یک سرور BigBlueButton داشته باشید تا روی آن نصب شود. این سرور باید:

دارای نسخه BigBlueButton 2.0 (یا بیشتر) باشد.

دارای نام میزبان کاملاً واجد شرایط باشد.

گواهی SSL معتبر (HTTPS) داشته باشد.

 

نصب Docker

مستندات رسمی Docker بهترین منبع برای مراحل نصب Docker است.

قبل از رفتن به مراحل بعدی، با دستور زیر بررسی کنید که Docker نصب شده باشد:

docker -v

 

این مطلب نیز ممکن است برای شما مفید باشد: رفع خطای "Permission Denied" پس از نصب Docker در اوبونتو

 

نصب greenlight

ابتدا دایرکتوری Greenlight را برای پیکربندی آن ایجاد نمایید.

mkdir ~/greenlight && cd ~/greenlight

Greenlight پیکربندی محیطی خود را از فایل .env می‌خواند. برای ایجاد این فایل و نصب Greenlight Docker image، دستور زیر را اجرا کنید:

docker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .env

 

پیکربندی greenlight

اگر فایل .env را باز نمایید، مشاهده خواهید کرد که حاوی اطلاعات مربوط به همه گزینه‌های پیکربندی Greenlight است. برخی از این موارد اجباری است.

زمانی که آن را نصب نمایید، فایل .env در مسیر ~/greenlight/.env ایجاد می‌شود.

 

تولید کلید مخفی

Greenlight به منظور اجرا، به یک کلید مخفی نیاز دارد. بدین منظور باید دستور زیر را اجرا کنید:

docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret

در داخل فایل .env خود، گزینه SECRET_KEY_BASE را روی این کلید تنظیم نمایید. نیازی نیست که آن را درون کوتیشن (“) قرار دهید.

 

تنظیم گواهی‌نامه bigbluebutton

به طور پیش فرض، اگر هیچ گواهی‌نامه BigBlueButton مشخص نشده باشد، برنامه Greenlight شما به طور خودکار به test-install.blindsidenetworks.com متصل می‌شود. به منظور تنظیم Greenlight برای اتصال به سرور BigBlueButton شما (سروری که روی آن نصب شده است)، باید نقطه پایانی و کلید (secret) را به Greenlight بدهید. بدین منظور از دستور زیر استفاده کنید:

sudo bbb-conf --secret

در فایل .env خود، BIGBLUEBUTTON_ENDPOINT را روی URL و BIGBLUEBUTTON_SECRET را روی secret تنظیم نمایید.

 

تنظیم میزبان مجاز

به دلایل امنیتی، شما باید دامنه‌ای را نیز که برنامه از آن قابل دسترسی است، مشخص کنید.

بدین منظور در فایل .env خود، SAFE_HOSTS را روی دامنه خود تنظیم نمایید. به عنوان مثال، اگر Greenlight درآدرس  https://bbb.example.com/b قابل دسترسی است باید SAFE_HOSTS = bbb.example.com را وارد کنید.

 

پیکربندی تنظیمات خاص

به غیر از 3 پیکربندی ذکر شده در بالا، گزینه‌های مختلفی برای پیکربندی Greenlight وجود دارد که در فایل .env ذکر شده است.

 

تأیید پیکربندی

پس از اتمام تنظیم متغیرهای محیطی بالا که در فایل .env انجام می‌شود، به منظور اطمینان از اعتبار پیکربندی، دستور زیر را اجرا نمایید:

docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check

اگر یک سرور SMTP را در فایل .env خود پیکربندی کرده باشید، قبل از ادامه دادن، هر چهار آزمایش باید با موفقیت پشت سر گذاشته شوند. اما اگر سرور SMTP را پیکربندی نکرده باشید، قبل از شروع کار، تنها سه آزمایش اول باید انجام شود.

 

پیکربندی nginx برای مسیریابی به greenlight

Greenlight به منظور استقرار در زیرشاخه /b پیکربندی می‌شود. این پیکربندی به دلیل جلوگیری از تناقض با سایر اجزای BigBlueButton ضروری است. پیکربندی Nginx برای این زیر شاخه در Greenlight image ذخیره می‌شود. به منظور افزودن این فایل پیکربندی به سرور BigBlueButton خود، دستور زیر را اجرا کنید:

docker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx

بررسی کنید که فایل پیکربندی Nginx در جای خود یعنی در مسیر /etc/bigbluebutton/nginx/greenlight.nginx قرار دارد. اگر چنین بود، Nginx را مجدداً راه‌اندازی نمایید تا پیکربندی جدید را دریافت کند.

sudo systemctl restart nginx

با این کار همه درخواست‌های به https://<hostname>/b به برنامه Greenlight هدایت می‌شود.

چنانچه بخواهید صفحه پیش فرض اصلی سرور BigBlueButton شما به Greenlight هدایت شود، قطعه کد زیر را در پایین /etc/nginx/sites-available/bigbluebutton (درست قبل از آخرین کاراکتر }) اضافه کنید.

location = / {
  return 307 /b;
}

به منظور اعمال این تغییر باید Nginx را مجدداً راه‌اندازی نمایید.

راه‌اندازی greenlight 2.0

به منظور راه‌اندازی Greenlight Docker container، باید docker-compose را نصب کنید تا روند شروع و توقفDocker containerها ساده‌تر شود.

docker-compose را با دنبال کردن مراحل نصب روی لینوکس در اسناد Docker، نصب نمایید. ممکن است از شما خواسته شود که همه دستورات docker-compose را با استفاده از sudo اجرا کنید.

دقت کنید که نسخه docker-compose موجود در اوبونتو را از طریق apt-get نصب ننمایید؛ چراکه معمولاً یک نسخه قدیمی است.

این مطلب نیز ممکن است برای شما مفید باشد: نصب Docker Compose در اوبونتو 20.04

 

استفاده از docker compose

قبل از ادامه کار، با اجرای دستور زیر بررسی کنید که docker-compose را نصب کرده‌اید:

cd ~/greenlight
docker-compose -v

در مرحله بعد، شما باید فایل docker-compose.yml را از Greenlight image در دایرکتوری ~/greenlight کپی نمایید. برای انجام این کار، دستور زیر را اجرا کنید:

docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml

در نهایت، به طور تصادفی یک رمز عبور برای پایگاه داده PostgreSQL ایجاد کرده و نوشته‌های موجود در فایل .env و .docker-compose.yml را با دستور زیر جایگزین نمایید.

export pass=$(openssl rand -base64 24); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env

 

پس از اتمام این مراحل، از دایرکتوری  ~/greenlight، با استفاده از دستور زیر برنامه را راه‌اندازی کنید:

docker-compose up -d

با این کار Greenlight راه‌اندازی شده و شما باید بتوانید از طریق https://<hostname>/b به آن دسترسی داشته باشید.

پایگاه داده در سرور BigBlueButton ذخیره می‌شود؛ بنابراین هنگام راه‌اندازی مجدد داده‌ها همچنان باقی می‌مانند. این را می‌توان در ~/greenlight/db یافت.

همه گزارشات مربوط به برنامه نیز در سرور BigBlueButton ذخیره می‌شود، که در آدرس green/greenlight/log قرار دارد.

چنانچه نمی‌خواهید هیچ کدام از آن‌ها باقی بماند، کافی است volumها را از فایل docker-compose.yml حذف نمایید.

به منظور متوقف کردن برنامه، کافیست دستور زیر را اجرا کنید:

docker-compose down

 

به روز رسانی greenlight

به منظور به روز رسانی Greenlight، تنها کاری که باید انجام دهید این است که آخرین image را از Dockerhub دریافت نمایید.

cd ~/greenlight
docker pull bigbluebutton/greenlight:v2
docker-compose down
docker-compose up -d

هنگامی‌که Greenlight را به روز کردید، باید آخرین نسخه فایل sample.env را در اینجا بررسی کرده و ببینید آیا تنظیمات جدیدی وجود دارد که باید تغییر دهید یا به Greenlight اضافه کنید. اگر با تنظیمات مورد نظر خود برخورد کردید، کافی است آن را در انتهای فایل .env خود کپی کرده و سپس Greenlight را مجدداً راه‌اندازی نمایید:

docker-compose down
docker-compose up -d

 

تغییر از Install به Customize

در صورت تمایل به تغییر در کد، مراحلی وجود دارد که می‌توانید از طریق آن بدون از دست دادن داده‌ها، از نسخه Install به نسخه Customize بروید.

در ابتدا با استفاده از دستور زیر، نام دایرکتوری Greenlight را تغییر دهید تا با نصب قبلی مشکل پیدا نکنید:

docker-compose down
cd ..
mv greenlight/ greenlight-old/

سپس با دنبال کردن دستورالعمل‌های Customize در اینجا، Greenlight را نصب نمایید. نگران هیچ یک از تنظیمات .env نباشید، زیرا با نسخه‌ای که در حال حاضر از آن استفاده می‌کنید رونویسی می‌شود.

با استفاده از دستورات زیر، فایل پایگاه داده و فایل .env خود را کپی کنید:

cp ~/greenlight-old/.env ~/greenlight/.env
sudo cp -r ~/greenlight-old/db ~/greenlight/

در نهایت، Greenlight را با استفاده از دستورات زیر مجدداً راه‌اندازی نمایید:

cd ~/greenlight
docker-compose down
docker-compose up -d

 

اشکال‌زدایی greenlight

گاهی اوقات هنگام تنظیم برنامه‌ها، گام‌های اشتباه و ناسازگاری وجود دارد که باید با استفاده از logهای مربوط به برنامه، آن اشکالات را برطرف نمود. در مورد greenlight نیز به همین صورت است.

 

بررسی Logها

بهترین راه برای تعیین علت اصلی مشکلات در برنامه Greenlight شما بررسی logها است.

Docker همیشه بر روی یک محیط تولید اجرا می‌شود، بنابراین logها در log/production.log از دایرکتوری ~/greenlight قرار می‌گیرند.

 

حذف نصب

چنانچه می‌خواهید Greenlight را حذف کنید، می‌توانید با اجرای دستورات زیر این کار را انجام دهید:

توجه: با این کار تمام داده‌های مرتبط با Greenlight برای همیشه حذف می‌شود و قابل بازیابی نخواهند بود.

cd ~/greenlight
docker-compose down
docker rmi bigbluebutton/greenlight:v2
cd ../
sudo rm -rf greenlight/

 

 

 

منبع:

bigbluebutton