{"id":41238,"date":"2026-03-13T17:00:59","date_gmt":"2026-03-13T14:00:59","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=41238"},"modified":"2026-03-13T17:00:59","modified_gmt":"2026-03-13T14:00:59","slug":"ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/","title":{"rendered":"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Matrix, a\u00e7\u0131k kaynakl\u0131, merkeziyetsiz ve ger\u00e7ek zamanl\u0131 bir ileti\u015fim protokol\u00fcd\u00fcr. Amac\u0131, farkl\u0131 ileti\u015fim hizmetleri aras\u0131nda k\u00f6pr\u00fc kurarak evrensel bir ileti\u015fim a\u011f\u0131 olu\u015fturmakt\u0131r. E-posta gibi merkezi bir sunucuya ba\u011fl\u0131 kalmadan, kullan\u0131c\u0131lar\u0131n kendi sunucular\u0131n\u0131 (homeserver) bar\u0131nd\u0131rmas\u0131na olanak tan\u0131r ve b\u00f6ylece ileti\u015fim \u00fczerinde tam kontrol ve gizlilik sa\u011flar. Synapse ise Matrix protokol\u00fcn\u00fcn referans sunucu uygulamas\u0131d\u0131r ve Python ile yaz\u0131lm\u0131\u015ft\u0131r. Kendi Matrix sunucunuzu kurarak, verilerinizin kontrol\u00fcn\u00fc elinizde tutabilir, kendi toplulu\u011funuzu olu\u015fturabilir ve Matrix ekosisteminin sundu\u011fu t\u00fcm avantajlardan faydalanabilirsiniz.<\/p>\n<p>Bu kapsaml\u0131 rehber, Ubuntu 16.04 i\u015fletim sistemi y\u00fckl\u00fc bir sunucu \u00fczerine Matrix Synapse&#8217;i ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenli hale getirece\u011finizi detayl\u0131 bir \u015fekilde anlatacakt\u0131r. Ubuntu 16.04, uzun s\u00fcreli destek (LTS) s\u00fcr\u00fcm\u00fc olmas\u0131na ra\u011fmen, g\u00fcncel s\u00fcr\u00fcmlere k\u0131yasla daha eski bir i\u015fletim sistemidir. Bu rehber, belirli bir gereksinim nedeniyle Ubuntu 16.04 kullanmak zorunda olanlar i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. \u00dcretim ortamlar\u0131nda veya yeni kurulumlarda daha g\u00fcncel Ubuntu s\u00fcr\u00fcmlerini (\u00f6rne\u011fin 20.04 veya 22.04 LTS) tercih etmeniz g\u00fcvenlik, performans ve yaz\u0131l\u0131m g\u00fcncelli\u011fi a\u00e7\u0131s\u0131ndan \u015fiddetle tavsiye edilir. Ancak, bu rehberdeki ad\u0131mlar Ubuntu 16.04&#8217;e \u00f6zel olarak uyarlanm\u0131\u015ft\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Matrix Synapse kurulumuna ba\u015flamadan \u00f6nce, sunucunuzun belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan ve gerekli haz\u0131rl\u0131klar\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<h4>Sistem Gereksinimleri<\/h4>\n<p>Bir Matrix Synapse sunucusunun ihtiya\u00e7 duydu\u011fu kaynaklar, kullan\u0131c\u0131 say\u0131s\u0131 ve federasyon yo\u011funlu\u011funa g\u00f6re de\u011fi\u015fiklik g\u00f6sterir.<\/p>\n<ul>\n<li><b>\u0130\u015flemci (CPU):<\/b> K\u00fc\u00e7\u00fck kurulumlar (1-10 kullan\u0131c\u0131) i\u00e7in 1-2 \u00e7ekirdek yeterli olabilir. Daha b\u00fcy\u00fck kurulumlar (100+ kullan\u0131c\u0131) i\u00e7in 4 veya daha fazla \u00e7ekirdek \u00f6nerilir.<\/li>\n<li><b>Bellek (RAM):<\/b> Matrix Synapse, \u00f6zellikle federasyon ve ge\u00e7mi\u015f mesajlar\u0131 tutma a\u00e7\u0131s\u0131ndan belle\u011fe ihtiya\u00e7 duyar.\n<ul>\n<li>K\u00fc\u00e7\u00fck kurulumlar i\u00e7in minimum 2 GB RAM.<\/li>\n<li>Orta \u00f6l\u00e7ekli kurulumlar (50-100 kullan\u0131c\u0131) i\u00e7in 4-8 GB RAM.<\/li>\n<li>B\u00fcy\u00fck kurulumlar i\u00e7in 16 GB veya daha fazla RAM \u00f6nerilir.<\/li>\n<\/ul>\n<\/li>\n<li><b>Disk Alan\u0131:<\/b> Veritaban\u0131 ve medya dosyalar\u0131 i\u00e7in disk alan\u0131 gereklidir.\n<ul>\n<li>Minimum 20 GB SSD (performans i\u00e7in SSD \u015fiddetle tavsiye edilir).<\/li>\n<li>Kullan\u0131c\u0131 say\u0131s\u0131 ve medya payla\u015f\u0131m\u0131na g\u00f6re y\u00fczlerce GB&#8217;a kadar \u00e7\u0131kabilir.<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0130\u015fletim Sistemi:<\/b> Ubuntu 16.04 LTS (64-bit). Temiz bir kurulum tercih edilir.<\/li>\n<\/ul>\n<h4>A\u011f Gereksinimleri<\/h4>\n<p>Matrix sunucunuzun internet \u00fczerinden eri\u015filebilir olmas\u0131 ve di\u011fer Matrix sunucular\u0131yla ileti\u015fim kurabilmesi i\u00e7in belirli a\u011f ayarlar\u0131 gereklidir.<\/p>\n<ul>\n<li><b>Statik IP Adresi:<\/b> Sunucunuzun sabit bir genel IP adresine sahip olmas\u0131 \u015fartt\u0131r.<\/li>\n<li><b>Alan Ad\u0131 (Domain Name):<\/b> Matrix sunucunuz i\u00e7in bir alan ad\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r (\u00f6rn: <code>matrix.example.com<\/code> veya <code>example.com<\/code>). Bu alan ad\u0131, sunucunuzun kimli\u011fini belirler.<\/li>\n<li><b>DNS Kay\u0131tlar\u0131:<\/b> Alan ad\u0131n\u0131z i\u00e7in do\u011fru DNS kay\u0131tlar\u0131n\u0131 yap\u0131land\u0131rmal\u0131s\u0131n\u0131z.\n<ul>\n<li><b>A Kayd\u0131:<\/b> Alan ad\u0131n\u0131z\u0131n (\u00f6rn: <code>matrix.example.com<\/code>) sunucunuzun genel IP adresine i\u015faret etmesi gerekir.<\/li>\n<li><b>SRV Kayd\u0131 (iste\u011fe ba\u011fl\u0131 ama \u00f6nerilir):<\/b> Matrix federasyonu i\u00e7in <code>_matrix._tcp.<alan_ad\u0131n\u0131z><\/code> kayd\u0131n\u0131n <code>matrix.example.com:8448<\/code> (veya 443) adresine i\u015faret etmesi gerekebilir. Ancak modern Synapse kurulumlar\u0131nda, <code>.well-known<\/code> dosyalar\u0131 sayesinde bu kay\u0131t genellikle gerekli de\u011fildir, fakat yine de federasyon i\u00e7in bir yedek mekanizma olarak faydal\u0131d\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><b>G\u00fcvenlik Duvar\u0131 (Firewall):<\/b> A\u015fa\u011f\u0131daki portlar\u0131n d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 gerekir:\n<ul>\n<li><b>80\/TCP (HTTP):<\/b> Let&#8217;s Encrypt sertifikas\u0131 al\u0131m\u0131 ve HTTP&#8217;den HTTPS&#8217;ye y\u00f6nlendirme i\u00e7in.<\/li>\n<li><b>443\/TCP (HTTPS):<\/b> Matrix istemcileri ve federasyon i\u00e7in ana port.<\/li>\n<li><b>8448\/TCP (Matrix Federasyon):<\/b> Eski federasyon mekanizmalar\u0131 i\u00e7in veya \u00f6zel durumlarda kullan\u0131labilir. Genellikle 443 portu \u00fczerinden federasyon yap\u0131ld\u0131\u011f\u0131 i\u00e7in bu portun a\u00e7\u0131lmas\u0131 zorunlu de\u011fildir, ancak baz\u0131 durumlarda faydal\u0131 olabilir.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>Yaz\u0131l\u0131m Gereksinimleri<\/h4>\n<p>Synapse&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 temel yaz\u0131l\u0131mlara ihtiya\u00e7 vard\u0131r.<\/p>\n<ul>\n<li><b>Python 3:<\/b> Synapse Python ile yaz\u0131lm\u0131\u015ft\u0131r. Ubuntu 16.04 varsay\u0131lan olarak Python 3.5 s\u00fcr\u00fcm\u00fc ile gelir.<\/li>\n<li><b>PostgreSQL:<\/b> \u00dcretim ortamlar\u0131 i\u00e7in \u00f6nerilen veritaban\u0131 \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. SQLite de kullan\u0131labilir ancak performans ve \u00f6l\u00e7eklenebilirlik a\u00e7\u0131s\u0131ndan PostgreSQL \u00e7ok daha iyidir.<\/li>\n<li><b>Nginx veya Apache:<\/b> Reverse proxy (ters vekil) ve SSL sonland\u0131rma i\u00e7in kullan\u0131l\u0131r. Bu rehberde Nginx \u00f6rne\u011fi kullan\u0131lacakt\u0131r.<\/li>\n<\/ul>\n<h3>Sistemi Haz\u0131rlama<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce sunucunuzu g\u00fcncelleyelim ve gerekli temel paketleri kural\u0131m.<\/p>\n<h4>Sistemi G\u00fcncelleme<\/h4>\n<p>\u0130lk ad\u0131m olarak sunucunuzun paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y\nsudo apt dist-upgrade -y\nsudo apt autoremove -y<\/code><\/pre>\n<h4>Gerekli Paketleri Kurma<\/h4>\n<p>Synapse ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n derlenmesi ve \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan baz\u0131 temel geli\u015ftirme ara\u00e7lar\u0131n\u0131 ve k\u00fct\u00fcphaneleri kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y build-essential python3-dev libffi-dev libssl-dev python3-pip \\\n                   libjpeg-dev libpq-dev python3-venv wget curl<\/code><\/pre>\n<p>*   <code>python3-venv<\/code>: Python sanal ortamlar\u0131 olu\u015fturmak i\u00e7in gereklidir. Ubuntu 16.04&#8217;te bu paketin ad\u0131 <code>python3-venv<\/code> yerine <code>python-virtualenv<\/code> olabilir, ancak <code>python3-venv<\/code> genellikle Python 3 ile birlikte gelir. E\u011fer hata al\u0131rsan\u0131z <code>sudo apt install python-virtualenv<\/code> deneyebilirsiniz.<br \/>\n*   <code>libpq-dev<\/code>: PostgreSQL ba\u011flant\u0131 k\u00fct\u00fcphaneleri i\u00e7in gereklidir.<\/p>\n<h4>PostgreSQL Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>\u00dcretim ortamlar\u0131 i\u00e7in PostgreSQL kullanmak, Synapse&#8217;in performans\u0131n\u0131 ve kararl\u0131l\u0131\u011f\u0131n\u0131 art\u0131racakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y postgresql postgresql-contrib<\/code><\/pre>\n<p>PostgreSQL servisi kurulduktan sonra otomatik olarak ba\u015flayacakt\u0131r. \u015eimdi Synapse i\u00e7in bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres psql<\/code><\/pre>\n<p>PostgreSQL komut sat\u0131r\u0131na girdikten sonra a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-sql\">CREATE USER synapse_user WITH PASSWORD 'g\u00fc\u00e7l\u00fc_bir_\u015fifre';\nCREATE DATABASE synapse_db OWNER synapse_user ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;\nGRANT ALL PRIVILEGES ON DATABASE synapse_db TO synapse_user;\n\\q<\/code><\/pre>\n<p>*   <code>g\u00fc\u00e7l\u00fc_bir_\u015fifre<\/code> yerine kendi g\u00fcvenli \u015fifrenizi belirlemeyi unutmay\u0131n. Bu \u015fifreyi Synapse yap\u0131land\u0131rma dosyas\u0131nda kullanaca\u011f\u0131z.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h4>\n<p>Ubuntu&#8217;da varsay\u0131lan g\u00fcvenlik duvar\u0131 UFW&#8217;dir. Gerekli portlar\u0131 a\u00e7al\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 80\/tcp\nsudo ufw allow 443\/tcp\nsudo ufw allow 8448\/tcp\nsudo ufw allow OpenSSH # SSH ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in\nsudo ufw enable\nsudo ufw status<\/code><\/pre>\n<p><code>sudo ufw status<\/code> komutu ile portlar\u0131n a\u00e7\u0131k oldu\u011funu do\u011frulay\u0131n.<\/p>\n<h3>Matrix Synapse Kurulumu<\/h3>\n<p>\u015eimdi Synapse&#8217;i bir Python sanal ortam\u0131nda kurma zaman\u0131. Sanal ortam kullanmak, sistem genelindeki Python paketleriyle \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler ve ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini kolayla\u015ft\u0131r\u0131r.<\/p>\n<h4>Sanal Ortam Olu\u015fturma<\/h4>\n<p>Synapse i\u00e7in <code>\/opt<\/code> dizini alt\u0131nda bir dizin olu\u015ftural\u0131m ve bir sanal ortam kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/opt\/synapse\nsudo chown -R $USER:$USER \/opt\/synapse # Kullan\u0131c\u0131ya yazma izni ver\ncd \/opt\/synapse\npython3 -m venv env<\/code><\/pre>\n<p>\u015eimdi sanal ortam\u0131 etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">source env\/bin\/activate<\/code><\/pre>\n<p>Komut sat\u0131r\u0131n\u0131z\u0131n ba\u015f\u0131nda <code>(env)<\/code> ifadesini g\u00f6rmelisiniz, bu sanal ortam\u0131n etkin oldu\u011funu g\u00f6sterir.<\/p>\n<h4>Synapse Kurulumu<\/h4>\n<p>Sanal ortam etkinle\u015ftirildikten sonra Synapse&#8217;i pip ile kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">pip install --upgrade pip\npip install matrix-synapse psycopg2-binary<\/code><\/pre>\n<p>*   <code>psycopg2-binary<\/code>: PostgreSQL veritaban\u0131 ile ileti\u015fim kurmak i\u00e7in gereken Python ba\u011flay\u0131c\u0131s\u0131d\u0131r.<\/p>\n<h4>\u0130lk Yap\u0131land\u0131rma Dosyas\u0131n\u0131 Olu\u015fturma<\/h4>\n<p>Synapse&#8217;in ilk yap\u0131land\u0131rma dosyas\u0131n\u0131 otomatik olarak olu\u015ftural\u0131m. <code><alan_ad\u0131n\u0131z><\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin (\u00f6rn: <code>matrix.example.com<\/code>).<\/p>\n<pre><code class=\"language-bash\">python3 -m synapse.app.homeserver \\\n    --server-name <alan_ad\u0131n\u0131z> \\\n    --config-path \/opt\/synapse\/homeserver.yaml \\\n    --generate-config \\\n    --report-stats=no<\/code><\/pre>\n<p>Bu komut, <code>\/opt\/synapse\/homeserver.yaml<\/code> ve <code>\/opt\/synapse\/<alan_ad\u0131n\u0131z>.signing.key<\/code> dosyalar\u0131n\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>Synapse Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme (<code>homeserver.yaml<\/code>)<\/h4>\n<p>\u015eimdi olu\u015fturulan <code>homeserver.yaml<\/code> dosyas\u0131n\u0131 d\u00fczenlememiz gerekiyor.<\/p>\n<pre><code class=\"language-bash\">nano \/opt\/synapse\/homeserver.yaml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki \u00f6nemli ayarlar\u0131 bulun ve d\u00fczenleyin:<\/p>\n<p>1.  <strong><code>server_name<\/code><\/strong>: Zaten komutla ayarland\u0131, kontrol edin.<\/p>\n<pre><code class=\"language-yaml\">server_name: <alan_ad\u0131n\u0131z><\/code><\/pre>\n<p>2.  <strong><code>database<\/code><\/strong>: SQLite yerine PostgreSQL kullanmak i\u00e7in bu b\u00f6l\u00fcm\u00fc g\u00fcncelleyin.<\/p>\n<pre><code class=\"language-yaml\"># Eski SQLite yap\u0131land\u0131rmas\u0131n\u0131 yorum sat\u0131r\u0131 yap\u0131n veya silin\n    # database:\n    #   name: sqlite3\n    #   args:\n    #     database: \/home\/synapse\/data\/homeserver.db\n\n    # Yeni PostgreSQL yap\u0131land\u0131rmas\u0131\n    database:\n      name: psycopg2\n      args:\n        user: synapse_user\n        password: \"g\u00fc\u00e7l\u00fc_bir_\u015fifre\" # PostgreSQL kullan\u0131c\u0131n\u0131z\u0131n \u015fifresi\n        database: synapse_db\n        host: localhost\n        port: 5432<\/code><\/pre>\n<p>3.  <strong><code>listeners<\/code><\/strong>: Synapse&#8217;in hangi portlarda dinleyece\u011fini belirtir. Genellikle 8008 portunda dinler ve Nginx gibi bir reverse proxy bu porta y\u00f6nlendirme yapar.<\/p>\n<pre><code class=\"language-yaml\">listeners:\n      - port: 8008\n        tls: false\n        type: http\n        x_forwarded: true\n        resources:\n          - names: [client, federation]\n            compress: false<\/code><\/pre>\n<p>    *   <code>tls: false<\/code>: SSL sonland\u0131rmay\u0131 Nginx yapaca\u011f\u0131 i\u00e7in Synapse&#8217;in kendisinin SSL yapmas\u0131na gerek yoktur.<br \/>\n    *   <code>x_forwarded: true<\/code>: Nginx&#8217;ten gelen proxy ba\u015fl\u0131klar\u0131n\u0131 kabul etmesini sa\u011flar.<br \/>\n    *   <code>resources: [client, federation]<\/code>: Bu listener&#8217;\u0131n hem istemci ba\u011flant\u0131lar\u0131 hem de federasyon trafi\u011fi i\u00e7in kullan\u0131laca\u011f\u0131n\u0131 belirtir.<\/p>\n<p>4.  <strong><code>public_baseurl<\/code><\/strong>: Matrix istemcilerinin sunucunuza eri\u015fmek i\u00e7in kullanaca\u011f\u0131 URL.<\/p>\n<pre><code class=\"language-yaml\">public_baseurl: \"https:\/\/<alan_ad\u0131n\u0131z>\/\"<\/code><\/pre>\n<p>5.  <strong><code>enable_registration<\/code><\/strong>: Yeni kullan\u0131c\u0131lar\u0131n kay\u0131t olmas\u0131na izin verip vermedi\u011finizi belirler. \u0130lk kullan\u0131c\u0131y\u0131 olu\u015fturduktan sonra <code>false<\/code> olarak ayarlaman\u0131z \u00f6nerilir.<\/p>\n<pre><code class=\"language-yaml\">enable_registration: true # \u0130lk kurulum i\u00e7in true, sonra false yap\u0131n<\/code><\/pre>\n<p>6.  <strong><code>log_config<\/code><\/strong>: Loglama ayarlar\u0131. Varsay\u0131lan genellikle yeterlidir.<\/p>\n<pre><code class=\"language-yaml\">log_config: \"\/opt\/synapse\/log.yaml\" # E\u011fer bu dosya yoksa olu\u015fturulur<\/code><\/pre>\n<p>Di\u011fer ayarlar genellikle varsay\u0131lan olarak b\u0131rak\u0131labilir. Dosyay\u0131 kaydedip kapat\u0131n (<code>Ctrl+X<\/code>, <code>Y<\/code>, <code>Enter<\/code>).<\/p>\n<h4>Systemd Servisi Olu\u015fturma<\/h4>\n<p>Synapse&#8217;i bir sistem servisi olarak \u00e7al\u0131\u015ft\u0131rmak, sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 ve kolayca y\u00f6netilmesini sa\u011flar.<br \/>\n\u00d6ncelikle sanal ortamdan \u00e7\u0131k\u0131n:<\/p>\n<pre><code class=\"language-bash\">deactivate<\/code><\/pre>\n<p>\u015eimdi Synapse i\u00e7in bir sistem kullan\u0131c\u0131s\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo adduser --system --no-create-home --group synapse<\/code><\/pre>\n<p>Synapse dosyalar\u0131n\u0131n sahibini yeni olu\u015fturdu\u011fumuz kullan\u0131c\u0131ya ve gruba de\u011fi\u015ftirelim:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R synapse:synapse \/opt\/synapse<\/code><\/pre>\n<p>Systemd servis dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/matrix-synapse.service<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=Matrix Synapse Homeserver\nAfter=network.target postgresql.service\n\n[Service]\nType=notify\nNotifyAccess=all\nUser=synapse\nGroup=synapse\nWorkingDirectory=\/opt\/synapse\nExecStart=\/opt\/synapse\/env\/bin\/python3 -m synapse.app.homeserver -c \/opt\/synapse\/homeserver.yaml\nRestart=on-failure\nLimitNOFILE=65536\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>*   <code>ExecStart<\/code>: Synapse uygulamas\u0131n\u0131 sanal ortam i\u00e7indeki Python ile ba\u015flat\u0131r.<br \/>\n*   <code>User<\/code> ve <code>Group<\/code>: Synapse&#8217;in <code>synapse<\/code> kullan\u0131c\u0131s\u0131 ve grubu alt\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>After=postgresql.service<\/code>: PostgreSQL servisinin Synapse&#8217;ten \u00f6nce ba\u015flamas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. \u015eimdi Systemd&#8217;yi yeniden y\u00fckleyin, servisi etkinle\u015ftirin ve ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\nsudo systemctl enable matrix-synapse.service\nsudo systemctl start matrix-synapse.service<\/code><\/pre>\n<p>Servisin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status matrix-synapse.service<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>Active: active (running)<\/code> ifadesini g\u00f6rmelisiniz. Herhangi bir hata varsa, <code>journalctl -u matrix-synapse.service<\/code> komutu ile loglar\u0131 kontrol edin.<\/p>\n<h3>Reverse Proxy ve SSL Yap\u0131land\u0131rmas\u0131 (Nginx \u00d6rne\u011fi)<\/h3>\n<p>Synapse&#8217;i do\u011frudan internete a\u00e7mak yerine, Nginx gibi bir reverse proxy arkas\u0131nda \u00e7al\u0131\u015ft\u0131rmak hem g\u00fcvenlik hem de SSL y\u00f6netimi a\u00e7\u0131s\u0131ndan en iyi uygulamad\u0131r.<\/p>\n<h4>Nginx Kurulumu<\/h4>\n<pre><code class=\"language-bash\">sudo apt install -y nginx<\/code><\/pre>\n<p>Nginx servisi kurulduktan sonra otomatik olarak ba\u015flayacakt\u0131r.<\/p>\n<h4>SSL Sertifikas\u0131 Alma (Let&#8217;s Encrypt \/ Certbot)<\/h4>\n<p>\u00dccretsiz ve g\u00fcvenilir SSL sertifikalar\u0131 i\u00e7in Let&#8217;s Encrypt ve Certbot kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y certbot python-certbot-nginx<\/code><\/pre>\n<p>\u015eimdi Certbot ile alan ad\u0131n\u0131z i\u00e7in SSL sertifikas\u0131 al\u0131n. <code><alan_ad\u0131n\u0131z><\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin.<\/p>\n<pre><code class=\"language-bash\">sudo certbot --nginx -d <alan_ad\u0131n\u0131z><\/code><\/pre>\n<p>Certbot, Nginx yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak alg\u0131layacak ve sertifikay\u0131 kuracakt\u0131r. Soruldu\u011funda, e-posta adresinizi girin ve hizmet ko\u015fullar\u0131n\u0131 kabul edin. HTTP trafi\u011fini HTTPS&#8217;ye y\u00f6nlendirme se\u00e7ene\u011fini (<code>2: Redirect<\/code>) se\u00e7meniz \u00f6nerilir.<\/p>\n<h4>Nginx Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma<\/h4>\n<p>Nginx i\u00e7in Synapse&#8217;e y\u00f6nlendirme yapacak bir yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/matrix-synapse.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n. <code><alan_ad\u0131n\u0131z><\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131zla ve <code>ssl_certificate<\/code> ve <code>ssl_certificate_key<\/code> yollar\u0131n\u0131 Certbot taraf\u0131ndan olu\u015fturulan yollarla g\u00fcncelleyin (genellikle <code>\/etc\/letsencrypt\/live\/<alan_ad\u0131n\u0131z>\/fullchain.pem<\/code> ve <code>\/etc\/letsencrypt\/live\/<alan_ad\u0131n\u0131z>\/privkey.pem<\/code> \u015feklindedir).<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    listen [::]:80;\n    server_name <alan_ad\u0131n\u0131z>;\n\n    # HTTP'den HTTPS'ye y\u00f6nlendirme (Certbot bunu otomatik yapabilir)\n    # return 301 https:\/\/$host$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    server_name <alan_ad\u0131n\u0131z>;\n\n    ssl_certificate \/etc\/letsencrypt\/live\/<alan_ad\u0131n\u0131z>\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/<alan_ad\u0131n\u0131z>\/privkey.pem;\n    ssl_trusted_certificate \/etc\/letsencrypt\/live\/<alan_ad\u0131n\u0131z>\/chain.pem;\n\n    # SSL Ayarlar\u0131\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 1h;\n    ssl_protocols TLSv1.2 TLSv1.3;\n    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';\n    ssl_prefer_server_ciphers on;\n    ssl_stapling on;\n    ssl_stapling_verify on;\n    add_header Strict-Transport-Security \"max-age=15768000; includeSubDomains\" always;\n    add_header X-Frame-Options DENY;\n    add_header X-Content-Type-Options nosniff;\n    add_header X-XSS-Protection \"1; mode=block\";\n\n    client_max_body_size 50M; # B\u00fcy\u00fck dosya y\u00fcklemeleri i\u00e7in\n\n    location ~ ^(\/_matrix|\/_synapse)\/ {\n        # Matrix API yollar\u0131n\u0131 Synapse'e y\u00f6nlendir\n        proxy_pass http:\/\/localhost:8008;\n        proxy_set_header X-Forwarded-For $remote_addr;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_set_header Host $host;\n        # B\u00fcy\u00fck dosya y\u00fcklemeleri i\u00e7in\n        proxy_buffering off;\n    }\n\n    location \/.well-known\/matrix\/server {\n        # Federasyon i\u00e7in .well-known\/matrix\/server yolunu yap\u0131land\u0131r\u0131n\n        default_type application\/json;\n        add_header Access-Control-Allow-Origin *;\n        return 200 '{\"m.server\": \"<alan_ad\u0131n\u0131z>:443\"}';\n    }\n\n    location \/.well-known\/matrix\/client {\n        # \u0130stemci otomatik yap\u0131land\u0131rmas\u0131 i\u00e7in .well-known\/matrix\/client\n        default_type application\/json;\n        add_header Access-Control-Allow-Origin *;\n        return 200 '{\"m.homeserver\": {\"base_url\": \"https:\/\/<alan_ad\u0131n\u0131z>\"}, \"m.identity_server\": {\"base_url\": \"https:\/\/vector.im\"}}';\n        # Yukar\u0131daki \"vector.im\" kimlik sunucusu \u00f6rnektir, dilerseniz kendi sunucunuzu kurabilirsiniz.\n    }\n\n    # Statik dosyalar i\u00e7in (\u00f6rn. Matrix istemcisi Element Web'i bar\u0131nd\u0131rmak isterseniz)\n    # location \/ {\n    #     root \/var\/www\/element;\n    #     index index.html index.htm;\n    #     try_files $uri $uri\/ =404;\n    # }\n}<\/code><\/pre>\n<p>*   <code>location ~ ^(\/_matrix|\/_synapse)\/<\/code>: Matrix API \u00e7a\u011fr\u0131lar\u0131n\u0131 Synapse&#8217;in dinledi\u011fi 8008 portuna y\u00f6nlendirir.<br \/>\n*   <code>location \/.well-known\/matrix\/server<\/code>: Matrix federasyonunun sunucunuzu ke\u015ffetmesini sa\u011flayan bir JSON yan\u0131t\u0131 d\u00f6nd\u00fcr\u00fcr. <code><alan_ad\u0131n\u0131z>:443<\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin.<br \/>\n*   <code>location \/.well-known\/matrix\/client<\/code>: Matrix istemcilerinin sunucunuzu otomatik olarak yap\u0131land\u0131rmas\u0131n\u0131 sa\u011flayan bir JSON yan\u0131t\u0131 d\u00f6nd\u00fcr\u00fcr. <code><alan_ad\u0131n\u0131z><\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin.<\/p>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. \u015eimdi bu yap\u0131land\u0131rma dosyas\u0131n\u0131 etkinle\u015ftirin ve Nginx&#8217;i yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/matrix-synapse.conf \/etc\/nginx\/sites-enabled\/\nsudo nginx -t # Yap\u0131land\u0131rma dosyas\u0131nda hata olup olmad\u0131\u011f\u0131n\u0131 kontrol edin\nsudo systemctl restart nginx<\/code><\/pre>\n<p><code>nginx -t<\/code> komutu <code>syntax is ok<\/code> ve <code>test is successful<\/code> d\u00f6nd\u00fcrmelidir.<\/p>\n<h3>DNS Kay\u0131tlar\u0131n\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Alan ad\u0131 sa\u011flay\u0131c\u0131n\u0131z\u0131n kontrol panelinden a\u015fa\u011f\u0131daki DNS kay\u0131tlar\u0131n\u0131 olu\u015fturun veya g\u00fcncelleyin:<br \/>\n*   <strong>A kayd\u0131:<\/strong><br \/>\n    *   <code>matrix.<alan_ad\u0131n\u0131z><\/code> -> Sunucunuzun Genel IP Adresi<br \/>\n    *   Veya direkt <code><alan_ad\u0131n\u0131z><\/code> -> Sunucunuzun Genel IP Adresi (E\u011fer Synapse&#8217;i ana alan ad\u0131n\u0131zda bar\u0131nd\u0131r\u0131yorsan\u0131z)<br \/>\n*   <strong>SRV kayd\u0131 (iste\u011fe ba\u011fl\u0131 ama \u00f6nerilir):<\/strong><br \/>\n    *   Servis: <code>_matrix<\/code><br \/>\n    *   Protokol: <code>_tcp<\/code><br \/>\n    *   Ad: <code><alan_ad\u0131n\u0131z><\/code><br \/>\n    *   \u00d6ncelik: <code>10<\/code><br \/>\n    *   A\u011f\u0131rl\u0131k: <code>10<\/code><br \/>\n    *   Port: <code>443<\/code><br \/>\n    *   Hedef: <code><alan_ad\u0131n\u0131z><\/code><br \/>\n    Bu SRV kayd\u0131, di\u011fer Matrix sunucular\u0131n\u0131n federasyon i\u00e7in sunucunuzu 443 portundan bulmas\u0131n\u0131 sa\u011flar. E\u011fer <code>.well-known<\/code> yap\u0131land\u0131rmas\u0131n\u0131 do\u011fru yapt\u0131ysan\u0131z bu kay\u0131t zorunlu de\u011fildir ancak iyi bir yedekleme mekanizmas\u0131d\u0131r.<\/p>\n<p>DNS de\u011fi\u015fikliklerinin internet genelinde yay\u0131lmas\u0131 biraz zaman alabilir (birka\u00e7 dakika ile birka\u00e7 saat aras\u0131).<\/p>\n<h3>\u0130lk Kullan\u0131c\u0131 Olu\u015fturma ve Y\u00f6netim<\/h3>\n<p>Synapse sunucunuzda ilk kullan\u0131c\u0131y\u0131 (genellikle y\u00f6netici hesab\u0131) olu\u015ftural\u0131m.<br \/>\nSanal ortam\u0131 tekrar etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">cd \/opt\/synapse\nsource env\/bin\/activate<\/code><\/pre>\n<p>Y\u00f6netici kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">python3 -m synapse.app.admin_util \\\n    --config-path \/opt\/synapse\/homeserver.yaml \\\n    register_new_matrix_user \\\n    -u admin \\\n    -p mysecurepassword \\\n    -a<\/code><\/pre>\n<p>*   <code>-u admin<\/code>: Kullan\u0131c\u0131 ad\u0131n\u0131 <code>admin<\/code> olarak belirler.<br \/>\n*   <code>-p mysecurepassword<\/code>: Kullan\u0131c\u0131n\u0131n \u015fifresini belirler. <strong>Mutlaka g\u00fc\u00e7l\u00fc bir \u015fifre kullan\u0131n.<\/strong><br \/>\n*   <code>-a<\/code>: Bu kullan\u0131c\u0131ya y\u00f6netici yetkileri verir.<\/p>\n<p>Komut ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131ktan sonra <code>Created user @admin:<alan_ad\u0131n\u0131z><\/code> gibi bir \u00e7\u0131kt\u0131 g\u00f6rmelisiniz.<br \/>\n\u0130lk kullan\u0131c\u0131y\u0131 olu\u015fturduktan sonra, genel kay\u0131tlar\u0131 kapatmak i\u00e7in <code>homeserver.yaml<\/code> dosyas\u0131n\u0131 tekrar d\u00fczenleyin ve <code>enable_registration: true<\/code> sat\u0131r\u0131n\u0131 <code>enable_registration: false<\/code> olarak de\u011fi\u015ftirin. Bu, herkese a\u00e7\u0131k kay\u0131tlar\u0131 engeller ve sadece sizin izin verdi\u011finiz kullan\u0131c\u0131lar\u0131n kay\u0131t olmas\u0131na olanak tan\u0131r (\u00f6rne\u011fin, y\u00f6netici aray\u00fcz\u00fcnden veya komut sat\u0131r\u0131ndan).<\/p>\n<p>Sanal ortamdan \u00e7\u0131k\u0131n:<\/p>\n<pre><code class=\"language-bash\">deactivate<\/code><\/pre>\n<p>Synapse servisini yeniden ba\u015flat\u0131n ki de\u011fi\u015fiklikler uygulans\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart matrix-synapse.service<\/code><\/pre>\n<h3>Matrix Synapse Y\u00f6netimi ve Bak\u0131m\u0131<\/h3>\n<p>Synapse sunucunuzu kurduktan sonra d\u00fczenli y\u00f6netim ve bak\u0131m i\u015flemleri \u00f6nemlidir.<\/p>\n<h4>G\u00fcncelleme<\/h4>\n<p>Synapse&#8217;i g\u00fcncellemek i\u00e7in sanal ortam\u0131 etkinle\u015ftirin ve <code>pip<\/code> ile y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">cd \/opt\/synapse\nsource env\/bin\/activate\npip install --upgrade matrix-synapse\ndeactivate\nsudo systemctl restart matrix-synapse.service<\/code><\/pre>\n<p>Ba\u011f\u0131ml\u0131l\u0131klar da dahil olmak \u00fczere t\u00fcm paketleri g\u00fcncel tutmak i\u00e7in ara s\u0131ra <code>pip install --upgrade pip setuptools wheel<\/code> ve ard\u0131ndan <code>pip install --upgrade -r requirements.txt<\/code> (e\u011fer bir <code>requirements.txt<\/code> dosyan\u0131z varsa) veya sadece <code>pip install --upgrade matrix-synapse<\/code> komutlar\u0131n\u0131 kullanabilirsiniz.<\/p>\n<h4>Yedekleme<\/h4>\n<p>D\u00fczenli yedekleme, veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in hayati \u00f6neme sahiptir.<br \/>\n*   <strong>Veritaban\u0131:<\/strong> PostgreSQL veritaban\u0131n\u0131 d\u00fczenli olarak yedekleyin:<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres pg_dump synapse_db > \/path\/to\/backup\/synapse_db_$(date +%Y%m%d%H%M%S).sql<\/code><\/pre>\n<p>*   <strong>Yap\u0131land\u0131rma Dosyalar\u0131:<\/strong> <code>homeserver.yaml<\/code> ve imzalama anahtar\u0131 (<code><alan_ad\u0131n\u0131z>.signing.key<\/code>) gibi yap\u0131land\u0131rma dosyalar\u0131n\u0131 yedekleyin:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/opt\/synapse\/homeserver.yaml \/path\/to\/backup\/\n    sudo cp \/opt\/synapse\/<alan_ad\u0131n\u0131z>.signing.key \/path\/to\/backup\/<\/code><\/pre>\n<p>Medya dosyalar\u0131 da <code>\/opt\/synapse\/media_store<\/code> (veya yap\u0131land\u0131rman\u0131zdaki <code>media_store_path<\/code> neresiyse) i\u00e7inde bulunur ve yedeklenmelidir.<\/p>\n<h4>Loglar\u0131 Kontrol Etme<\/h4>\n<p>Sorun giderme ve sunucu sa\u011fl\u0131\u011f\u0131n\u0131 izlemek i\u00e7in Synapse loglar\u0131n\u0131 d\u00fczenli olarak kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo journalctl -u matrix-synapse.service -f<\/code><\/pre>\n<p>Bu komut, Synapse servisinin canl\u0131 loglar\u0131n\u0131 g\u00f6sterir.<\/p>\n<h4>Performans \u0130zleme<\/h4>\n<p>Sunucunuzun kaynak kullan\u0131m\u0131n\u0131 (CPU, RAM, disk I\/O) izlemek, performans sorunlar\u0131n\u0131 erken te\u015fhis etmenize yard\u0131mc\u0131 olur. <code>htop<\/code>, <code>top<\/code>, <code>free -h<\/code>, <code>df -h<\/code> gibi ara\u00e7lar\u0131 kullanabilirsiniz.<\/p>\n<h3>Matrix \u0130stemcisi ile Ba\u011flanma<\/h3>\n<p>Synapse sunucunuz art\u0131k \u00e7al\u0131\u015f\u0131r durumda. Bir Matrix istemcisi kullanarak sunucunuza ba\u011flanabilirsiniz. En pop\u00fcler istemcilerden biri Element&#8217;tir (eski ad\u0131yla Riot).<br \/>\n*   <strong>Element Web:<\/strong> <code>https:\/\/app.element.io\/<\/code> adresine gidin.<br \/>\n*   <strong>Element Desktop:<\/strong> Masa\u00fcst\u00fc uygulamas\u0131n\u0131 indirin.<br \/>\n*   <strong>Element Mobile:<\/strong> Mobil cihaz\u0131n\u0131z i\u00e7in uygulamay\u0131 indirin.<\/p>\n<p>\u0130stemciyi a\u00e7t\u0131\u011f\u0131n\u0131zda, genellikle bir &#8220;Sunucu Se\u00e7&#8221; veya &#8220;Kendi Sunucunuzu Kullan\u0131n&#8221; se\u00e7ene\u011fi bulunur. Buraya Matrix sunucunuzun alan ad\u0131n\u0131 girin (\u00f6rn: <code>https:\/\/<alan_ad\u0131n\u0131z><\/code>). Ard\u0131ndan olu\u015fturdu\u011funuz kullan\u0131c\u0131 ad\u0131 (<code>@admin:<alan_ad\u0131n\u0131z><\/code>) ve \u015fifrenizle giri\u015f yapabilirsiniz.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Kurulum s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>Synapse Ba\u015flam\u0131yor:<\/strong><br \/>\n    *   <code>sudo systemctl status matrix-synapse.service<\/code> komutu ile servisin durumunu kontrol edin.<br \/>\n    *   <code>sudo journalctl -u matrix-synapse.service -f<\/code> komutu ile Synapse loglar\u0131n\u0131 canl\u0131 olarak izleyin. Hata mesajlar\u0131 sorunun kayna\u011f\u0131n\u0131 g\u00f6sterecektir (\u00f6rn. veritaban\u0131 ba\u011flant\u0131 sorunlar\u0131, yap\u0131land\u0131rma hatalar\u0131).<br \/>\n    *   <code>homeserver.yaml<\/code> dosyas\u0131ndaki yap\u0131land\u0131rma ayarlar\u0131n\u0131 dikkatlice kontrol edin. \u00d6zellikle <code>database<\/code> ve <code>listeners<\/code> b\u00f6l\u00fcmleri.<\/p>\n<p>*   <strong>Matrix \u0130stemcisi Ba\u011flanam\u0131yor:<\/strong><br \/>\n    *   Sunucu ad\u0131n\u0131 do\u011fru girdi\u011finizden emin olun (\u00f6rn: <code>https:\/\/<alan_ad\u0131n\u0131z><\/code>).<br \/>\n    *   Nginx&#8217;in \u00e7al\u0131\u015f\u0131r durumda oldu\u011fundan emin olun: <code>sudo systemctl status nginx<\/code>.<br \/>\n    *   Nginx yap\u0131land\u0131rmas\u0131n\u0131 kontrol edin: <code>sudo nginx -t<\/code>.<br \/>\n    *   G\u00fcvenlik duvar\u0131n\u0131n 443 portunu a\u00e7t\u0131\u011f\u0131ndan emin olun: <code>sudo ufw status<\/code>.<br \/>\n    *   SSL sertifikas\u0131n\u0131n ge\u00e7erli oldu\u011fundan emin olun. Taray\u0131c\u0131n\u0131zdan <code>https:\/\/<alan_ad\u0131n\u0131z><\/code> adresine giderek kontrol edebilirsiniz.<br \/>\n    *   DNS kay\u0131tlar\u0131n\u0131z\u0131n do\u011fru oldu\u011fundan emin olun (<code>dig <alan_ad\u0131n\u0131z> A<\/code> komutu ile IP adresini kontrol edin).<\/p>\n<p>*   <strong>Federasyon \u00c7al\u0131\u015fm\u0131yor:<\/strong><br \/>\n    *   <code>\/.well-known\/matrix\/server<\/code> yap\u0131land\u0131rmas\u0131n\u0131 Nginx&#8217;te do\u011fru yapt\u0131\u011f\u0131n\u0131zdan emin olun. Taray\u0131c\u0131n\u0131zdan <code>https:\/\/<alan_ad\u0131n\u0131z>\/.well-known\/matrix\/server<\/code> adresine giderek JSON \u00e7\u0131kt\u0131s\u0131n\u0131 kontrol edin.<br \/>\n    *   G\u00fcvenlik duvar\u0131n\u0131n 443 (veya 8448) portunu a\u00e7t\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   Di\u011fer Matrix sunucular\u0131n\u0131n sizin sunucunuzla ileti\u015fim kurabilmesi i\u00e7in DNS kay\u0131tlar\u0131n\u0131z\u0131n (\u00f6zellikle A kayd\u0131) do\u011fru oldu\u011fundan emin olun.<\/p>\n<p>*   <strong>&#8220;502 Bad Gateway&#8221; Hatas\u0131:<\/strong><br \/>\n    *   Bu genellikle Nginx&#8217;in Synapse&#8217;e ba\u011flanamad\u0131\u011f\u0131 anlam\u0131na gelir. Synapse servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <code>homeserver.yaml<\/code> dosyas\u0131ndaki <code>listeners<\/code> b\u00f6l\u00fcm\u00fcndeki portun (varsay\u0131lan 8008) Nginx yap\u0131land\u0131rmas\u0131ndaki <code>proxy_pass<\/code> hedefiyle e\u015fle\u015fti\u011finden emin olun.<\/p>\n<h3>Sonu\u00e7 ve \u0130leri Ad\u0131mlar<\/h3>\n<p>Tebrikler! Ubuntu 16.04 sunucunuz \u00fczerine Matrix Synapse&#8217;i ba\u015far\u0131yla kurdunuz ve yap\u0131land\u0131rd\u0131n\u0131z. Art\u0131k kendi merkeziyetsiz ileti\u015fim sunucunuza sahipsiniz. Bu kurulum, size verileriniz \u00fczerinde tam kontrol ve gizlilik sa\u011flayacakt\u0131r.<\/p>\n<p>\u0130leri ad\u0131mlar olarak \u015funlar\u0131 d\u00fc\u015f\u00fcnebilirsiniz:<br \/>\n*   <strong>Ek G\u00fcvenlik \u00d6nlemleri:<\/strong> \u0130ki fakt\u00f6rl\u00fc kimlik do\u011frulama (2FA) etkinle\u015ftirme, g\u00fc\u00e7l\u00fc parola politikalar\u0131 uygulama ve sunucunuzu d\u00fczenli olarak g\u00fcvenlik g\u00fcncellemeleriyle besleme.<br \/>\n*   <strong>K\u00f6pr\u00fcler (Bridges):<\/strong> Matrix&#8217;i Telegram, Discord, IRC gibi di\u011fer ileti\u015fim platformlar\u0131yla entegre etmek i\u00e7in k\u00f6pr\u00fcler kurabilirsiniz. Synapse, bir\u00e7ok k\u00f6pr\u00fc i\u00e7in destek sa\u011flar.<br \/>\n*   <strong>Botlar ve Entegrasyonlar:<\/strong> Kendi Matrix botlar\u0131n\u0131z\u0131 yazabilir veya mevcut botlar\u0131 sunucunuza entegre edebilirsiniz.<br \/>\n*   <strong>Kimlik Sunucusu (Identity Server):<\/strong> Kendi kimlik sunucunuzu kurarak kullan\u0131c\u0131lar\u0131n e-posta adresleri veya telefon numaralar\u0131 ile Matrix kimliklerini ba\u011flamas\u0131na olanak tan\u0131yabilirsiniz.<br \/>\n*   <strong>Performans Optimizasyonu:<\/strong> B\u00fcy\u00fck kurulumlar i\u00e7in Synapse&#8217;in performans\u0131n\u0131 art\u0131rmak amac\u0131yla \u00f6nbellekleme (caching) ve veritaban\u0131 optimizasyonlar\u0131 yapabilirsiniz.<br \/>\n*   <strong>Ubuntu S\u00fcr\u00fcm Y\u00fckseltme:<\/strong> M\u00fcmk\u00fcn olan en k\u0131sa s\u00fcrede sunucunuzu daha g\u00fcncel bir Ubuntu LTS s\u00fcr\u00fcm\u00fcne (\u00f6rn. 20.04 veya 22.04) y\u00fckseltmeyi planlay\u0131n. Bu, daha iyi g\u00fcvenlik, performans ve modern yaz\u0131l\u0131m deste\u011fi sa\u011flayacakt\u0131r.<\/p>\n<p>Bu rehber, Matrix Synapse&#8217;in Ubuntu 16.04 \u00fczerindeki temel kurulumunu kapsasa da, Matrix ekosistemi s\u00fcrekli geli\u015fmektedir. En g\u00fcncel bilgiler ve geli\u015fmi\u015f yap\u0131land\u0131rmalar i\u00e7in her zaman Matrix dok\u00fcmantasyonunu ve Synapse GitHub sayfas\u0131n\u0131 takip etmeniz \u00f6nerilir. Kendi ileti\u015fim a\u011f\u0131n\u0131z\u0131 kurma yolculu\u011funuzda ba\u015far\u0131lar dileriz!<br \/>\n<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16. 04 \u00dczerine Matrix Synapse Kurulum Rehberi Giri\u015f Matrix, a\u00e7\u0131k kaynakl\u0131, merkeziyetsiz ve ger\u00e7ek zamanl\u0131 bir ileti\u015fim protokol\u00fcd\u00fcr.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-41238","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16. 04 \u00dczerine Matrix Synapse Kurulum Rehberi Giri\u015f Matrix, a\u00e7\u0131k kaynakl\u0131, merkeziyetsiz ve ger\u00e7ek zamanl\u0131 bir ileti\u015fim protokol\u00fcd\u00fcr.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-13T14:00:59+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi\",\"datePublished\":\"2026-03-13T14:00:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\"},\"wordCount\":2768,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\",\"name\":\"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-03-13T14:00:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi","og_description":"Ubuntu 16. 04 \u00dczerine Matrix Synapse Kurulum Rehberi Giri\u015f Matrix, a\u00e7\u0131k kaynakl\u0131, merkeziyetsiz ve ger\u00e7ek zamanl\u0131 bir ileti\u015fim protokol\u00fcd\u00fcr.","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-03-13T14:00:59+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi","datePublished":"2026-03-13T14:00:59+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/"},"wordCount":2768,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/","name":"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-03-13T14:00:59+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-matrix-synapse-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerine Matrix Synapse Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=41238"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41238\/revisions"}],"predecessor-version":[{"id":41239,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41238\/revisions\/41239"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}