Matrix adalah ekosistem baru untuk komunikasi terdesentralisasi secara real time untuk layanan VoIP dan pesan instan federasi terbuka. Ini menyediakan API JSON HTTP RESTful untuk membangun server obrolan terdistribusi dan federasi tanpa satu titik kontrol dan kegagalan dan menyediakan semua referensi untuk API.
Synapse adalah implementasi dari matriks homeserver yang dibuat oleh tim matriks dan ditulis dengan Python/Twisted. Dengan perangkat lunak ini, kita dapat menerapkan cara matriks untuk komunikasi terdesentralisasi, kita dapat membuat server rumah kita sendiri dan menyimpan semua info pribadi pengguna, riwayat obrolan, membuat ruang untuk digunakan sendiri, dll.
Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah cara menginstal dan mengkonfigurasi Matrix Synapse di Ubuntu 18.04. Kami akan mengonfigurasi Matrix Synapse pada alamat IP lokal, dan mengonfigurasi server web Nginx sebagai proxy terbalik untuknya, dan mengimplementasikan koneksi HTTPS antara klien dan server web Nginx front-end.
Prasyarat
- Ubuntu 18.04
- Hak istimewa root
- Matriks Nama domain atau subdomain - matrix.hakase-labs.io
Apa yang akan kita lakukan?
- Perbarui dan Tingkatkan Sistem Ubuntu 18.04
- Instal Sinapsis Matriks
- Mengonfigurasi Sinapsis Matriks
- Buat SSL Letsencrypt
- Instal dan Konfigurasi Nginx sebagai proxy Terbalik untuk Matrix Synapse
- Menyiapkan Firewall UFW
- Siapkan Pengguna Matriks Baru
- Pengujian
Langkah 1 - Perbarui dan Tingkatkan Sistem
Masuk ke server Ubuntu Anda, perbarui repositori dan tingkatkan semua paket menggunakan perintah apt di bawah ini.
sudo apt update
sudo apt upgrade
Dan semua paket ubuntu telah ditingkatkan.
Langkah 2 - Instal Matrix Synapse
Pada langkah ini, kita akan menginstal perangkat lunak sinapsis matriks menggunakan paket Debian dari repositori matriks resmi.
Tambahkan kunci matriks dan repositori dengan menjalankan semua perintah di bawah ini.
wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/
Perintah akan secara otomatis memperbarui repositori.
Sekarang instal sinapsis matriks menggunakan perintah apt seperti di bawah ini.
sudo apt install matrix-synapse -y
Selama instalasi, Anda akan ditanya tentang nama server matriks - ketik nama domain matriks 'matrix.hakase-labs.io'.
Dan untuk laporan data anonim, pilih 'Tidak'.
Ketika penginstalan sinapsis matriks selesai, mulai layanan dan aktifkan untuk diluncurkan setiap kali sistem boot.
sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse
Sinapsis matriks sekarang aktif dan berjalan menggunakan konfigurasi default pada port '8008' dan '8448'. Periksa menggunakan perintah netstat.
netstat -plntu
Langkah 3 - Konfigurasikan Sinaps Matriks
Setelah penginstalan sinapsis matriks, kami akan mengonfigurasinya untuk berjalan di bawah alamat IP lokal, menonaktifkan pendaftaran sinapsis matriks, dan mengaktifkan rahasia-pendaftaran bersama.
Sebelum mengedit konfigurasi server rumah, kita perlu membuat kunci rahasia bersama.
Jalankan perintah di bawah ini.
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Dan Anda akan mendapatkan kunci yang dihasilkan. Salin kunci hasil.
Sekarang kita perlu mengedit file konfigurasi home server 'homeserver.yaml' pada direktori '/etc/matrix-synapse/'. Ubah direktori saat ini menjadi '/etc/matrix-synapse' dan edit file konfigurasi menggunakan vim.
cd /etc/matrix-synapse/
vim homeserver.yaml
Ubah port HTTP dan HTTPS Listener '8008' dan '8448' ke alamat IP lokal '127.0.0.1'.
port: 8448 bind_addresses: - '127.0.0.1' - port: 8008 bind_addresses: ['127.0.0.1']
Nonaktifkan pendaftaran sinapsis matriks, batalkan komentar pada konfigurasi 'registration_shared_secret' dan tempel kunci rahasia yang dihasilkan.
enable_registration: False registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"
Simpan dan keluar.
Catatan:
registration_shared_secret:Jika disetel, izinkan pendaftaran oleh siapa saja yang juga memiliki rahasia bersama, meskipun pendaftaran dinonaktifkan.
Sekarang restart layanan matriks sinapsis.
sudo systemctl restart matrix-synapse
Periksa layanan homeserver menggunakan perintah di bawah ini.
netstat -plntu
Anda akan mendapatkan layanan matriks sinapsis sekarang di alamat IP lokal.
Dan kami telah menyelesaikan instalasi dan konfigurasi matriks sinapsis.
Langkah 4 - Buat Sertifikat SSL Letsencrypt
Dalam tutorial ini, kami akan mengaktifkan HTTPS untuk proxy terbalik Nginx, dan kami akan membuat file sertifikat SSL dari Letsencrypt.
Instal alat letsencrypt menggunakan perintah apt di bawah ini.
sudo apt install letsencrypt -y
Alat Letsencrypt diinstal pada sistem, sekarang buat file sertifikat SSL untuk nama domain matriks 'matrix.hakase-labs.io' menggunakan perintah certbot seperti yang ditunjukkan di bawah ini.
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d matrix.hakase-labs.io
Alat Letsencrypt akan menghasilkan file sertifikat SSL dengan menjalankan server web sementara 'mandiri' untuk verifikasi.
Dan jika sudah selesai maka akan mendapatkan hasil seperti gambar dibawah ini.
File sertifikat SSL untuk nama domain sinapsis matriks 'matrix.hakase-labs.io' dibuat di dalam direktori '/etc/letsencrypt/live/'.
Langkah 5 - Instal dan Konfigurasi Nginx sebagai Proxy Terbalik
Pada langkah ini, kita akan menginstal server web Nginx dan mengkonfigurasinya sebagai proxy terbalik untuk server rumah yang berjalan pada port '8008'.
Instal server web Nginx menggunakan perintah apt di bawah ini.
sudo apt install nginx -y
Setelah penginstalan selesai, mulai layanan dan aktifkan untuk diluncurkan setiap saat saat boot sistem
sudo systemctl start nginx
sudo systemctl enable nginx
Selanjutnya, kita akan membuat konfigurasi virtual host baru untuk nama domain matriks 'matrix.hakase-labs.io'.
Buka direktori konfigurasi '/etc/nginx' dan buat file host virtual baru 'matrix'.
cd /etc/nginx/
vim sites-available/matrix
Tempelkan konfigurasi berikut di sana.
server { listen 80; server_name matrix.hakase-labs.io; return 301 https://$server_name$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name matrix.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/matrix.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/matrix.hakase-labs.io/privkey.pem; # If you don't wanna serve a site, comment this out root /var/www/html; index index.html index.htm; location /_matrix { proxy_pass http://127.0.0.1:8008; proxy_set_header X-Forwarded-For $remote_addr; } }
Simpan dan keluar.
Aktifkan file host virtual dan uji konfigurasi.
ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t
Pastikan tidak ada error, lalu restart layanan Nginx.
sudo systemctl restart nginx
Instalasi dan konfigurasi Nginx sebagai proxy terbalik untuk homeserver Matrix Synapse telah selesai.
Langkah 6 - Siapkan Firewall UFW
Dalam tutorial ini, kami hanya akan membuka tiga port untuk layanan kami. Kami hanya akan mengizinkan koneksi SSH, HTTP, dan HTTPS pada konfigurasi firewall UFW.
Tambahkan layanan SSH, HTTP, dan HTTPS ke konfigurasi firewall UFW dengan menjalankan perintah di bawah ini.
ufw allow ssh
ufw allow http
ufw allow https
Sekarang aktifkan layanan firewall UFW lalu periksa statusnya.
ufw enable
ufw status
Dan Anda akan mendapatkan hasil seperti gambar di bawah ini.
Dan kami telah menyelesaikan konfigurasi firewall UFW.
Langkah 7 - Buat Pengguna Matriks Baru
Pada tahap ini, instalasi dan konfigurasi homeserver matriks sinapsis selesai. Dan pada langkah ini, kami akan menunjukkan cara menambahkan pengguna matriks baru dari server baris perintah.
Untuk membuat pengguna matriks baru, jalankan perintah di bawah ini.
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://127.0.0.1:8448
Sekarang Anda perlu memasukkan nama pengguna, kata sandi, dan memutuskan apakah pengguna akan memiliki hak istimewa admin atau tidak.
Di bawah ini adalah hasil pada sistem saya.
Dan kami telah membuat pengguna matriks baru bernama 'hakase' dengan hak istimewa admin.
Langkah 8 - Pengujian
Unduh aplikasi desktop Riot untuk sistem operasi Anda dan instal.
Buka software Riot dan Anda akan mendapatkan halaman login Matrix seperti di bawah ini.
Ketik nama pengguna dan sandi matriks, lalu pilih opsi 'Server khusus' dan ketik nama domain khusus 'matrix.hakase-labs.io'.
Klik tombol 'Masuk'.
Dan sekarang Anda akan mendapatkan Riot Dashboard.
Server rumah Matrix Synapse aktif dan berjalan di bawah koneksi HTTPS proxy terbalik Nginx, dan pengguna 'hakase' sekarang masuk ke server rumah matriks menggunakan desktop aplikasi Riot.
Konfigurasi pengguna matriks.
Pengguna obrolan matriks sebagai Grup.