Synapseとのコーポレートコミュニケーション

この投稿では、Synapseのインストールについて説明します, ユーザー間のメッセージング通信を制御し、保護することを可能にする独自のサーバー, Slackの直喩. モバイルアプリやウェブサイトを通じて、会議室への安全なアクセスを提供することができます, プライベートメッセージング, Active Directory の統合, Jitsiと, ネクストクラウド…

ユーザーがニーズを交換できるチャネルや部屋を通じて、仕事の生活をはるかに迅速に整理するツール。, メールの真の代替手段, チーム, Slackなど. 彼らはチャットできるようになります, ファイルの送信, Jitsiと統合されたビデオ会議, または私が言ったこと, Nextcloudをお持ちの場合は、クライアントをネイティブに統合できます.

開始! Matrixは、分散型通信のためのオープンプロトコルおよびネットワークです, ユーザーが公開サーバーと非公開サーバーを通じて公開チャットルームと非公開チャットルームに参加できる場所 (“ホームサーバ”); あなたが選んだ任意の顧客と同様に, メールと同じように. 目標は、エンドツーエンドの暗号化通信のための自由でオープンなグローバルネットワークを提供することです, 使いやすさを犠牲にすることなく, したがって、ユーザーが特定のメーカーのアプリに閉じ込められるのを防ぐことができます, 今日では最も一般的になっていること.

Synapseは、最もインストールされているMatrixホームサーバーの実装です, Pythonで書かれています 3 そして、それはオープンソースです. この投稿では、いくつかのことについて説明します:

  • Synapseのインストール
  • Nginxでリバースプロキシを有効にする
  • Element クライアントのインストール
  • Active Directory 認証の統合.
  • Element-web のインストール
  • Jitsi統合
  • Nextcloudとの統合

Synapseのインストール

インストールを行うには、Ubuntuサーバーを使用します 21.04 更新され、静的IPを使用していること. まず、要件をインストールします:

sudo apt install build-essential python3-dev libffi-dev python3-pip python3-setuptools sqlite3 libssl-dev virtualenv libjpeg-dev libxslt1-dev

リポジトリとキーをダウンロードして、最終的にMatrixSynapseをインストールします:

sudo apt install -y lsb-release wget apt-transport-https sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg 完了 "デブ [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] httpsの://packages.matrix.org/debian/ $(lsb_release -CS) メイン" | sudo tee /etc/apt/sources.list.d/matrix-org.list sudo apt update sudo apt install matrix-synapse-py3

次の質問が飛び込んできます, サーバーのFQDN名を示す必要があります, matrix.mydomain.eのようなもので、DNSサーバーに登録し、このマシンのIPに対して解決する必要があります.

利用状況を改善するために匿名の統計を送信したい場合,

サービスを開始し、有効にします:

Sudo SystemCTL Start Matrix-Synapse.service sudo SystemCTL Enable Matrix-Synapse.service

Synapse 構成ファイルの編集: /etc/matrix-synapse/homeserver.yaml を実行すると、リスニングポートが表示されます, リスニングの方向性 (私たちは去ることができます 127.0.0.1 リバースプロキシでアクセスするかどうか), TLSが必要な場合, または重要, ユーザーが当社の環境に自由に登録できるようにしたい場合, またはそうではありません:

...
- 港: 8008
    TLSの: False タイプ: HTTPのx_forwarded: 真のbind_addresses: ['0.0.0.0']

    リソース:
      - 名: [クライアント, フェデレーション]
        圧縮する: 偽
...
enable_registration: 偽
...

変更を加えた場合は、サービスを再起動します:

sudo systemctl restart matrix-synapse.service

そして、bind_addressで私たちはから聞く 0.0.0.0 ブラウザを開いて、サービスが実行されていることを確認できます, HTTPに対してオープンします://DIRECCION_IP_SYNAPSE:8008

リバースプロキシ

ご覧のとおり, 私たちのSynapseはHTTPで実行されます, 次に行うことは、Nginxをインストールし、リバースプロキシとSSL暗号化を使用してSynapseへのアクセスを有効にすることです. さあ、来てください, Nginxをインストールしました, それを開始し、システムで自動開始としてマークします:

sudo apt install nginx sudo systemctl start nginx.service sudo systemctl enable nginx.service

Synapse Web サイトの構成ファイルを作成しました, たとえば、「/etc/nginx/sites-available/synapse」と呼びます’ そして少なくとも、私があなたに残す例のFQDNをあなた一人一人のそれに置き換えます:

サーバー {
       聞く 80;
       server_name matrix.mydomain.eso;
       帰る 301 httpsの://$server_nameドルrequest_uri;
}

サーバー {
    聞く 443 SSLについて;
    聞く [::]:443 SSLについて;
    server_name matrix.mydomain.eso;

    ssl_certificate /etc/ssl/certs/wildcard_midominio_eso.cer;
    ssl_certificate_key /etc/ssl/certs/wildcard_midominio_eso.key;

    # If you don't wanna serve a site, これをコメントアウトします root /var/www/html;
    インデックスindex.html index.htm;

    場所 /_matrix {
      proxy_pass http://127.0.0.1:8008;
      proxy_set_header X-Forwarded-For $remote_addr;
    }
    場所 /.well-known/matrix/server {
      帰る 200 '{"エムサーバー": "matrix.midominio.eso:443"}';
      add_header Content-Type application/json;
    }
    場所 /.well-known/matrix/client {
      帰る 200 '{"m.homeserver さん": {"base_url": "httpsの://matrix.midominio.eso"},"m.identity_server": {"base_url": "httpsの://vector.im"}}';
      add_header Content-Type application/json;
      add_header "アクセス制御-許可-オリジン" *;
    }
}

Creamos un enlace para habilitar el sitio de Synapse y reiniciamos Nginx:

sudo ln -s /etc/nginx/sites-available/synapse /etc/nginx/sites-enabled/ sudo systemctl restart nginx.service

Si todo ha ido bien podremos validarlo abriendo un navegador contra https://DIRECCION_IP_SYNAPSE/.well-known/matrix/server

要素

悪くありません, Synapseサーバーに接続するには, 上で述べたように、どの顧客でも使用できます, 最も一般的なのはおそらくElementです, 旧称ライオット. まあ、Elementはから直接開くことができます https://app.element.io または、できます クライアントのダウンロード ローカル, Windowsの場合, リナックス, マック, AndroidまたはiOS.

エレメントを開いたら, アカウントが独自のサーバーでホストされていることを示す必要があります, FQDNを示し、ログインできます. しかし、ログインする前に… アカウントを持っている必要がありますか? いいえ? 悪くありません. SynapseがLDAPに対してすでに構成されている場合は、ActiveDirectoryユーザーでログインを試みることができます, そうでなければ, ローカルユーザーを使用する必要があります. ローカルユーザーを作成するには、ユーザーが登録できるようにする必要がありますが、そのために覚えています, 設定ファイルでは、「enable_registration: 真’ そして、サービスを再起動します. これで、ユーザーアカウントを作成できます. でももちろん, オープンレコードに注意, 確かに、設定では、以前の共有シークレットが必要な場合があるため、検証されていないことがわかります, CAPCHAを置く… 通常、レコードは無効のままにします.

そして何もない, 今すぐ入れば、Elementは私たちを歓迎します, 連絡先にメッセージを送信することができます, 公開ルームを探索したり、グループチャットを作成したりできます.

要素自体には合併症はありません, ユーザーは、これらのタイプのツールを日常的に扱っています, しかし、これはオープンソースです, もちろん, 暗号化され、データセンターで実行されます, データ漏洩がなく、最大限のプライバシーを確保.

Active Directory に対する構成

最も便利なことは、Synapse認証をActiveDirectoryドメインと統合することです, こちらは, 最初にLDAPコネクタをインストールし、最後にSynapse構成でLDAPのデータを示します. 最初に要件をインストールします:

sudo apt-get install matrix-synapse-ldap3 -y

Synapse 構成ファイルの編集 (/etc/matrix-synapse/homeserver.yaml) そして、対応するセクションに次の設定を追加しました:

password_providers:
    - モジュール: "ldap_auth_provider。LdapAuthProvider の"
      コンフィグ:
        有効: 真のuri: "LDAP (英語)://DIRECCION_IP_DC:389"
        start_tls: 偽ベース: "ou=OU_2,ou=OU_1,dc=ドメイン,dc=ローカル"
        属性:
           UIDの: "sAMAccountName さん"
           郵便: "郵便"
           名前: "ギブンネーム"
        bind_dn: "cn=USUARIO_LDAP_SYNAPSE,ou=OU_2,ou=OU_1,dc=ドメイン,dc=ローカル"
        bind_password: "パスワード"
        #フィルター: "(objectClass=posixAccount (英語))"

良いところ, 別のDCに対していくつかの余分な行を追加できます, また、LDAPSをより適切に構成できることも望ましいです。 636 また、TLSとBaseDNを使用すると、ユーザーが私たちを探すためのベースが得られます, また、追加のフィルターを配置したい場合も同様です…

また、Synapseサービスを再起動した後すぐに、ドメインユーザーでログインを試みることができます.

sudo systemctl restart matrix-synapse.service

エレメントウェブ

Synapseサーバー自体にElement-webをインストールできます, これにより、ユーザーがElementのWebサイトにアクセスして話したり、クライアントをオフラインでインストールしたりしなくて済みます. Element-webは、同じGUIを提供しますが、サーバー上で実行されます (Nginxの), Web クライアント, 行く.

だから, element-web を保存するディレクトリを作成します, ダウンロードしました, GNUPGをインストールします, キー & それらをインストールします, 要素を解凍します, シンボリックリンクを作成し、権限を修正します; Finalmente crearemos nuestro fichero de configuración:

sudo mkdir -p /var/www/html/element cd /var/www/html/element sudo wget https://github.com/vector-im/element-web/releases/download/v1.7.34/element-v1.7.34.tar.gz sudo apt install -y gnupg sudo wget https://github.com/vector-im/element-web/releases/download/v1.7.34/element-v1.7.34.tar.gz.asc sudo gpg --keyserver keyserver.ubuntu.com --search-keys ******@ri**.イム
sudo gpg --verify element-v1.7.34.tar.gz.asc sudo tar -xzvf element-v1.7.34.tar.gz sudo ln -s element-v1.7.34 element sudo chown www-data:www-data -R 要素 cd 要素 sudo cp config.sample.json config.json

Editamos el fichero de configuración (/var/www/html/element/element/config.json), modificamos la 'base_url’ con el FQDN completo de Synapse (matrix.midominio.eso); y 'server_name’ Con el nombre del dominio (ミドミニオ.eso). ケダンス:

{
    "default_server_config": {
        "m.homeserver さん": {
            "base_url": "httpsの://matrix.midominio.eso",
            "server_name": "ミドミニオ.eso"
        },
        "m.identity_server": {
            "base_url": "httpsの://matrix.midominio.eso"
        }
    },
...

Nginxの設定ファイルを作成します:

サーバー {
       聞く 80;
       element.mydomain.eso server_name;
       帰る 301 httpsの://$server_nameドルrequest_uri;
}

サーバー {
    聞く 443 SSLについて;
    聞く [::]:443 SSLについて;
    element.mydomain.eso server_name;

    ssl_certificate /etc/ssl/certs/wildcard_mi_dominio.cer;
    ssl_certificate_key /etc/ssl/certs/wildcard_mi_dominio.key;

    ルート /var/www/html/element/element;
    インデックスindex.html;

    場所 / {
        try_files $uri $uri/ =404;
    }
}

サイトを有効にし、Nginxを再起動します:

sudo ln -s /etc/nginx/sites-available/element /etc/nginx/sites-enabled/ sudo systemctl restart nginx.service

そして、ブラウザでhttpsにアクセスしてみました://element.mydomain.eso et voilà! これで、Web上でユーザーと一緒に直接ログインできるようになります, そして、スタートをカスタマイズするかどうかはわかりません…

Jitsi統合

私たちが持っているなら 独自のサーバー Jitsiベースのビデオ会議, Element-webと統合できるので、通話やビデオ通話をしたいときに, またはグループ, 私たちのリソースを使う, すべてが家にとどまる, もちろん, 暗号化… element-web 設定ファイルを編集するだけです (/var/www/html/element/element/config.json) JitsiセクションにFQDNを入力します:

},
"ジッツィ": {
    "preferredDomain (優先ドメイン)": "jitsi.mydomain.eso"
}

そして、それは超クールに見えるでしょう!

Nextcloudとの統合

さあ、終わりです… これも同じです, 独自のファイル交換システムがある場合、またはユーザーを接続するためのハブがある場合 ネクストクラウド APAをアプリを使用してNextcloudインターフェース自体に統合できるようになります

Nextcloudで, 管理者権限を持つアカウントでログイン, アプリに行きましょう > 統合 > そして、「Element for Nextcloud」を検索します。, クリック “ダウンロードしてアクティブ化する”.

設定部分に移動すると, サイドメニューには、「要素」という新しいセクションがあります, Element WebサーバーのURLを設定する必要があります.

そして今、ユーザーはトップバーに追加のアイコンを持つことになります, 彼らが直接話すことができる場所, 他のクラスメートと交流する… 貴重!

まぁ, これは、あなたが興味深いと思ったことを願っています, ソーシャルネットワークでいいねやおすすめをくださる皆様、誠にありがとうございます, tod@sへの抱擁!

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!