آموزش نصب جیتسی میت:
این مراحل را برای نصب سریع Jitsi-Meet در سیستم GNU/Linux مبتنی بر Debian دنبال کنید. توزیع های زیر معمولاً خوب پشتیبانی می شوند:
Debian 10 (Buster) or newer –
Ubuntu 18.04 (Bionic Beaver) or newer –
توجه: بسیاری از مراحل نصب نیاز به دسترسی root یا sudo دارند.
در این مطلب می خوانید:
بسته های مورد نیاز و به روزرسانی مخزن (repo)
شما به بسته های زیر نیاز دارید:
- gnupg2
- nginx-full
- sudo # فقط در صورتی که شما از sudo استفاده می کنید.
اطمینان حاصل کنید که سیستم شما به روز است و بسته های مورد نیاز نصب شده اند:
# Run as root or with sudo
# Retrieve the latest package versions across all repositories
apt update
# Ensure support for apt repositories served via HTTPS
apt install apt-transport-https
در سیستم های اوبونتو ، Jitsi نیاز به وابستگی هایی از مخزن بسته universe اوبونتو دارد. برای این که مطمئن شوید این فعال است، این فرمان را اجرا کنید:
sudo apt-add-repository universe
# Retrieve the latest package versions across all repositories
sudo apt update
نصب Jitsi Meet
دامنۀ سرور شما و DNS ستاپ
تصمیم بگیرید سرور شما از چه دامنه ای استفاده خواهد کرد. مثلاً، meet.example.org
یک ریکورد DNS A برای آن دامنه تنظیم کنید، با استفاده از :
آدرس IP عمومی سرور شما ، اگر IP عمومی خود را دارد یا آدرس IP عمومی روتر شما ، اگر سرور شما دارای آدرس IP خصوصی (RFC1918) (به عنوان مثال 192.168.1.2) است و از طریق روتر به آدرس شبکه (NAT) متصل می شود.
اگر رایانه/سرور یا روتر شما دارای آدرس IP پویا است (آدرس IP به طور مداوم تغییر می کند) ، می توانید به جای آن از سرویس dns پویا استفاده کنید.
تنظیم نام دامنه (FQDN) (اختیاری)
اگر ماشین استفاده شده جهت میزبانی جیتسی میت یک FQDN (برای مثال Meet.example.org) دارد که از قبل در DNS تنظیم شده است، می توانید آن را با فرمان زیر ست یا تنظیم کنید:
sudo hostnamectl set-hostname meet.example.org
سپس همان FQDN را در فایل /etc /hosts اضافه کنید:
127.0.0.1 localhost
x.x.x.x meet.example.org
در نهایت روی همان ماشین تست کنید که می توانید FQDN را با جملۀ زیر پینگ کنید:
ping "$(hostname)"
اگر همه چیز مورد انتظار پیش رفت، این را می بینید: meet.example.org
برای Ubuntu 18.04 ، مخزن بسته Prosody را اضافه کنید (نصب جیتسی)
این کار مخزن Prosody را اضافه می کند به طوری که Prosody . 111 نصب خواهد شد، که برای ویژگیهایی در داخل جیستی میت لازم است از جمله امکان لابی (اتاق انتظار) .
echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list
wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
مخزن پکیج جیتسی را اضافه کنید (نصب جیتسی)
این کار مخزن جیتسی را به منابع بسته شما اضافه می کند تا بسته های جیتسی میت در دسترس قرار گیرد:
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
# update all package sources
sudo apt update
دیوار آتش (فایروال) خود را تنظیم و پیکربندی کنید
پورتهای زیر باید در فایروال شما باز شود، تا به ترافیک اجازه ورود به سرور جیتسی میت را بدهد:
- 80 TCP، برای اعتبارسنجی یا تجدید گواهی SSL با Let’s Encrypt
- 443 TCP، برای دسترسی کلی به جیتسی میت
- 10000 UDP ، برای ارتباطهای صوتی تصویری شبکه کلی
- 22 TCP اگر شما به سرور خود با استفاده از SSH دسترسی دارید (اگر آن 22 نیست، پورت را تغییر دهید).
- 3478 UDP ، برای بررسی سرور stun (coturn، اختیاری، و به config.js نیاز دارد تا آن را فعال سازد).
- 5349 TCP برای ارتباطات تصویری/صوتی شبکه از طریق TCP (به عنوان مثال زمانی که UDP مسدود شده است) ، توسط coturn ارائه می شود. (نصب جیتسی)
اگر از ufw استفاده می کنید، می توانید از فرمانهای ذیل بهره ببرید:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable
وضعیت دیوار آتشین را با جملۀ زیر بررسی کنید:
sudo ufw status verbose
پورتها را از طریق روتر خود فوروارد کنید
اگر جیتسی میت را روی سرور پشت NAT اجرا می کنید، پورتها را روی روتر به سوی آدرس آیپی سرور خود فوروارد کنید.
توجه: اگر شرکت کنندگان نمی توانند همدیگر را ببینند و بشنوند، قواعد فایروال یا NAT خود را یک بار دیگر بازبینی کنید.
گواهی TLS
به منظور این که ارتباطهای رمزگذاری شده داشته باشید به گواهی TLS نیاز دارید.
در حین نصب جیتسی میت می توانید بین گزینه های مختلف یکی انتخاب کنید.
گزینه بهتر این است که یک گواهی خودامضای جدید بسازید و بعداً گواهی Lets-Encrypt (در ادامه ببینید) بسازید ( این جایگزین گواهی خودامضا خواهد شد).
ولی اگر می خواهید که از یک گواهی متفاوت استفاده کنید یا می خواهید از یک گواهی رایگان مانند Lets Encrypt استفاده کنید (در ادامه جزئیات را ببینید) ، باید آن گواهی را اول بسازید و بعد جیتسی میت را نصب کرده و در موارد نصب انتخاب کنید: I want to use my own certificate.
همچنین می توانید از گواهی خود امضا استفاده کنید ولی این کار به دلیل زیر مناسب نیست:
استفاده از گواهی خود امضا منجر به هشدارهایی می شود که در مرورگر کاربران شما ظاهر می شود، زیرا آنها نمی توانند هویت سرور شما را اعتبارسنجی کنند.
- (نصب جیتسی)
اپهای موبایل جیتسی میت نیازمند یک گواهی معتبر است که توسط مقام گواهی مورد اعتماد امضا شده است و اگر گواهی خودامضا را انتخاب کنید، نخواهد توانست به سرور شما وصل شود.
نصب جیتسی میت
# jitsi-meet installation
sudo apt install jitsi-meet
تولید گواهی SSL/TLS: از شما در مورد تولید گواهی SSL/TLS سوال می شود. برای جزئیات بیشتر این لینک را مشاهده کنید.
نام میزبان یا Hostname: از شما خواسته می شود که نام میزبان Jitsi Meet را وارد کنید. اگر شما دامنه ای دارید، از نام دامنه خاص استفاده کنید، مثلاً : meet.example.org. به شکل جایگزین می توانید آدرس آی پی ماشین را وارد کنید (اگر آن ثابت است و متغیر نیست).
این نام میزبان برای پیکربندی virtualhost در جیتسی میت استفاده می شود و همچنین ، شما و مخاطبان شما از آن استفاده خواهید کرد تا به کنفرانسهای وبی دسترسی بیابید.
کنترل دسترسی
سرور Jitsi Meet: توجه: بر حسب پیش فرض، هرکسی که به سرور جیتسی میت شما دسترسی دارد خواهد توانست که کنفرانس را شروع کند: اگر سرور شما به جهان باز است، هرکسی می تواند با هرکس دیگر گپ داشته باشد. اگر می خواهید قابلیت برای شروع کنفرانس برای کاربران ثبت شده را محدود کنید، دستورالعملهایی را پیروی کنید تا یک دامنۀ امن را تنظیم کنید.
کنفرانسها/اتاقها: کنترل دسترسی برای کنفرانسها یا اتاقها در اتاقها مدیریت می شود، شما می توانید گذرواژه روی صفحه وب اتاق خاص بعداز ساختن آن تنظیم کنید. راهنمای کاربر برای جزیئات بیشتر را ببینید: https://jitsi.github.io/handbook/docs/user-guide/user-guide-start-a-jitsi-meeting
گواهی Let’s Encrypt را بسازید (اختیاری، توصیه شده)
به منظور این که ارتباطهای رمزگذاری شده داشته باشید، یک گواهی TLS را نیاز دارید.
بهترین روش خلق گواهی است که توسط Certificate Authority امضا شده است. بدین ترتیب می توانید از معضلات مربوط به گواهی خود امضا اجتناب کنید (برای جزئیات بیشتر لینک را ببینید). راحتترین راه استفاده از Let’s Encrypt است.
فقط به سادگی در پوستۀ خود این جمله را اجرا کنید:
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
توجه کنید که این اسکریپت از نوع HTTP-01 استفاده می کند و از این رو، سرور شما باید از ایننترنت عمومی قابل دسترس باشد روی هر دو پورتهای 80 و 443. اگر می خواهید از نوع مختلفی استفاده کنید، از این اسکریپت استفاده نکرده و به جای آن، انتخاب کنید که می خواهم از گواهی خودم در نصب جیتسی میت بهره ببرم.
پیکربندی پیشرفته
اگر نصب روی ماشینی پشت NAT jitsi -diveobridge است باید خودش بصورت اتوماتیک روی بوت پیکربندی شود. اگر احضار سه طرفه (three way calls) کار نکرد، پیکربندی jitsi-videobridge دیگری لازم است تا از بیرون قابل دسترس باشد.
به شرطی که تمام پورت های مورد نیاز، به دستگاهی که روی آن کار می کند هدایت (ارسال) شوند. به طور پیش فرض این پورت ها (TCP/443 یا TCP/4443 و UDP/10000) هستند.این دو خط اضافی زیر باید به فایل /etc/jitsi/videobridge/sip-communicator.properties اضافه شود.
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=
و این جمله موجود را کامنت کنید:
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES
سند ice4j را برای جزئیات بیشتر ملاحظه کنید.
Systemd/Limits: توزیعهای پیشفرض روی سیستمها با استفاده از system مقدار پیشفرض پایینی برای فرایندهای بیشینه و فایلهای باز دارد. اگر در هنگام استفاده تعداد بیشتری از شرکت کنندگان را توقع دارید، مقدارهای پیشفرض باید دوباره تنظیم شود (مقدارهای پیشفرض برای تعداد شرکت کننده کمتر از 100 نفر خوب است).
برای به روزرسانی مقدارها /etc/systemd/system.conf را ویرایش کرده و مطمئن شوید که مقدارهای زیر را دارید ، اگر مقدارها در محدوده نفرات گفته شده هستند ، وگرنه به روز رسانی نکنید.
DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
DefaultTasksMax=65000
برای بررسی مقدارها فقط این را اجرا کنید:
systemctl show --property DefaultLimitNPROC
systemctl show --property DefaultLimitNOFILE
systemctl show --property DefaultTasksMax
برای بارگذاری مقدارها و بررسی آنها ادامه را برای جزئیات بیشتر ببینید.
Systemd details
برای بارگذاری مجدد تغییرات system روی سیستم در حال اجرا
sudo systemctl daemon-reload
sudo systemctl restart jitsi-videobridge2
را اجرا کنید. برای بررسی قسمت وظایف
sudo systemctl status jitsi-videobridge2
را اجرا کرده و باید این را ببینید
Tasks: XX (limit: 65000)
برای بررسی فایلها و قسمت فرایند،
cat /proc/`cat /var/run/jitsi-videobridge/jitsi-videobridge.pid`/limits
را اجرا کرده و باید این را ببینید:
Max processes 65000 65000 processes
Max open files 65000 65000 files
تأیید کنید که نصب شما در حال کار کردن است
یک مرورگر وب را راه اندازی کنید (مثل فایرفاکس، کروم یا سفری) و نام میزبان یا آدرس IP را از گام قبلی به میلۀ آدرس وارد کنید.
اگر یک گواهی خودامضا استفاده کردید (بر خلاف استفاده از Let’s Encrypt) ، مرورگر وب شما از شما می خواهد که تأیید کنید که شما به آن گواهی اعتماد دارید. اگر از آی او اس یا اپ اندروید تست می کنید، اگر گواهی نامۀ خود امضا را استفاده می کنید، در این مرحله احتمالاً نمی شود.
باید صفحۀ وبی را ببینید که شما را تشویق می کند که یک جلسۀ جدید بسازید.
مطمئن شوید که می توانید با موفقیت یک جلسه را بسازید و این که دیگر شرکت کنندگان قادر به پیوستن به جلسه باشند.
اگر همۀ آن کار کرد، پس تبریک! شما یک سرویس کنفرانس جیتسی قابل استفاده دارید.
لغو نصب
sudo apt purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2
گاهی بسته های زیر نمی توانند به درستی حذف شوند:
jigasi –
jitsi-videobridge –
وقتی اینطور می شود، فقط فرمان حذف را یک بار دیگر انجام داده و باید اوکی باشد.
دلیل برای شکست این است که گاهی اسکریپت حذف سختتر از فرایندی است که دیمنها (daemons) را متوقف می کند. اجرای دوم فرمان حذف این معضل را حل می کند، زیرا تا آن زمان دیمنهای jigasi or jitsi-videobridge از قبل متوقف شده اند.
مسائل رفع باگ
- مرورگر وب: می توانید از یک مرورگر وب متفاوت استفاده کنید. برخی نسخه های بعضی از مرورگرها معمولاً با جیتسی میت مشکل دارند.
- WebRTC، وبکم و میکروفون: همچنین می توانید از https://test.webrtc.org دیدن کنید تا پشتیبانی WebRTC مرورگر خود را تست کنید.
- فایروال: اگر شرکت کنندگان نمی توانند همدیگر را ببینند و بشنوند، قواعد فایروال یا NAT خود را مجدداً چک کنید.
- Nginx/apache: چون ما استفاده از Nginx را به عنوان سرور وب ترجیح می دهیم، نصب کننده اول حضور Nginx را چک کرده و سپس سراغ Apache می رود. در موردی که شما واقعاً نیاز مبرم دارید که استفاده از apache را انجام دهید، سعی کنید که متغیر jitsi-meet/enforce_apache برای پکیج jitsi-meet-web-config روی debconf از پیش تنظیم کنید.
- فایلهای لاگ: نگاهی به انواع فایلهای لاگ بیندازید:
/var/log/jitsi/jvb.log
/var/log/jitsi/jicofo.log
/var/log/prosody/prosody.log
کارکردهای اضافی
افزودن درگاه سیپ (Sip-gateway) به جیتسی میت
نصب جیگاسی (Jigasi)
جیگاسی یک برنامه سمت سرور است که به عنوان اپلیکیشنی به کنفرانسهای جیتسی میت وصل می شود. این برنامه به مشتریهای SIP معمولی اجازه می دهد که به جلسات بپیوندند و قابلیتهای آوانویسی (transcription) تولید می کند.
sudo apt install jigasi
در حین نصب، از شما خواسته می شود که حساب SIP خود و گذرواژه را وارد کنید. این حساب استفاده می شود تا شرکت کنندگان SIP دیگر را دعوت کند.
لود کردن دوباره جیتسی میت
دوباره مرورگری با URL جیتسی میت را راه اندازی کنید و یک آیکن تلفن روی انتهای سمت راست میله ابزار می بینید. از آن استفاده کنید تا حسابهای SIP را دعوت کنید تا به کنفرانس فعلی ملحق گردد.
لذتش را ببرید!