Ubuntu 16.04 Üzerine Matrix Synapse Kurulum Rehberi
Giriş
Matrix, açık kaynaklı, merkeziyetsiz ve gerçek zamanlı bir iletişim protokolüdür. Amacı, farklı iletişim hizmetleri arasında köprü kurarak evrensel bir iletişim ağı oluşturmaktır. E-posta gibi merkezi bir sunucuya bağlı kalmadan, kullanıcıların kendi sunucularını (homeserver) barındırmasına olanak tanır ve böylece iletişim üzerinde tam kontrol ve gizlilik sağlar. Synapse ise Matrix protokolünün referans sunucu uygulamasıdır ve Python ile yazılmıştır. Kendi Matrix sunucunuzu kurarak, verilerinizin kontrolünü elinizde tutabilir, kendi topluluğunuzu oluşturabilir ve Matrix ekosisteminin sunduğu tüm avantajlardan faydalanabilirsiniz.
Bu kapsamlı rehber, Ubuntu 16.04 işletim sistemi yüklü bir sunucu üzerine Matrix Synapse’i adım adım nasıl kuracağınızı, yapılandıracağınızı ve güvenli hale getireceğinizi detaylı bir şekilde anlatacaktır. Ubuntu 16.04, uzun süreli destek (LTS) sürümü olmasına rağmen, güncel sürümlere kıyasla daha eski bir işletim sistemidir. Bu rehber, belirli bir gereksinim nedeniyle Ubuntu 16.04 kullanmak zorunda olanlar için hazırlanmıştır. Üretim ortamlarında veya yeni kurulumlarda daha güncel Ubuntu sürümlerini (örneğin 20.04 veya 22.04 LTS) tercih etmeniz güvenlik, performans ve yazılım güncelliği açısından şiddetle tavsiye edilir. Ancak, bu rehberdeki adımlar Ubuntu 16.04’e özel olarak uyarlanmıştır.
Ön Gereksinimler
Matrix Synapse kurulumuna başlamadan önce, sunucunuzun belirli gereksinimleri karşıladığından ve gerekli hazırlıkların yapıldığından emin olmalısınız.
Sistem Gereksinimleri
Bir Matrix Synapse sunucusunun ihtiyaç duyduğu kaynaklar, kullanıcı sayısı ve federasyon yoğunluğuna göre değişiklik gösterir.
- İşlemci (CPU): Küçük kurulumlar (1-10 kullanıcı) için 1-2 çekirdek yeterli olabilir. Daha büyük kurulumlar (100+ kullanıcı) için 4 veya daha fazla çekirdek önerilir.
- Bellek (RAM): Matrix Synapse, özellikle federasyon ve geçmiş mesajları tutma açısından belleğe ihtiyaç duyar.
- Küçük kurulumlar için minimum 2 GB RAM.
- Orta ölçekli kurulumlar (50-100 kullanıcı) için 4-8 GB RAM.
- Büyük kurulumlar için 16 GB veya daha fazla RAM önerilir.
- Disk Alanı: Veritabanı ve medya dosyaları için disk alanı gereklidir.
- Minimum 20 GB SSD (performans için SSD şiddetle tavsiye edilir).
- Kullanıcı sayısı ve medya paylaşımına göre yüzlerce GB’a kadar çıkabilir.
- İşletim Sistemi: Ubuntu 16.04 LTS (64-bit). Temiz bir kurulum tercih edilir.
Ağ Gereksinimleri
Matrix sunucunuzun internet üzerinden erişilebilir olması ve diğer Matrix sunucularıyla iletişim kurabilmesi için belirli ağ ayarları gereklidir.
- Statik IP Adresi: Sunucunuzun sabit bir genel IP adresine sahip olması şarttır.
- Alan Adı (Domain Name): Matrix sunucunuz için bir alan adına ihtiyacınız olacaktır (örn:
matrix.example.comveyaexample.com). Bu alan adı, sunucunuzun kimliğini belirler. - DNS Kayıtları: Alan adınız için doğru DNS kayıtlarını yapılandırmalısınız.
- A Kaydı: Alan adınızın (örn:
matrix.example.com) sunucunuzun genel IP adresine işaret etmesi gerekir. - SRV Kaydı (isteğe bağlı ama önerilir): Matrix federasyonu için
_matrix._tcp.kaydınınmatrix.example.com:8448(veya 443) adresine işaret etmesi gerekebilir. Ancak modern Synapse kurulumlarında,.well-knowndosyaları sayesinde bu kayıt genellikle gerekli değildir, fakat yine de federasyon için bir yedek mekanizma olarak faydalıdır.
- A Kaydı: Alan adınızın (örn:
- Güvenlik Duvarı (Firewall): Aşağıdaki portların dışarıdan erişilebilir olması gerekir:
- 80/TCP (HTTP): Let’s Encrypt sertifikası alımı ve HTTP’den HTTPS’ye yönlendirme için.
- 443/TCP (HTTPS): Matrix istemcileri ve federasyon için ana port.
- 8448/TCP (Matrix Federasyon): Eski federasyon mekanizmaları için veya özel durumlarda kullanılabilir. Genellikle 443 portu üzerinden federasyon yapıldığı için bu portun açılması zorunlu değildir, ancak bazı durumlarda faydalı olabilir.
Yazılım Gereksinimleri
Synapse’in çalışması için bazı temel yazılımlara ihtiyaç vardır.
- Python 3: Synapse Python ile yazılmıştır. Ubuntu 16.04 varsayılan olarak Python 3.5 sürümü ile gelir.
- PostgreSQL: Üretim ortamları için önerilen veritabanı çözümüdür. SQLite de kullanılabilir ancak performans ve ölçeklenebilirlik açısından PostgreSQL çok daha iyidir.
- Nginx veya Apache: Reverse proxy (ters vekil) ve SSL sonlandırma için kullanılır. Bu rehberde Nginx örneği kullanılacaktır.
Sistemi Hazırlama
Kuruluma başlamadan önce sunucunuzu güncelleyelim ve gerekli temel paketleri kuralım.
Sistemi Güncelleme
İlk adım olarak sunucunuzun paket listesini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
Gerekli Paketleri Kurma
Synapse ve bağımlılıklarının derlenmesi ve çalışması için gerekli olan bazı temel geliştirme araçlarını ve kütüphaneleri kuralım:
sudo apt install -y build-essential python3-dev libffi-dev libssl-dev python3-pip \
libjpeg-dev libpq-dev python3-venv wget curl
* python3-venv: Python sanal ortamları oluşturmak için gereklidir. Ubuntu 16.04’te bu paketin adı python3-venv yerine python-virtualenv olabilir, ancak python3-venv genellikle Python 3 ile birlikte gelir. Eğer hata alırsanız sudo apt install python-virtualenv deneyebilirsiniz.
* libpq-dev: PostgreSQL bağlantı kütüphaneleri için gereklidir.
PostgreSQL Kurulumu ve Yapılandırması
Üretim ortamları için PostgreSQL kullanmak, Synapse’in performansını ve kararlılığını artıracaktır.
sudo apt install -y postgresql postgresql-contrib
PostgreSQL servisi kurulduktan sonra otomatik olarak başlayacaktır. Şimdi Synapse için bir veritabanı ve kullanıcı oluşturalım:
sudo -u postgres psql
PostgreSQL komut satırına girdikten sonra aşağıdaki komutları çalıştırın:
CREATE USER synapse_user WITH PASSWORD 'güçlü_bir_şifre';
CREATE DATABASE synapse_db OWNER synapse_user ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
GRANT ALL PRIVILEGES ON DATABASE synapse_db TO synapse_user;
\q
* güçlü_bir_şifre yerine kendi güvenli şifrenizi belirlemeyi unutmayın. Bu şifreyi Synapse yapılandırma dosyasında kullanacağız.
Güvenlik Duvarı Yapılandırması (UFW)
Ubuntu’da varsayılan güvenlik duvarı UFW’dir. Gerekli portları açalım:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8448/tcp
sudo ufw allow OpenSSH # SSH bağlantınızın kesilmemesi için
sudo ufw enable
sudo ufw status
sudo ufw status komutu ile portların açık olduğunu doğrulayın.
Matrix Synapse Kurulumu
Şimdi Synapse’i bir Python sanal ortamında kurma zamanı. Sanal ortam kullanmak, sistem genelindeki Python paketleriyle çakışmaları önler ve bağımlılık yönetimini kolaylaştırır.
Sanal Ortam Oluşturma
Synapse için /opt dizini altında bir dizin oluşturalım ve bir sanal ortam kuralım:
sudo mkdir -p /opt/synapse
sudo chown -R $USER:$USER /opt/synapse # Kullanıcıya yazma izni ver
cd /opt/synapse
python3 -m venv env
Şimdi sanal ortamı etkinleştirin:
source env/bin/activate
Komut satırınızın başında (env) ifadesini görmelisiniz, bu sanal ortamın etkin olduğunu gösterir.
Synapse Kurulumu
Sanal ortam etkinleştirildikten sonra Synapse’i pip ile kuralım:
pip install --upgrade pip
pip install matrix-synapse psycopg2-binary
* psycopg2-binary: PostgreSQL veritabanı ile iletişim kurmak için gereken Python bağlayıcısıdır.
İlk Yapılandırma Dosyasını Oluşturma
Synapse’in ilk yapılandırma dosyasını otomatik olarak oluşturalım. kısmını kendi alan adınızla değiştirin (örn: matrix.example.com).
python3 -m synapse.app.homeserver \
--server-name \
--config-path /opt/synapse/homeserver.yaml \
--generate-config \
--report-stats=no
Bu komut, /opt/synapse/homeserver.yaml ve /opt/synapse/ dosyalarını oluşturacaktır.
Synapse Yapılandırma Dosyasını Düzenleme (homeserver.yaml)
Şimdi oluşturulan homeserver.yaml dosyasını düzenlememiz gerekiyor.
nano /opt/synapse/homeserver.yaml
Aşağıdaki önemli ayarları bulun ve düzenleyin:
1. server_name: Zaten komutla ayarlandı, kontrol edin.
server_name:
2. database: SQLite yerine PostgreSQL kullanmak için bu bölümü güncelleyin.
# Eski SQLite yapılandırmasını yorum satırı yapın veya silin
# database:
# name: sqlite3
# args:
# database: /home/synapse/data/homeserver.db
# Yeni PostgreSQL yapılandırması
database:
name: psycopg2
args:
user: synapse_user
password: "güçlü_bir_şifre" # PostgreSQL kullanıcınızın şifresi
database: synapse_db
host: localhost
port: 5432
3. listeners: Synapse’in hangi portlarda dinleyeceğini belirtir. Genellikle 8008 portunda dinler ve Nginx gibi bir reverse proxy bu porta yönlendirme yapar.
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
resources:
- names: [client, federation]
compress: false
* tls: false: SSL sonlandırmayı Nginx yapacağı için Synapse’in kendisinin SSL yapmasına gerek yoktur.
* x_forwarded: true: Nginx’ten gelen proxy başlıklarını kabul etmesini sağlar.
* resources: [client, federation]: Bu listener’ın hem istemci bağlantıları hem de federasyon trafiği için kullanılacağını belirtir.
4. public_baseurl: Matrix istemcilerinin sunucunuza erişmek için kullanacağı URL.
public_baseurl: "https:///"
5. enable_registration: Yeni kullanıcıların kayıt olmasına izin verip vermediğinizi belirler. İlk kullanıcıyı oluşturduktan sonra false olarak ayarlamanız önerilir.
enable_registration: true # İlk kurulum için true, sonra false yapın
6. log_config: Loglama ayarları. Varsayılan genellikle yeterlidir.
log_config: "/opt/synapse/log.yaml" # Eğer bu dosya yoksa oluşturulur
Diğer ayarlar genellikle varsayılan olarak bırakılabilir. Dosyayı kaydedip kapatın (Ctrl+X, Y, Enter).
Systemd Servisi Oluşturma
Synapse’i bir sistem servisi olarak çalıştırmak, sunucu yeniden başlatıldığında otomatik olarak başlamasını ve kolayca yönetilmesini sağlar.
Öncelikle sanal ortamdan çıkın:
deactivate
Şimdi Synapse için bir sistem kullanıcısı oluşturalım:
sudo adduser --system --no-create-home --group synapse
Synapse dosyalarının sahibini yeni oluşturduğumuz kullanıcıya ve gruba değiştirelim:
sudo chown -R synapse:synapse /opt/synapse
Systemd servis dosyasını oluşturalım:
sudo nano /etc/systemd/system/matrix-synapse.service
Aşağıdaki içeriği yapıştırın:
[Unit]
Description=Matrix Synapse Homeserver
After=network.target postgresql.service
[Service]
Type=notify
NotifyAccess=all
User=synapse
Group=synapse
WorkingDirectory=/opt/synapse
ExecStart=/opt/synapse/env/bin/python3 -m synapse.app.homeserver -c /opt/synapse/homeserver.yaml
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
* ExecStart: Synapse uygulamasını sanal ortam içindeki Python ile başlatır.
* User ve Group: Synapse’in synapse kullanıcısı ve grubu altında çalışmasını sağlar.
* After=postgresql.service: PostgreSQL servisinin Synapse’ten önce başlamasını sağlar.
Dosyayı kaydedip kapatın. Şimdi Systemd’yi yeniden yükleyin, servisi etkinleştirin ve başlatın:
sudo systemctl daemon-reload
sudo systemctl enable matrix-synapse.service
sudo systemctl start matrix-synapse.service
Servisin durumunu kontrol edin:
sudo systemctl status matrix-synapse.service
Çıktıda Active: active (running) ifadesini görmelisiniz. Herhangi bir hata varsa, journalctl -u matrix-synapse.service komutu ile logları kontrol edin.
Reverse Proxy ve SSL Yapılandırması (Nginx Örneği)
Synapse’i doğrudan internete açmak yerine, Nginx gibi bir reverse proxy arkasında çalıştırmak hem güvenlik hem de SSL yönetimi açısından en iyi uygulamadır.
Nginx Kurulumu
sudo apt install -y nginx
Nginx servisi kurulduktan sonra otomatik olarak başlayacaktır.
SSL Sertifikası Alma (Let’s Encrypt / Certbot)
Ücretsiz ve güvenilir SSL sertifikaları için Let’s Encrypt ve Certbot kullanacağız.
sudo apt install -y certbot python-certbot-nginx
Şimdi Certbot ile alan adınız için SSL sertifikası alın. kısmını kendi alan adınızla değiştirin.
sudo certbot --nginx -d
Certbot, Nginx yapılandırmanızı otomatik olarak algılayacak ve sertifikayı kuracaktır. Sorulduğunda, e-posta adresinizi girin ve hizmet koşullarını kabul edin. HTTP trafiğini HTTPS’ye yönlendirme seçeneğini (2: Redirect) seçmeniz önerilir.
Nginx Yapılandırma Dosyası Oluşturma
Nginx için Synapse’e yönlendirme yapacak bir yapılandırma dosyası oluşturalım:
sudo nano /etc/nginx/sites-available/matrix-synapse.conf
Aşağıdaki içeriği yapıştırın. kısmını kendi alan adınızla ve ssl_certificate ve ssl_certificate_key yollarını Certbot tarafından oluşturulan yollarla güncelleyin (genellikle /etc/letsencrypt/live/ ve /etc/letsencrypt/live/ şeklindedir).
server {
listen 80;
listen [::]:80;
server_name ;
# HTTP'den HTTPS'ye yönlendirme (Certbot bunu otomatik yapabilir)
# return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name ;
ssl_certificate /etc/letsencrypt/live//fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live//privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live//chain.pem;
# SSL Ayarları
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1h;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
client_max_body_size 50M; # Büyük dosya yüklemeleri için
location ~ ^(/_matrix|/_synapse)/ {
# Matrix API yollarını Synapse'e yönlendir
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
# Büyük dosya yüklemeleri için
proxy_buffering off;
}
location /.well-known/matrix/server {
# Federasyon için .well-known/matrix/server yolunu yapılandırın
default_type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '{"m.server": ":443"}';
}
location /.well-known/matrix/client {
# İstemci otomatik yapılandırması için .well-known/matrix/client
default_type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '{"m.homeserver": {"base_url": "https://"}, "m.identity_server": {"base_url": "https://vector.im"}}';
# Yukarıdaki "vector.im" kimlik sunucusu örnektir, dilerseniz kendi sunucunuzu kurabilirsiniz.
}
# Statik dosyalar için (örn. Matrix istemcisi Element Web'i barındırmak isterseniz)
# location / {
# root /var/www/element;
# index index.html index.htm;
# try_files $uri $uri/ =404;
# }
}
* location ~ ^(/_matrix|/_synapse)/: Matrix API çağrılarını Synapse’in dinlediği 8008 portuna yönlendirir.
* location /.well-known/matrix/server: Matrix federasyonunun sunucunuzu keşfetmesini sağlayan bir JSON yanıtı döndürür. kısmını kendi alan adınızla değiştirin.
* location /.well-known/matrix/client: Matrix istemcilerinin sunucunuzu otomatik olarak yapılandırmasını sağlayan bir JSON yanıtı döndürür. kısmını kendi alan adınızla değiştirin.
Dosyayı kaydedip kapatın. Şimdi bu yapılandırma dosyasını etkinleştirin ve Nginx’i yeniden yükleyin:
sudo ln -s /etc/nginx/sites-available/matrix-synapse.conf /etc/nginx/sites-enabled/
sudo nginx -t # Yapılandırma dosyasında hata olup olmadığını kontrol edin
sudo systemctl restart nginx
nginx -t komutu syntax is ok ve test is successful döndürmelidir.
DNS Kayıtlarını Yapılandırma
Alan adı sağlayıcınızın kontrol panelinden aşağıdaki DNS kayıtlarını oluşturun veya güncelleyin:
* A kaydı:
* matrix. -> Sunucunuzun Genel IP Adresi
* Veya direkt -> Sunucunuzun Genel IP Adresi (Eğer Synapse’i ana alan adınızda barındırıyorsanız)
* SRV kaydı (isteğe bağlı ama önerilir):
* Servis: _matrix
* Protokol: _tcp
* Ad:
* Öncelik: 10
* Ağırlık: 10
* Port: 443
* Hedef:
Bu SRV kaydı, diğer Matrix sunucularının federasyon için sunucunuzu 443 portundan bulmasını sağlar. Eğer .well-known yapılandırmasını doğru yaptıysanız bu kayıt zorunlu değildir ancak iyi bir yedekleme mekanizmasıdır.
DNS değişikliklerinin internet genelinde yayılması biraz zaman alabilir (birkaç dakika ile birkaç saat arası).
İlk Kullanıcı Oluşturma ve Yönetim
Synapse sunucunuzda ilk kullanıcıyı (genellikle yönetici hesabı) oluşturalım.
Sanal ortamı tekrar etkinleştirin:
cd /opt/synapse
source env/bin/activate
Yönetici kullanıcısını oluşturmak için aşağıdaki komutu kullanın:
python3 -m synapse.app.admin_util \
--config-path /opt/synapse/homeserver.yaml \
register_new_matrix_user \
-u admin \
-p mysecurepassword \
-a
* -u admin: Kullanıcı adını admin olarak belirler.
* -p mysecurepassword: Kullanıcının şifresini belirler. Mutlaka güçlü bir şifre kullanın.
* -a: Bu kullanıcıya yönetici yetkileri verir.
Komut başarıyla çalıştıktan sonra Created user @admin: gibi bir çıktı görmelisiniz.
İlk kullanıcıyı oluşturduktan sonra, genel kayıtları kapatmak için homeserver.yaml dosyasını tekrar düzenleyin ve enable_registration: true satırını enable_registration: false olarak değiştirin. Bu, herkese açık kayıtları engeller ve sadece sizin izin verdiğiniz kullanıcıların kayıt olmasına olanak tanır (örneğin, yönetici arayüzünden veya komut satırından).
Sanal ortamdan çıkın:
deactivate
Synapse servisini yeniden başlatın ki değişiklikler uygulansın:
sudo systemctl restart matrix-synapse.service
Matrix Synapse Yönetimi ve Bakımı
Synapse sunucunuzu kurduktan sonra düzenli yönetim ve bakım işlemleri önemlidir.
Güncelleme
Synapse’i güncellemek için sanal ortamı etkinleştirin ve pip ile yükseltin:
cd /opt/synapse
source env/bin/activate
pip install --upgrade matrix-synapse
deactivate
sudo systemctl restart matrix-synapse.service
Bağımlılıklar da dahil olmak üzere tüm paketleri güncel tutmak için ara sıra pip install --upgrade pip setuptools wheel ve ardından pip install --upgrade -r requirements.txt (eğer bir requirements.txt dosyanız varsa) veya sadece pip install --upgrade matrix-synapse komutlarını kullanabilirsiniz.
Yedekleme
Düzenli yedekleme, veri kaybını önlemek için hayati öneme sahiptir.
* Veritabanı: PostgreSQL veritabanını düzenli olarak yedekleyin:
sudo -u postgres pg_dump synapse_db > /path/to/backup/synapse_db_$(date +%Y%m%d%H%M%S).sql
* Yapılandırma Dosyaları: homeserver.yaml ve imzalama anahtarı () gibi yapılandırma dosyalarını yedekleyin:
sudo cp /opt/synapse/homeserver.yaml /path/to/backup/
sudo cp /opt/synapse/.signing.key /path/to/backup/
Medya dosyaları da /opt/synapse/media_store (veya yapılandırmanızdaki media_store_path neresiyse) içinde bulunur ve yedeklenmelidir.
Logları Kontrol Etme
Sorun giderme ve sunucu sağlığını izlemek için Synapse loglarını düzenli olarak kontrol edin:
sudo journalctl -u matrix-synapse.service -f
Bu komut, Synapse servisinin canlı loglarını gösterir.
Performans İzleme
Sunucunuzun kaynak kullanımını (CPU, RAM, disk I/O) izlemek, performans sorunlarını erken teşhis etmenize yardımcı olur. htop, top, free -h, df -h gibi araçları kullanabilirsiniz.
Matrix İstemcisi ile Bağlanma
Synapse sunucunuz artık çalışır durumda. Bir Matrix istemcisi kullanarak sunucunuza bağlanabilirsiniz. En popüler istemcilerden biri Element’tir (eski adıyla Riot).
* Element Web: https://app.element.io/ adresine gidin.
* Element Desktop: Masaüstü uygulamasını indirin.
* Element Mobile: Mobil cihazınız için uygulamayı indirin.
İstemciyi açtığınızda, genellikle bir “Sunucu Seç” veya “Kendi Sunucunuzu Kullanın” seçeneği bulunur. Buraya Matrix sunucunuzun alan adını girin (örn: https://). Ardından oluşturduğunuz kullanıcı adı (@admin:) ve şifrenizle giriş yapabilirsiniz.
Sorun Giderme
Kurulum sırasında veya sonrasında karşılaşabileceğiniz yaygın sorunlar ve çözümleri:
* Synapse Başlamıyor:
* sudo systemctl status matrix-synapse.service komutu ile servisin durumunu kontrol edin.
* sudo journalctl -u matrix-synapse.service -f komutu ile Synapse loglarını canlı olarak izleyin. Hata mesajları sorunun kaynağını gösterecektir (örn. veritabanı bağlantı sorunları, yapılandırma hataları).
* homeserver.yaml dosyasındaki yapılandırma ayarlarını dikkatlice kontrol edin. Özellikle database ve listeners bölümleri.
* Matrix İstemcisi Bağlanamıyor:
* Sunucu adını doğru girdiğinizden emin olun (örn: https://).
* Nginx’in çalışır durumda olduğundan emin olun: sudo systemctl status nginx.
* Nginx yapılandırmasını kontrol edin: sudo nginx -t.
* Güvenlik duvarının 443 portunu açtığından emin olun: sudo ufw status.
* SSL sertifikasının geçerli olduğundan emin olun. Tarayıcınızdan https:// adresine giderek kontrol edebilirsiniz.
* DNS kayıtlarınızın doğru olduğundan emin olun (dig komutu ile IP adresini kontrol edin).
* Federasyon Çalışmıyor:
* /.well-known/matrix/server yapılandırmasını Nginx’te doğru yaptığınızdan emin olun. Tarayıcınızdan https:// adresine giderek JSON çıktısını kontrol edin.
* Güvenlik duvarının 443 (veya 8448) portunu açtığından emin olun.
* Diğer Matrix sunucularının sizin sunucunuzla iletişim kurabilmesi için DNS kayıtlarınızın (özellikle A kaydı) doğru olduğundan emin olun.
* “502 Bad Gateway” Hatası:
* Bu genellikle Nginx’in Synapse’e bağlanamadığı anlamına gelir. Synapse servisinin çalıştığından emin olun.
* homeserver.yaml dosyasındaki listeners bölümündeki portun (varsayılan 8008) Nginx yapılandırmasındaki proxy_pass hedefiyle eşleştiğinden emin olun.
Sonuç ve İleri Adımlar
Tebrikler! Ubuntu 16.04 sunucunuz üzerine Matrix Synapse’i başarıyla kurdunuz ve yapılandırdınız. Artık kendi merkeziyetsiz iletişim sunucunuza sahipsiniz. Bu kurulum, size verileriniz üzerinde tam kontrol ve gizlilik sağlayacaktır.
İleri adımlar olarak şunları düşünebilirsiniz:
* Ek Güvenlik Önlemleri: İki faktörlü kimlik doğrulama (2FA) etkinleştirme, güçlü parola politikaları uygulama ve sunucunuzu düzenli olarak güvenlik güncellemeleriyle besleme.
* Köprüler (Bridges): Matrix’i Telegram, Discord, IRC gibi diğer iletişim platformlarıyla entegre etmek için köprüler kurabilirsiniz. Synapse, birçok köprü için destek sağlar.
* Botlar ve Entegrasyonlar: Kendi Matrix botlarınızı yazabilir veya mevcut botları sunucunuza entegre edebilirsiniz.
* Kimlik Sunucusu (Identity Server): Kendi kimlik sunucunuzu kurarak kullanıcıların e-posta adresleri veya telefon numaraları ile Matrix kimliklerini bağlamasına olanak tanıyabilirsiniz.
* Performans Optimizasyonu: Büyük kurulumlar için Synapse’in performansını artırmak amacıyla önbellekleme (caching) ve veritabanı optimizasyonları yapabilirsiniz.
* Ubuntu Sürüm Yükseltme: Mümkün olan en kısa sürede sunucunuzu daha güncel bir Ubuntu LTS sürümüne (örn. 20.04 veya 22.04) yükseltmeyi planlayın. Bu, daha iyi güvenlik, performans ve modern yazılım desteği sağlayacaktır.
Bu rehber, Matrix Synapse’in Ubuntu 16.04 üzerindeki temel kurulumunu kapsasa da, Matrix ekosistemi sürekli gelişmektedir. En güncel bilgiler ve gelişmiş yapılandırmalar için her zaman Matrix dokümantasyonunu ve Synapse GitHub sayfasını takip etmeniz önerilir. Kendi iletişim ağınızı kurma yolculuğunuzda başarılar dileriz!