Buat Pelayan Sembang Menggunakan Matrix Synapse dan Riot di CentOS 7

Matrix adalah protokol komunikasi standard terbuka untuk komunikasi masa nyata yang terdesentralisasi. Matrix dilaksanakan sebagai pelayan rumah yang diedarkan melalui internet; oleh itu tidak ada satu titik kawalan atau kegagalan. Matrix menyediakan API HTTP RESTful untuk membuat dan mengurus pelayan sembang yang diedarkan yang merangkumi pengiriman dan penerimaan mesej, mengundang dan menguruskan ahli ruang sembang, menjaga akaun pengguna, dan menyediakan ciri-ciri sembang lanjutan seperti panggilan VoIP dan Video, dll. Matrix juga mewujudkan penyegerakan selamat antara pelayan rumah yang diedarkan ke seluruh dunia.

Synapse adalah pelaksanaan pelayan rumah Matrix yang ditulis oleh pasukan Matrix. Ekosistem Matrix terdiri daripada rangkaian banyak pelayan kediaman gabungan yang diedarkan di seluruh dunia. Seorang pengguna Matrix menggunakan klien sembang untuk menyambung ke pelayan rumah, yang seterusnya menyambung ke rangkaian Matrix. Homeserver menyimpan sejarah sembang dan maklumat log masuk pengguna tertentu.

Prasyarat

  • Contoh server Vultr CentOS 7.
  • Pengguna sudo .

Dalam tutorial ini, kami akan menggunakan matrix.example.comsebagai nama domain yang digunakan untuk Matrix Synapse. Ganti semua kejadian matrix.example.comdengan nama domain sebenar anda yang ingin anda gunakan untuk pelayan rumah Synapse anda.

Kemas kini sistem asas anda menggunakan panduan Cara Mengemas kini CentOS 7 . Setelah sistem anda dikemas kini, teruskan memasang Python.

Pasang Alat Pembangunan

Matrix Synapse memerlukan Python 2.7 untuk berfungsi. Python 2.7 hadir dalam semua pelayan CentOS. Anda boleh menyemak versi Python yang dipasang.

python -V

Anda harus mendapat output yang serupa.

[user@vultr ~]$ python -V
Python 2.7.5

Mengubah versi lalai Python boleh mematahkan pengurus repositori YUM. Walau bagaimanapun, jika anda mahukan versi terbaru Python, anda boleh membuat pemasangan alternatif, tanpa menggantikan Python lalai.

Pasang pakej dalam Development toolskumpulan yang diperlukan untuk menyusun fail pemasang.

sudo yum groupinstall -y "Development tools"

Pasang beberapa pergantungan yang diperlukan.

sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel 

Pasang Python pip. Pip adalah pengurus pergantungan untuk pakej Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Pasang Synapse

Buat persekitaran maya untuk aplikasi Synapse anda. Persekitaran maya Python digunakan untuk membuat persekitaran maya terpencil untuk projek Python. Persekitaran maya mengandungi direktori pemasangannya sendiri dan tidak berkongsi perpustakaan dengan persekitaran maya global dan lain-lain.

sudo virtualenv -p python2.7 /opt/synapse

Berikan hak milik direktori kepada pengguna semasa.

sudo chown -R $USER:$USER /opt/synapse/

Sekarang aktifkan persekitaran maya.

source /opt/synapse/bin/activate

Pastikan bahawa anda mempunyai versi pipdan setuptools.

pip install --upgrade pip 
pip install --upgrade setuptools

Pasang versi terbaru Synapse menggunakan pip.

pip install https://github.com/matrix-org/synapse/tarball/master

Perintah di atas akan memerlukan sedikit masa untuk dilaksanakan kerana menarik dan memasang versi terbaru Synapse dan semua pergantungan dari repositori Github.

Memasang dan Mengkonfigurasi PostgreSQL

Synapse menggunakan SQLite sebagai pangkalan data lalai. SQLite menyimpan data dalam pangkalan data yang disimpan sebagai fail rata pada cakera. Menggunakan SQLite sangat mudah, tetapi tidak digalakkan untuk pengeluaran kerana sangat lambat berbanding dengan PostgreSQL.

PostgreSQL adalah sistem pangkalan data hubungan objek. Anda perlu menambahkan repositori PostgreSQL di sistem anda, kerana aplikasi tersebut tidak tersedia di repositori YUM lalai.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Pasang pelayan pangkalan data PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Inisialkan pangkalan data.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Edit /var/lib/pgsql/9.6/data/pg_hba.confuntuk membolehkan pengesahan berasaskan MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Cari baris berikut dan ubah peerke trustdan idnetke md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            idnet
# IPv6 local connections:
host    all             all             ::1/128                 idnet

Setelah dikemas kini, konfigurasi harus kelihatan seperti ini.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Mulakan pelayan PostgreSQL dan aktifkan untuk memulakan secara automatik semasa boot.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Tukar kata laluan untuk pengguna PostgreSQL lalai.

sudo passwd postgres

Log masuk.

sudo su - postgres

Buat pengguna PostgreSQL baru untuk Synapse.

createuser synapse

PostgreSQL menyediakan psqlshell untuk menjalankan pertanyaan pada pangkalan data. Tukar ke shell PostgreSQL dengan menjalankan.

psql

Tetapkan kata laluan untuk pengguna yang baru dibuat untuk pangkalan data Synapse.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Ganti DBPassworddengan kata laluan yang kuat dan catatnya kerana kami akan menggunakan kata laluan kemudian. Buat pangkalan data baru untuk pangkalan data PostgreSQL.

CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;

Keluar dari psqlcangkerang.

\q

Tukar kepada sudopengguna dari postgrespengguna semasa .

exit

Anda juga perlu memasang pakej yang diperlukan untuk Synapse untuk berkomunikasi dengan pelayan pangkalan data PostgreSQL.

sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2

Mengkonfigurasi Sinaps

Synapse memerlukan fail konfigurasi sebelum dapat dimulakan. Fail konfigurasi menyimpan tetapan pelayan. Tukar ke persekitaran maya dan hasilkan konfigurasi untuk Synapse.

source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes

Ganti matrix.example.comdengan nama domain sebenar anda dan pastikan bahawa nama pelayan dapat diselesaikan ke alamat IP dari instance Vultr anda. Sediakan --report-stats=yesjika anda mahu pelayan menghasilkan laporan, sediakan --report-stats=nountuk melumpuhkan penghasilan laporan dan statistik.

Anda mesti melihat output yang serupa.

(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates

Secara lalai, homeserver.yamldikonfigurasikan untuk menggunakan pangkalan data SQLite. Kita perlu mengubahnya untuk menggunakan pangkalan data PostgreSQL yang telah kita buat sebelumnya.

Edit yang baru dibuat homeserver.yaml.

nano homeserver.yaml

Cari konfigurasi pangkalan data yang ada yang menggunakan SQLite3. Komen garis seperti di bawah. Juga, tambahkan konfigurasi pangkalan data baru untuk PostgreSQL. Pastikan bahawa anda menggunakan kelayakan pangkalan data yang betul.

# Database configuration
#database:
  # The database engine name
  #name: "sqlite3"
  # Arguments to pass to the engine
  #args:
    # Path to the database
    #database: "/opt/synapse/homeserver.db"


database:
    name: psycopg2
    args:
        user: synapse
        password: DBPassword
        database: synapse
        host: localhost
        cp_min: 5
        cp_max: 10

Pendaftaran pengguna baru dari antara muka web dilumpuhkan secara lalai. Untuk mengaktifkan pendaftaran, anda boleh menetapkan enable_registrationke True. Anda juga boleh menetapkan kunci pendaftaran rahsia, yang membolehkan sesiapa sahaja mendaftar yang mempunyai kunci rahsia, walaupun pendaftaran dilumpuhkan.

enable_registration: False

registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"

Simpan fail dan keluar dari editor. Sekarang anda perlu mendaftarkan pengguna pertama anda. Sebelum anda dapat mendaftarkan pengguna baru, anda perlu memulakan aplikasi terlebih dahulu.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl start

Anda harus melihat baris berikut.

2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')

Daftarkan pengguna Matrix baru.

register_new_matrix_user -c homeserver.yaml https://localhost:8448

Anda sepatutnya melihat perkara berikut.

(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.

Akhirnya, sebelum anda dapat menggunakan Homeserver, anda perlu membenarkan port 8448 melalui Firewall. Port 8448digunakan sebagai pelabuhan persekutuan yang selamat. Pelayan rumah menggunakan port ini untuk berkomunikasi antara satu sama lain dengan selamat. Anda juga boleh menggunakan pelanggan sembang web Matrix terbina dalam melalui port ini.

sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload

Anda kini boleh log masuk ke pelanggan sembang web Matrix dengan https://matrix.example.com:8448melalui penyemak imbas kegemaran anda. Anda akan melihat amaran mengenai sijil SSL kerana sijil yang digunakan ditandatangani sendiri. Kami tidak akan menggunakan pelanggan sembang web ini kerana sudah lapuk dan tidak dikekalkan lagi. Cuba periksa sama ada anda boleh log masuk menggunakan akaun pengguna yang baru anda buat.

Menetapkan Sijil Let's Encrypt

Daripada menggunakan sijil yang ditandatangani sendiri untuk mengamankan pelabuhan persekutuan, kami boleh menggunakan Let's Encrypt SSL percuma. Let's Encrypt SSL percuma boleh diperoleh melalui klien Let's Encrypt rasmi yang disebut Certbot.

Pasang Certbot.

sudo yum -y install certbot

Sesuaikan tetapan firewall anda untuk membolehkan standard HTTPdan HTTPSport melalui firewall. Certbot perlu membuat HTTPsambungan untuk mengesahkan pihak berkuasa domain.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Untuk mendapatkan sijil dari Let's Encrypt CA, anda mesti memastikan bahawa domain yang ingin anda hasilkan sijil dihalakan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain anda dan tunggu sehingga DNS disebarkan sebelum membuat permintaan sijil sekali lagi. Certbot memeriksa pihak berkuasa domain sebelum memberikan sijil.

Sekarang gunakan pelayan web terbina dalam Certbot untuk menghasilkan sijil untuk domain anda.

sudo certbot certonly --standalone -d matrix.example.com

Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/matrix.example.com/. Sijil SSL akan disimpan sebagai fullchain.pemdan kunci persendirian akan disimpan sebagai privkey.pem.

Salin sijil.

sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem

sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Anda perlu menukar jalan ke sijil dan kunci dari homeserver.yamlfail. Edit konfigurasi.

nano /opt/synapse/homeserver.yaml

Cari baris berikut dan ubah jalannya.

tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"

# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"

Simpan fail dan keluar dari editor. Mulakan semula pelayan Synapse supaya perubahan dapat berlaku.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart

Mari Sulitkan sijil akan berakhir dalam 90 hari, jadi disarankan agar anda menetapkan pembaharuan automatik untuk sijil menggunakan cron jobs. Cron adalah perkhidmatan sistem yang digunakan untuk menjalankan tugas berkala.

Buat skrip baru untuk memperbaharui sijil dan salin sijil yang diperbaharui ke direktori Synapse.

sudo nano /opt/renew-letsencypt.sh  

Isi fail.

#!/bin/sh

/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Berikan kebenaran pelaksanaan.

sudo chmod +x /opt/renew-letsencypt.sh

Buka fail kerja cron.

sudo crontab -e

Tambahkan garisan berikut pada akhir fail.

30 5 * * 1 /opt/renew-letsencypt.sh

Pekerjaan cron di atas akan dijalankan setiap hari Isnin jam 5:30 pagi. Sekiranya sijil tamat tempoh, kad kredit akan diperbaharui secara automatik.

Sekarang anda boleh melawat https://matrix.example.com:8448. Anda akan melihat bahawa tidak ada amaran SSL sebelum sambungan.

Sediakan Nginx Dengan Let's Encrypt

Selain dari pelabuhan persekutuan yang selamat 8448, Synapse juga mendengarkan port pelanggan yang tidak terjamin 8008. Kami sekarang akan mengkonfigurasi Nginx sebagai proksi terbalik kepada aplikasi Synapse.

sudo yum -y install nginx

Buat fail konfigurasi baru.

sudo nano /etc/nginx/conf.d/synapse.conf

Isi fail dengan kandungan berikut.

server {
    listen 80;
    server_name matrix.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name matrix.example.com;

    ssl_certificate           /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/matrix.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/synapse.access.log;

    location /_matrix {

      proxy_pass          http://localhost:8008;
      proxy_set_header X-Forwarded-For $remote_addr;

    }
  }

Mulakan semula dan dayakan Nginx secara automatik bermula pada waktu boot.

sudo systemctl restart nginx
sudo systemctl enable nginx

Akhirnya, anda dapat mengesahkan sama ada Synapse dapat diakses melalui proksi terbalik.

curl https://matrix.example.com/_matrix/key/v2/server/auto

Anda mesti mendapat output yang serupa.

[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}

Menyiapkan Perkhidmatan Systemd

Sebaiknya gunakan perkhidmatan Systemd untuk menguruskan proses pelayan Synapse. Menggunakan Systemd akan memastikan bahawa pelayan dimulakan secara automatik pada permulaan dan kegagalan sistem.

Buat fail perkhidmatan Systemd baru.

sudo nano /etc/systemd/system/matrix-synapse.service

Isi fail.

[Unit]
Description=Matrix Synapse service
After=network.target

[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse

[Install]
WantedBy=multi-user.target

Sekarang anda boleh memulakan pelayan Synapse dengan cepat.

sudo systemctl start matrix-synapse

Untuk menghentikan atau memulakan semula pelayan menggunakan arahan berikut.

sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse

Anda boleh menyemak status perkhidmatan.

sudo systemctl status matrix-synapse

Menggunakan Riot

Pelayan Matrix Synapse kini dipasang dan dikonfigurasi pada pelayan anda. Oleh kerana pelanggan web terbina dalam untuk Matrix sudah lapuk, anda boleh memilih dari pelbagai aplikasi klien yang tersedia untuk berbual. Riot adalah pelanggan sembang yang paling popular, yang terdapat di hampir semua platform. Anda boleh menggunakan versi hos klien sembang web Riot, atau anda juga dapat menghosting salinannya di pelayan anda sendiri. Selain itu, anda juga dapat menggunakan klien chat dan desktop Riot, yang tersedia untuk Windows, Mac, Linux, IOS dan Android.

Sekiranya anda ingin menghoskan salinan pelanggan web Riot anda sendiri, anda boleh membaca lebih lanjut untuk mendapatkan arahan untuk memasang Riot di pelayan anda. Untuk pelanggan yang dihoskan, desktop dan mudah alih, anda boleh menggunakan nama pengguna dan kata laluan anda untuk log masuk terus ke pelayan rumah anda. Cukup pilih my Matrix IDdari menu lungsur Sign Inpilihan dan berikan nama pengguna dan kata laluan yang telah anda buat semasa pendaftaran pengguna baru. Klik pada Custom serverdan gunakan nama domain instance Synapse anda. Seperti yang telah kita konfigurasikan Nginx, kita hanya boleh menggunakannya https://matrix.example.comsebagai pelayan Rumah dan https://matrix.orgsebagai URL pelayan Identiti.

Contoh Riot Login

Siapkan Riot pada Pelayan Anda Sendiri.

Riot juga merupakan sumber terbuka dan bebas untuk dihoskan di pelayan anda sendiri. Ia tidak memerlukan pangkalan data atau pergantungan. Oleh kerana kami sudah menjalankan pelayan Nginx, kami dapat menghoskannya di pelayan yang sama.

Domain atau subdomain yang anda gunakan untuk Synapse dan Riot mestilah berbeza untuk mengelakkan skrip lintas-laman web. Walau bagaimanapun, anda boleh menggunakan dua subdomain dengan domain yang sama. Dalam tutorial ini, kita akan menggunakan riot.example.comsebagai domain untuk aplikasi Riot. Ganti semua kejadian riot.example.comdengan domain atau subdomain sebenar anda untuk aplikasi Riot.

Muat turun Riot di pelayan anda.

cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz

Anda sentiasa boleh mendapatkan pautan ke versi terbaru di Riot's Github .

Ekstrak arkib.

sudo tar -xzf riot-v*.tar.gz

Namakan semula direktori untuk kemudahan pengendalian.

sudo mv riot-v*/ riot/

Kerana kami telah memasang Certbot, kami dapat menghasilkan sijil secara langsung. Pastikan domain atau subdomain yang anda gunakan dihalakan ke arah pelayan.

sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com

Sijil yang dihasilkan kemungkinan akan disimpan dalam /etc/letsencrypt/live/riot.example.com/direktori.

Buat hos maya untuk aplikasi Riot.

sudo nano /etc/nginx/conf.d/riot.conf

Isi fail.

server {
    listen 80;
    server_name riot.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name riot.example.com;

    ssl_certificate           /etc/letsencrypt/live/riot.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/riot.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    root /opt/riot;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ =404;
    }

    access_log    /var/log/nginx/riot.access.log;

  }

Salin fail konfigurasi sampel.

sudo cp /opt/riot/config.sample.json /opt/riot/config.json

Sekarang edit fail konfigurasi untuk membuat sedikit perubahan.

sudo nano /opt/riot/config.json

Cari baris berikut.

"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",

Gantikan nilai URL pelayan rumah lalai dengan URL pelayan Matrix anda. Untuk URL pelayan identiti, anda boleh menggunakan pilihan lalai, atau anda juga dapat memberikan nilainya ke pelayan identiti Matrix, yaitu https://matrix.org.

"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",

Simpan fail dan keluar. Berikan hak milik fail kepada pengguna Nginx.

sudo chown -R nginx:nginx /opt/riot/

Mulakan semula Nginx.

sudo systemctl restart nginx

Anda boleh mengakses Riot di https://riot.example.com. Anda kini boleh log masuk menggunakan nama pengguna dan kata laluan yang telah anda buat sebelumnya. Anda boleh berhubung menggunakan pelayan lalai kerana kami telah mengubah pelayan Matriks lalai untuk aplikasi kami.

Anda kini mempunyai pelayan rumah Matrix Synapse dan berjalan. Anda juga mempunyai salinan Riot yang dihoskan, yang dapat anda gunakan untuk mengirim pesan kepada orang lain menggunakan ID Matriks, e-mel atau nombor telefon bimbit mereka. Mulakan dengan membuat ruang sembang di pelayan anda dan menjemput rakan anda di Matrix untuk menyertai ruang sembang yang telah anda buat.



Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut