نصب Greenlight نسخه ۳
معرفی کلی
Greenlight یک برنامه وب متنباز با مجوز LGPL-3.0 است که به سازمانها این امکان را میدهد تا با استفاده از سرور BigBlueButton موجود خود، بهسرعت یک پلتفرم کامل وبکنفرانس راهاندازی کنند. این سامانه هم برای کاربران عادی و هم برای کاربران حرفهای، رابطی ساده و کاربرپسند دارد.
Greenlight v3 که جدیدترین نسخه این نرمافزار است، با استفاده از جدیدترین نسخههای Ruby on Rails و React توسعه داده شده است؛ یک پشته فناوری قدرتمند که در میلیونها پروژه در سراسر جهان مورد استفاده قرار میگیرد و مورد اعتماد شرکتهای بزرگ است.
Greenlight v3 بهصورت پیشفرض از احراز هویت داخلی (Local Authentication) استفاده میکند. این بدان معناست که فرآیند احراز هویت در داخل خود پلتفرم مدیریت میشود و نیازی به سرور یا سرویس خارجی ندارد. در صورت نیاز به روشهای پیشرفتهتر احراز هویت، میتوان Greenlight v3 را از طریق OpenID Connect به سرورهای احراز هویت خارجی متصل کرد. برای اطلاعات بیشتر به بخش «احراز هویت خارجی» مراجعه کنید.
روشهای نصب Greenlight v3
- نصب در کنار سرور BigBlueButton
- نصب روی سرور مستقل (Standalone)
نصب در کنار سرور BigBlueButton
اسکریپت bbb-install
اگر سرور شما از قبل دارای BigBlueButton است و قصد ارتقای آن را دارید، یا میخواهید BigBlueButton و Greenlight را بهصورت همزمان روی یک سرور جدید نصب کنید، میتوانید از اسکریپت bbb-install استفاده نمایید. برای نصب Greenlight کافی است اسکریپت را با تنظیمات دلخواه اجرا کرده و گزینه -g را برای نصب/ارتقای Greenlight در کنار BigBlueButton اضافه کنید.
اجرای اسکریپت
برای اجرای اسکریپت، دستور زیر را اجرا کرده و بهجای [OPTIONS] تنظیمات موردنظر خود را قرار دهید:
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v2.7.x-release/bbb-install.sh | bash -s -- [OPTIONS] -g
پس از اتمام اجرای اسکریپت، پیغام موفقیتآمیزی در کنسول نمایش داده میشود که شامل آدرس دسترسی به Greenlight است و تأیید میکند BigBlueButton بههمراه Greenlight نصب یا ارتقا یافته است.
ایجاد حساب مدیر (Admin)
پس از تکمیل نصب، باید یک حساب مدیر سیستم برای دسترسی به پنل مدیریتی ایجاد کنید. برای این کار دستور زیر را اجرا کنید:
docker exec -it greenlight-v3 bundle exec rake admin:create['name','email','password']
همچنین میتوانید این دستور را بدون آرگومان اجرا کنید تا یک حساب مدیر پیشفرض ایجاد شود. سپس میتوانید رمز عبور آن را تغییر داده یا از آن برای ارتقای حساب کاربری خود به مدیر استفاده کرده و در نهایت حساب پیشفرض را حذف نمایید:
docker exec -it greenlight-v3 bundle exec rake admin:create
ارتقای یک حساب موجود به مدیر سیستم
برای تبدیل یک کاربر موجود به مدیر، دستور زیر را اجرا کنید:
docker exec -it greenlight-v3 bundle exec rake user:set_admin_role['email']
تغییر رمز عبور کاربر
ابتدا کنسول Rails را در کانتینر باز کنید:
docker exec -it greenlight-v3 bundle exec rails console
سپس در کنسول اجرا کنید:
user = User.find_by!(email: 'user@example.com')
user.update!(password: 'NewPassword', password_confirmation: 'NewPassword')
توجه: این روش فقط برای کاربرانی با احراز هویت داخلی کاربرد دارد. اگر از احراز هویت خارجی (OpenID Connect) استفاده میکنید، باید تغییر رمز عبور از طریق ارائهدهنده هویت انجام شود.
نصب Greenlight روی سرور مستقل (Standalone)
اسکریپت نصب Greenlight
اگر قصد دارید Greenlight را روی سروری مستقل (بدون نصب BigBlueButton روی همان سرور) راهاندازی کنید، یک اسکریپت نصب اختصاصی برای سادهسازی مراحل نصب ارائه شده است. این اسکریپت گزینههای مختلفی را برای تنظیم مطابق نیاز شما فراهم میکند. قبل از اجرا، باید گزینههای موردنظر خود را انتخاب کنید.
گزینههای پشتیبانیشده
-s <hostname>: تنظیم نام میزبان سرور (اجباری)
-b <hostname>:<secret>: اطلاعات سرور BigBlueButton (خروجی bbb-conf --secret) (اجباری)
-k: نصب Keycloak (برای احراز هویت خارجی) (اختیاری)
-d: عدم تولید گواهی SSL (در صورت عدم استفاده از -e اجباری)
- فایلهای گواهی (
fullchain.pem و privkey.pem) باید در مسیر /local/certs/ قرار گیرند
- همزمان با گزینه
-e قابل استفاده نیست
-e <email>: ایمیل برای دریافت گواهی SSL از Let’s Encrypt (در صورت عدم استفاده از -d اجباری)
- همزمان با گزینه
-d قابل استفاده نیست
متغیرهای محیطی (Environment Variables)
GL_PATH: تنظیم مسیر نسبی اجرای Greenlight (اختیاری)
برای زمانی که Greenlight پشت Reverse Proxy و در مسیری غیر از مسیر پیشفرض / اجرا میشود؛ مانند /gl.
نمونه تنظیمات
نمونه گزینهها برای راهاندازی Greenlight 3.x با گواهی SSL معتبر عمومی برای دامنه www.example.com و ایمیل info@example.com و اتصال به سرور BigBlueButton با دامنه bbb.example.com و secret برابر SECRET:
-s www.example.com -e info@example.com -b bbb.example.com:SECRET
نمونه گزینهها برای راهاندازی Greenlight 3.x با گواهی SSL از پیش موجود برای دامنه www.example.com و اتصال به سرور BigBlueButton با دامنه bbb.example.com و secret برابر SECRET:
-s www.example.com -b bbb.example.com:SECRET -d
اجرای اسکریپت
برای اجرای اسکریپت، دستور زیر را اجرا کنید و بهجای [OPTIONS] مقادیر مناسب را قرار دهید:
wget -qO- https://raw.githubusercontent.com/bigbluebutton/greenlight/master/gl-install.sh | bash -s -- [OPTIONS]
پس از اتمام اجرای اسکریپت، پیغام موفقیت در کنسول نمایش داده میشود و Greenlight v3 از طریق آدرس مشخصشده در زمان نصب در دسترس خواهد بود.
ایجاد حساب مدیر (Admin)
پس از تکمیل نصب، برای دسترسی به پنل مدیریتی باید حساب مدیر ایجاد کنید:
docker exec -it greenlight-v3 bundle exec rake admin:create['name','email','password']
یا ایجاد حساب مدیر پیشفرض:
docker exec -it greenlight-v3 bundle exec rake admin:create
تنظیمات اختیاری فایل .env
تنظیم زبان پیشفرض
| نام متغیر |
توضیحات |
مقدار پیشفرض |
DEFAULT_LOCALE |
زبان پیشفرض برای تمام کاربران تازه ایجادشده (کاربران میتوانند از پروفایل خود زبان را تغییر دهند) |
en |
تنظیم ایمیل (SMTP)
پیکربندی SMTP باید بر اساس راهنمای سرویسدهنده ایمیل شما انجام شود. جزئیات دقیق ممکن است بسته به سرویس SMTP متفاوت باشد.
| نام متغیر |
توضیحات |
مقدار پیشفرض |
SMTP_SERVER |
آدرس سرور ارسال ایمیل که سرویس SMTP روی آن فعال است |
- |
SMTP_PORT |
پورتی که سرویس SMTP روی آن در دسترس است (معمولاً 25 برای SMTP و 465 برای SMTPS) |
- |
SMTP_USERNAME |
نام کاربری برای احراز هویت در سرور SMTP |
- |
SMTP_PASSWORD |
رمز عبور برای احراز هویت در سرور SMTP |
- |
SMTP_AUTH |
نوع احراز هویت SMTP: plain، login، cram_md5 |
- |
SMTP_DOMAIN |
نام دامنه کلاینت SMTP (معمولاً بخش دامنه ایمیل فرستنده) |
- |
SMTP_SENDER_EMAIL |
آدرس ایمیلی که در بخش From نمایش داده میشود |
- |
SMTP_SENDER_NAME |
نام ارسالکننده که در بخش From نمایش داده میشود |
- |
SMTP_STARTTLS_AUTO |
انتخاب خودکار بین STARTTLS و SMTP معمولی بر اساس پشتیبانی سرور |
true |
SMTP_STARTTLS |
بررسی پشتیبانی سرور از STARTTLS و ارتقای اتصال |
false |
SMTP_TLS |
استفاده از SMTPS هنگام اتصال به SMTP |
false |
SMTP_SSL_VERIFY |
فعال/غیرفعالکردن بررسی SSL گواهی سرور SMTP در اتصال SMTPS |
true |
تنظیم OpenID Connect
| نام متغیر |
توضیحات |
مقدار پیشفرض |
OPENID_CONNECT_CLIENT_ID |
Client ID صادرکننده OpenID |
- |
OPENID_CONNECT_CLIENT_SECRET |
Secret برای احراز هویت نزد صادرکننده OpenID |
- |
OPENID_CONNECT_ISSUER |
آدرس URL صادرکننده OpenID (باید HTTPS و پورت 443 باشد) |
- |
OPENID_CONNECT_REDIRECT |
آدرس بازگشت (Redirect URI) پس از احراز هویت موفق (باید URL گرینلایت باشد) |
- |
OPENID_CONNECT_UID_FIELD |
فیلد اطلاعات کاربر برای شناسه یکتا در Greenlight |
sub |
تنظیم hCaptcha
| نام متغیر |
توضیحات |
مقدار پیشفرض |
HCAPTCHA_SITE_KEY |
Site Key مربوط به سایت hCaptcha |
- |
HCAPTCHA_SECRET_KEY |
Secret برای احراز هویت با hCaptcha |
- |
تنظیم مسیر نسبی URL (Subdirectory)
Greenlight بهصورت پیشفرض انتظار دارد روی مسیر ریشه / دامنه شما اجرا شود. اگر قصد دارید آن را در مسیری مانند /gl اجرا کنید، میتوانید در زمان نصب متغیر GL_PATH را تنظیم کرده و سپس نصب/ارتقا را انجام دهید.
نصب روی مسیر /gl
برای سیستمهایی که از اسکریپت نصب BigBlueButton استفاده میکنند (با گزینه -g):
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v2.7.x-release/bbb-install.sh | GL_PATH=/gl bash -s -- [options] -g
برای سیستمهایی که از اسکریپت نصب Greenlight استفاده میکنند:
wget -qO- https://raw.githubusercontent.com/bigbluebutton/greenlight/master/gl-install.sh | GL_PATH=/gl bash -s -- [options]
نکته: در مقدار GL_PATH از قرار دادن اسلش پایانی خودداری کنید.
در روش جایگزین، میتوانید فایل /root/greenlight-v3/.env را ویرایش کرده و مقدار RELATIVE_URL_ROOT را مطابق نیاز خود تنظیم کنید، سپس مجدداً دستور bbb-install را با گزینه -g اجرا نمایید (بدون تعریف GL_PATH).
توصیه میشود تا حد امکان از روش اول استفاده کنید. در صورت تعریف GL_PATH، این متغیر همیشه نسبت به RELATIVE_URL_ROOT اولویت دارد.
| نام متغیر |
توضیحات |
مقدار پیشفرض |
RELATIVE_URL_ROOT |
مسیر نسبی URL که Greenlight روی آن اجرا میشود. این متغیر به Greenlight میگوید ترافیک را نسبت به یک مسیر مشخص انتظار داشته باشد و برای سناریوهای استقرار سفارشی کاربرد دارد. |
/ |