Wiki » History » Version 26
Дмитрий Курнаев, 07/01/2025 07:53 AM
| 1 | 1 | Дмитрий Курнаев | h1. Инструкция |
|---|---|---|---|
| 2 | 2 | Дмитрий Курнаев | |
| 3 | h2. I - Устанавливаем ОС Ubuntu 22.04 |
||
| 4 | 3 | Дмитрий Курнаев | |
| 5 | p. Здесь вопросов быть не должно |
||
| 6 | 4 | Дмитрий Курнаев | |
| 7 | h2. II - Настройка сервера сигнализации (High-performance backend) для Nextcloud Talk |
||
| 8 | 5 | Дмитрий Курнаев | |
| 9 | h3. Введение |
||
| 10 | 6 | Дмитрий Курнаев | |
| 11 | 9 | Дмитрий Курнаев | p. Установка выполнена на ВМ: 4 CPU, 16 GB RAM, 60GB, ОС Ubuntu 22.04 |
| 12 | 7 | Дмитрий Курнаев | Должны быть включены следующие порты: |
| 13 | |||
| 14 | 22 (ваш SSH порт) |
||
| 15 | 80 (TCP) |
||
| 16 | 443 (TCP) |
||
| 17 | 3478 (UDP и TCP) |
||
| 18 | |||
| 19 | 11 | Дмитрий Курнаев | h3. 1. Подготовка системы |
| 20 | 12 | Дмитрий Курнаев | |
| 21 | 15 | Дмитрий Курнаев | p. sudo apt update && apt upgrade |
| 22 | sudo apt install make protobuf-compiler git python3 docker.io zip unzip |
||
| 23 | 16 | Дмитрий Курнаев | |
| 24 | h3. 2.Установка последней версии Go |
||
| 25 | 17 | Дмитрий Курнаев | |
| 26 | 18 | Дмитрий Курнаев | p. 2.1. wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz - качаем архив |
| 27 | |||
| 28 | 19 | Дмитрий Курнаев | p. 2.2. sha256sum go1.21.3.linux-amd64.tar.gz - проверяем хэш |
| 29 | 18 | Дмитрий Курнаев | |
| 30 | 19 | Дмитрий Курнаев | p. 2.3. sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz - разворачиваем архив |
| 31 | 18 | Дмитрий Курнаев | |
| 32 | 19 | Дмитрий Курнаев | p. 2.4. sudo nano ~/.profile |
| 33 | 20 | Дмитрий Курнаев | |
| 34 | p. 2.5 export PATH=$PATH:/usr/local/go/bin - правим переменные окружения |
||
| 35 | export GOPATH=$HOME/goproject |
||
| 36 | export PATH=$PATH:$GOPATH/bin |
||
| 37 | source ~/.profile |
||
| 38 | |||
| 39 | p. 2.6. mkdir $HOME/goproject - создаем рабочую директорию |
||
| 40 | |||
| 41 | p. 2.7. go version - проверяем версию |
||
| 42 | |||
| 43 | h3. 3. Настройка NATS сервера |
||
| 44 | 21 | Дмитрий Курнаев | |
| 45 | p. 3.1. docker pull nats:latest - стягиваем образ |
||
| 46 | |||
| 47 | p. 3.2. docker run -d --name nats-server -p 4222:4222 -ti nats:latest - запускаем в фоне на порту 4222 |
||
| 48 | |||
| 49 | 22 | Дмитрий Курнаев | h3. 4. Установка Janus |
| 50 | |||
| 51 | p. 4.1. sudo apt install janus - ставим |
||
| 52 | |||
| 53 | p. 4.2. systemctl enable janus - добавляем в автозагрузку |
||
| 54 | |||
| 55 | p. 4.3. systemctl status janus - проверям статус |
||
| 56 | |||
| 57 | p. 4.4. openssl rand -hex 8 - генерим ключ |
||
| 58 | |||
| 59 | p. 4.5. sudo nano /etc/janus/janus.jcfg - в разделе NAT находим раскомментим "full_trickle = true" и добавим turn_rest_api_key = <сгенерированый_ранее_ключ> |
||
| 60 | |||
| 61 | p. 4.6. sudo nano /etc/janus/janus.transport.http.jcfg - раскомментим "interface = eth0" и заменим "eth0" на "lo" |
||
| 62 | |||
| 63 | p. 4.7. sudo nano /etc/janus/janus.transport.websockets.jcfg - раскомментим "interface_ws = eth0" и заменим "eth0" на "lo" |
||
| 64 | |||
| 65 | p. 4.8. sudo systemctl restart janus - рестартуем |
||
| 66 | |||
| 67 | h3. 5. Установка coTURN |
||
| 68 | |||
| 69 | 23 | Дмитрий Курнаев | p. 5.1. sudo apt install coturn - устанавливаем |
| 70 | 21 | Дмитрий Курнаев | |
| 71 | 23 | Дмитрий Курнаев | p. 5.2. systemctl enable coturn - добавляем в автозагрузку |
| 72 | 21 | Дмитрий Курнаев | |
| 73 | 23 | Дмитрий Курнаев | p. 5.3. cp /etc/turnserver.conf /etc/turnserver.conf_BAK - бэкапим дефолтную конфигурацию |
| 74 | 21 | Дмитрий Курнаев | |
| 75 | 23 | Дмитрий Курнаев | p. 5.4. openssl rand -hex 16 - генерим ключ |
| 76 | 21 | Дмитрий Курнаев | |
| 77 | 23 | Дмитрий Курнаев | p. 5.5. sudo nano /etc/turnserver.conf - заменяем содержимое следующим: |
| 78 | |||
| 79 | listening-port=3478 |
||
| 80 | fingerprint |
||
| 81 | use-auth-secret |
||
| 82 | static-auth-secret=<key_created_above> |
||
| 83 | realm=talk.hackerspace.ru |
||
| 84 | total-quota=100 |
||
| 85 | bps-capacity=0 |
||
| 86 | stale-nonce |
||
| 87 | no-multicast-peers |
||
| 88 | |||
| 89 | 25 | Дмитрий Курнаев | p. 5.6. sudo systemctl restart coturn - рестартуем |
| 90 | 24 | Дмитрий Курнаев | |
| 91 | 26 | Дмитрий Курнаев | h3. 6. Загрузка сервера сигнализации |
| 92 | 23 | Дмитрий Курнаев | |
| 93 | |||
| 94 | |||
| 95 | 26 | Дмитрий Курнаев | |
| 96 | 21 | Дмитрий Курнаев | 07d33c884ba67d02 |
| 97 | 23 | Дмитрий Курнаев | |
| 98 | 1 | Дмитрий Курнаев | |
| 99 | 26 | Дмитрий Курнаев | 47576fe6d8fd27c20361f75b6c4a360 |
| 100 | |||
| 101 | |||
| 102 | https://github.com/mailru/easyjson/archive/refs/tags/v0.9.0.zip |
||
| 103 | |||
| 104 | google.golang.org/grpc/cmd/protoc-gen-go-grpc |
||
| 105 | |||
| 106 | Hash ключ: 796b0fc8718aff580267d4b1d872a104 |
||
| 107 | |||
| 108 | Block ключ: 0a6c3b9959bbccc7a38cb647ee0fce97 |
||
| 109 | |||
| 110 | Internal secret (используется для внешних клиентов, таких как сервер записи): 92543f1751347542ef9155c9ad013fdc |
||
| 111 | |||
| 112 | |||
| 113 | Nextcloud облачный секретный ключ: c79c7399d9d866d4f100867198a7be17 |
||
| 114 | |||
| 115 | ws://talk.krovelson.ru/apps/spreed/api/socket |