Jitsi - это платформа для видеоконференций с открытым исходным кодом, которая предоставляет высококачественные возможности видео, аудио и чата. Он предлагает альтернативу несвободным системам видеоконференций, предоставляя вам полный контроль над вашими данными и опциями настройки. Это руководство проведет вас через установку и настройку Jitsi на МСВСфера 9.6, обеспечивая безопасную и эффективную настройку для ваших потребностей в связи с командами.

Установка Jitsi — это простой процесс, который может занять до 15 минут. Давайте начнем!

Предпосылки

  • Сервер с МСВСфера 9.6 в качестве ОС.
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя

Обновите систему

Свежая установка МСВСфера 9.6 требует обновления пакетов до последних доступных версий.

1
$ sudo dnf update -y && sudo dnf upgrade -y

Шаг 1. Установка Docker Compose

Чтобы убедиться, что вы получите самую обновленную стабильную версию Docker Compose, вы загрузите это программное обеспечение из официального хранилища Docker.

Затем добавьте официальный хранилище Docker, если вы не сделали этого во время установки Docker:

1
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

Хотя нет конкретного репозитория МСВСфера от Docker, МСВСфера основан на RHEL и может использовать тот же репозиторий. Теперь вы можете установить Docker Compose, который является плагином для Docker:

1
$ sudo dnf install docker-compose-plugin -y

Чтобы убедиться, что установка была успешной, вы можете запустить:

1
$ docker-compose --version

Вы должны увидеть следующий вывод:

1
2
$ docker-compose --version
Docker Compose version v2.37.1

Docker Compose теперь успешно установлен на вашей системе.

Шаг 2. Установка Jitsi

В следующих параграфах мы установим Jitsi Meet for Docker с его требованиями. Выполните следующую команду:

1
$ wget -O jitsi.zip $(curl -s https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep 'zip' | cut -d\" -f4)

Затем извлеките загруженный файл с помощью следующей команды:

1
$ unzip jitsi.zip

Переименовать каталог, извлеченный в Jitsi со следующей командой:

1
$ mv jitsi-docker-jitsi-meet-fe160b6/ jitsi/

Прежде чем запустить Jitsi, мы должны настроить его на ваш случай. Мы рекомендуем сделать резервное копирование этой конфигурации по умолчанию перед внесением изменений.

1
2
$ cd jitsi/
$ cp env.example .env

После создания резервной копии конфигурации по умолчанию вы можете получить доступ к файлу по умолчанию и настроить его для вашего экземпляра.

1
$ nano .env

Добавить следующие строки:

1
2
3
PUBLIC_URL=https://jitsi.example.com
DISABLE_HTTPS=1
ENABLE_LETSENCRYPT=0

Сохранить и закрыть файл.

Затем установите сильные пароли в разделе безопасности файла .env, запустив следующий сценарий bash:

1
$ ./gen-passwords.sh

Затем создайте необходимые каталоги для Jitsi со следующей командой:

1
$ mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

Построение Jitsi соответствует образу Docker со следующей командой:

1
$ docker compose up -d

Вы должны увидеть следующий вывод:

1
2
3
4
5
6
$ docker compose up -d
[+] Running 4/4
 ✔ Container jitsi-docker-jitsi-meet-fe160b6-prosody-1  Started                                                                                                                                                                                                         3.6s 
 ✔ Container jitsi-docker-jitsi-meet-fe160b6-jvb-1      Started                                                                                                                                                                                                         1.6s 
 ✔ Container jitsi-docker-jitsi-meet-fe160b6-jicofo-1   Started                                                                                                                                                                                                         1.5s 
 ✔ Container jitsi-docker-jitsi-meet-fe160b6-web-1      Started                                                                                                                                                                                                         2.3s 

Это загрузит изображение Jitsi из узла Docker и запустит контейнеры. Вы можете проверить все работающие контейнеры со следующей командой:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ docker ps
CONTAINER ID   IMAGE                         COMMAND   CREATED      STATUS      PORTS                                                                            NAMES

3484e9f8060c   jitsi/web:stable-10314-1       "/init"   9 seconds ago   Up 7 seconds  0.0.0.0:8000->80/tcp, :::8000->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp   jitsi-docker-jitsi-meet-fe160b6-web-1

949dfeb9481f   jitsi/jvb:stable-10314-1       "/init"   7 seconds ago   Up 1 second   127.0.0.1:8080->8080/tcp, 0.0.0.0:10000->10000/udp, :::10000->10000/udp          jitsi-docker-jitsi-meet-fe160b6-jvb-1

b1566723d747   jitsi/jicofo:stable-10314-1    "/init"   7 seconds ago   Up 1 second   127.0.0.1:8888->8888/tcp                                                         jitsi-docker-jitsi-meet-fe160b6-jicofo-1 

858fa232c1d2   jitsi/prosody:stable-10314-1   "/init"   9 seconds ago   Up 7 seconds   5222/tcp, 5269/tcp, 5280/tcp, 5347/tcp                                           jitsi-docker-jitsi-meet-fe160b6-prosody-1

В этот момент контейнер Jitsi Meet запущен и работает на порту 8000.

Шаг 3. Настройка обратного прокси-сервера Angie

Веб-сервер необходим, если вы хотите использовать доменное имя вместо IP-адреса вашего сервера. В этом руководстве мы установим и используем Angie.

1
$ sudo dnf install angie -y

Затем запустите и включите сервис Angie с помощью следующей команды. Это немедленно запускает Angie и настраивает его для автоматического запуска при загрузке.

1
$ sudo systemctl enable --now angie

Далее создайте блок сервера Angie:

1
$ sudo nano /etc/angie/http.d/jitsi.conf

Добавьте следующие строки:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
upstream backend {
   server 127.0.0.1:8000;
   keepalive 32;
}

server {
    listen 80;
    server_name   jitsi.examlpe.com;

    location /xmpp-websocket {
       # Timeout if the real server is dead
       proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

       # Proxy Connection Settings
       proxy_buffers 32 4k;
       proxy_connect_timeout 240;
       proxy_headers_hash_bucket_size 128;
       proxy_headers_hash_max_size 1024;
       proxy_http_version 1.1;
       proxy_read_timeout 240;
       proxy_redirect  http://  ws://;
       proxy_send_timeout 240;

       # Proxy Cache and Cookie Settings
       proxy_cache_bypass $cookie_session;
       proxy_no_cache $cookie_session;

       # Proxy Header Settings
       proxy_set_header Early-Data $ssl_early_data;
       proxy_set_header Host $host;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Host $host;
       proxy_set_header X-Forwarded-Proto https;
       proxy_set_header X-Forwarded-Ssl on;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_pass http://backend/xmpp-websocket;
       proxy_set_header Connection "Upgrade";

       tcp_nodelay             on;
   }

   location / {
       client_max_body_size 50M;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       proxy_read_timeout 600s;
       proxy_cache_revalidate on;
       proxy_cache_min_uses 2;
       proxy_cache_use_stale timeout;
       proxy_cache_lock on;
       proxy_http_version 1.1;
       proxy_pass http://backend;
   }
}

Обязательно обновите jitsi.examlpe.com на свое доменное имя.

После создания данных конфигов, следует проверить конфигурацию на отсутствие ошибок.

1
$ sudo angie -t

Затем перезагрузите сервис Angie, чтобы применить изменения.

1
$ sudo systemctl reload angie

Шаг 4. Получите сертификат TLS от Let’s Encrypt

Ваш сайт в настоящее время работает по протоколу HTTP. Установка бесплатного сертификата Let’s Encrypt SSL сделает наш сайт защищенным по протоколу HTTPS.

Веб-сервер Angie позволяет получать SSL-сертификаты от Let’s Encrypt без использования сторонних средств (таких как Certbot).

В простейшем виде вся настройка заключается в добавлении пары строк в конфиг из документации.

1
2
3
4
5
$ sudo nano /etc/angie/http.d/LetsEncrypt.conf

# This part must be included only once into http section (for all sites)
resolver 8.8.8.8;
acme_client letsencrypt https://acme-v02.api.letsencrypt.org/directory;

Отредактируйте файл.

1
$ sudo nano /etc/angie/http.d/jitsi.conf

Добавьте следующие строки.

1
2
3
4
# Obtain and use certificate from LetsEncrypt
acme letsencrypt;
ssl_certificate $acme_cert_letsencrypt;
ssl_certificate_key $acme_cert_key_letsencrypt;

Вы должны увидеть следующий вывод:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
$ cat /etc/angie/http.d/jitsi.conf

upstream backend {
   server 127.0.0.1:8000;
   keepalive 32;
}

server {
    listen 80;
    server_name   jitsi.examlpe.com;

    # Redirect all HTTP to HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name   jitsi.examlpe.com;

    location /xmpp-websocket {
       # Timeout if the real server is dead
       proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

       # Proxy Connection Settings
       proxy_buffers 32 4k;
       proxy_connect_timeout 240;
       proxy_headers_hash_bucket_size 128;
       proxy_headers_hash_max_size 1024;
       proxy_http_version 1.1;
       proxy_read_timeout 240;
       proxy_redirect  http://  ws://;
       proxy_send_timeout 240;

       # Proxy Cache and Cookie Settings
       proxy_cache_bypass $cookie_session;
       proxy_no_cache $cookie_session;

       # Proxy Header Settings
       proxy_set_header Early-Data $ssl_early_data;
       proxy_set_header Host $host;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Host $host;
       proxy_set_header X-Forwarded-Proto https;
       proxy_set_header X-Forwarded-Ssl on;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_pass http://backend/xmpp-websocket;
       proxy_set_header Connection "Upgrade";

       tcp_nodelay             on;
   }

   location / {
       client_max_body_size 50M;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       proxy_read_timeout 600s;
       proxy_cache_revalidate on;
       proxy_cache_min_uses 2;
       proxy_cache_use_stale timeout;
       proxy_cache_lock on;
       proxy_http_version 1.1;
       proxy_pass http://backend;
   }

    # Obtain and use certificate from LetsEncrypt
    acme letsencrypt;
    ssl_certificate $acme_cert_letsencrypt;
    ssl_certificate_key $acme_cert_key_letsencrypt;
}

После создания данных конфигов, следует проверить конфигурацию на отсутствие ошибок.

1
$ sudo angie -t

Затем перезагрузите сервис Angie, чтобы применить изменения.

1
$ sudo systemctl reload angie

Шаг 5. Создать видеовстречу Jitsi

Теперь вы можете получить доступ к Jitsi по адресу https://jitsi.examlpe.com, используя доменное имя и начните работать над своим проектом. Официальная документация предоставляет больше информации о Jitsi, его особенностях и его конфигурации.

Завершение

Если вам понравился этот пост о том, как установить Jitsi на МСВСфера 9.6, пожалуйста, поделитесь им с друзьями в социальных сетях или просто оставьте комментарий ниже. Спасибо