Matrix - 1-й вариант установки
Matrix - 1-й вариант установки
======================================
Прежде всего обновим нашу систему:
-------------------------------
sudo su
apt update
apt upgrade
Установим дополнительные зависимости:
--------------------------------
apt install net-tools python3-dev python3-pip libpq-dev mc aptitude htop apache2-utils lsb-release wget apt-transport-https
pip install psycopg2
Подключим matrix.org репозитории для Ubuntu/Debian x64 архитектуры доступные по адресу https://packages.matrix.org/debian/.
---------------------------------------------------------------------------------------------------------------------
wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/matrix-org.list
apt update
Установим Matrix Synapse:
------------------------------------
apt install matrix-synapse-py3
В процессе установки не забываем установить имя нашего сервера (домен)
Файлы конфигурации Matrix находятся в /etc/matrix-synapse
Лучше сразу отредактировать под свои нужды:
mcedit /etc/matrix-synapse/homeserver.yaml
////////////////////////////////////////////////////////
ОРИГИНАЛЬНЫЙ ФАЙЛ
////////////////////////////////////////////////////////
# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
#
# This is set in /etc/matrix-synapse/conf.d/server_name.yaml for Debian installations.
# server_name: "SERVERNAME"
pid_file: "/var/run/matrix-synapse.pid"
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
bind_addresses: ['::1', '127.0.0.1']
resources:
- names: [client, federation]
compress: false
database:
name: sqlite3
args:
database: /var/lib/matrix-synapse/homeserver.db
log_config: "/etc/matrix-synapse/log.yaml"
media_store_path: /var/lib/matrix-synapse/media
signing_key_path: "/etc/matrix-synapse/homeserver.signing.key"
trusted_key_servers:
- server_name: "matrix.org"
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
ОТРЕДАКТИРОВАННЫЙ ФАЙЛ
/////////////////////////////////////////////////////////////
# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
#
# This is set in /etc/matrix-synapse/conf.d/server_name.yaml for Debian installations.
# server_name: "SERVERNAME"
pid_file: "/var/run/matrix-synapse.pid"
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client]
compress: false
database:
name: psycopg2
txn_limit: 10000
args:
user: matrix
password: YOUR-MATRIX-DB-USER-PASSWORD
database: matrix
host: localhost
port: 5432
cp_min: 5
cp_max: 10
log_config: "/etc/matrix-synapse/log.yaml"
media_store_path: /var/lib/matrix-synapse/media
signing_key_path: "/etc/matrix-synapse/homeserver.signing.key"
trusted_key_servers:
- server_name: "matrix.YOUR-DOMAIN.COM"
suppress_key_server_warning: true
max_upload_size: 100M
enable_registration: false
matrix_synapse_federation_enabled: false
matrix_synapse_federation_port_enabled: false
registration_shared_secret: "Registration-Shared-Secret"
search_all_users: true
prefer_local_users: true
turn_uris: ["turn:matrix.YOUR-DOMAIN.COM?transport=udp","turn:matrix.YOUR-DOMAIN.COM?transport=tcp"]
turn_shared_secret: "Turn-Shared-Secret"
turn_user_lifetime: 86400000
admin_users:
- "@admin:matrix.YOUR-DOMAIN.COM"
//////////////////////////////////////////////////////////////////
Разберёмся во внесённых изменениях
bind_addresses: ['127.0.0.1'] — оставляем возможность подключиться к Matrix Synapse только по localhost.
names: [client] — используем только локальную аутентификацию для пользователей.
database: — полностью меняем секцию и настраиваем для работы с PostgreSQL.
server_name: «matrix.YOUR‑DOMAIN.COM» — домен вашего Matrix Synapse сервера.
max_upload_size: 100M — ограничиваем максимальный размер загружаемых файлов.
enable_registration: false — отключаем регистрацию из соображений безопасности.
matrix_synapse_federation_enabled: false - отключаем Matrix Federation
matrix_synapse_federation_port_enabled: false - отключаем Matrix Federation
registration_shared_secret: «Registration‑Shared‑Secret» — прописываем длинное случайное значение, лучше воспользоваться генератором и сгенерировать ключ 32–64 символа.
search_all_users: true — разрешаем поиск пользователей в клиентах.
turn_uris: [«turn:matrix.YOUR‑DOMAIN.COM?transport=udp»,»turn:matrix.YOUR‑DOMAIN.COM?transport=tcp»] — сразу добавляем настройки для turn сервера, сам сервер установим позже.