{"id":33579,"date":"2025-11-04T17:42:03","date_gmt":"2025-11-04T14:42:03","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33579"},"modified":"2025-11-04T17:42:03","modified_gmt":"2025-11-04T14:42:03","slug":"ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>ZNC, kullan\u0131c\u0131lar\u0131n IRC sunucular\u0131na s\u00fcrekli ba\u011fl\u0131 kalmas\u0131n\u0131 sa\u011flayan, sunucu tabanl\u0131 bir IRC bouncer&#8217;\u0131d\u0131r. Bir Ubuntu Sanal \u00d6zel Sunucusu (VPS) \u00fczerine ZNC kurmak, IRC deneyiminizi \u00f6nemli \u00f6l\u00e7\u00fcde geli\u015ftirebilir. Bu rehberde, ZNC&#8217;yi ba\u015ftan sona kurmak, yap\u0131land\u0131rmak ve y\u00f6netmek i\u00e7in gerekli ad\u0131mlar\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde ele alaca\u011f\u0131z.<\/p>\n<h3>ZNC Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?<\/h3>\n<p>ZNC, IRC istemciniz kapal\u0131yken bile IRC sunucusuna ba\u011fl\u0131 kalman\u0131z\u0131 sa\u011flayan bir proxy g\u00f6revi g\u00f6r\u00fcr. Temel amac\u0131, IRC ba\u011flant\u0131lar\u0131n\u0131z\u0131n kesintisizli\u011fini sa\u011flamakt\u0131r. Geleneksel IRC kullan\u0131m\u0131nda, istemciniz kapand\u0131\u011f\u0131nda veya internet ba\u011flant\u0131n\u0131z koptu\u011funda sunucuyla olan ba\u011flant\u0131n\u0131z da kesilir ve \u00f6nemli sohbetleri veya \u00f6zel mesajlar\u0131 ka\u00e7\u0131rabilirsiniz. ZNC bu sorunu ortadan kald\u0131r\u0131r.<\/p>\n<p>ZNC&#8217;nin ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>S\u00fcrekli Ba\u011flant\u0131:<\/strong> \u0130stemciniz kapal\u0131 olsa bile ZNC, IRC sunucusuna ba\u011fl\u0131 kal\u0131r ve t\u00fcm sohbetleri, \u00f6zel mesajlar\u0131 ve kanal aktivitelerini kaydeder. \u0130stemcinizi tekrar a\u00e7t\u0131\u011f\u0131n\u0131zda, ka\u00e7\u0131rd\u0131\u011f\u0131n\u0131z t\u00fcm ge\u00e7mi\u015fi an\u0131nda al\u0131rs\u0131n\u0131z.<br \/>\n*   <strong>\u00c7oklu \u0130stemci Deste\u011fi:<\/strong> Birden fazla cihazdan (masa\u00fcst\u00fc, mobil, tablet) ayn\u0131 IRC oturumuna ba\u011flanabilirsiniz. ZNC, t\u00fcm istemcilerinizin senkronize olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>G\u00fcvenlik ve Gizlilik:<\/strong> ZNC, ger\u00e7ek IP adresinizi IRC sunucular\u0131ndan gizleyebilir. Ayr\u0131ca, SSL\/TLS \u015fifrelemesi kullanarak hem ZNC ile IRC sunucusu aras\u0131ndaki hem de istemciniz ile ZNC aras\u0131ndaki ileti\u015fimi g\u00fcvenli hale getirebilirsiniz.<br \/>\n*   <strong>Mod\u00fcler Yap\u0131:<\/strong> ZNC, i\u015flevselli\u011fini geni\u015fletmek i\u00e7in bir\u00e7ok mod\u00fcl\u00fc destekler. Bu mod\u00fcller, NickServ kimlik do\u011frulamas\u0131, SASL, away durumu y\u00f6netimi, otomatik komutlar, geli\u015fmi\u015f loglama ve daha fazlas\u0131n\u0131 i\u00e7erebilir.<br \/>\n*   <strong>A\u011f Esnekli\u011fi:<\/strong> ZNC&#8217;yi farkl\u0131 a\u011flara ve kanallara kolayca ba\u011flayabilir, her biri i\u00e7in ayr\u0131 ayarlar yapabilirsiniz.<\/p>\n<p>Bu avantajlar sayesinde ZNC, \u00f6zellikle s\u00fcrekli IRC kullan\u0131c\u0131lar\u0131, birden fazla cihazdan ba\u011flananlar veya gizlili\u011fine \u00f6nem verenler i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki maddelere sahip oldu\u011funuzdan emin olun:<\/p>\n<p>*   <strong>Ubuntu VPS:<\/strong> En az 1 GB RAM&#8217;e sahip bir Ubuntu 20.04 veya \u00fczeri s\u00fcr\u00fcm y\u00fckl\u00fc bir VPS.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> VPS&#8217;inize SSH \u00fczerinden ba\u011flanabilme yetene\u011fi.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in root kullan\u0131c\u0131s\u0131 veya sudo yetkisine sahip bir kullan\u0131c\u0131.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 kullan\u0131m\u0131 ve dosya sistemi navigasyonu hakk\u0131nda temel bilgi.<\/p>\n<h3>Sistem G\u00fcncelleme ve Gerekli Paketlerin Kurulumu<\/h3>\n<p>ZNC&#8217;yi kaynak koddan derlemek, size en g\u00fcncel s\u00fcr\u00fcm\u00fc ve daha fazla yap\u0131land\u0131rma esnekli\u011fi sunar. Bu i\u015flem i\u00e7in baz\u0131 geli\u015ftirme ara\u00e7lar\u0131na ve k\u00fct\u00fcphanelere ihtiyac\u0131m\u0131z olacak.<\/p>\n<p>\u00d6ncelikle, sunucunuzdaki 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<\/code><\/pre>\n<p>Ard\u0131ndan, ZNC&#8217;yi derlemek i\u00e7in gerekli olan <code>build-essential<\/code> (derleyici ve geli\u015ftirme ara\u00e7lar\u0131), <code>git<\/code> (kaynak kodu indirmek i\u00e7in) ve \u00e7e\u015fitli k\u00fct\u00fcphanelerin geli\u015ftirme paketlerini kurun. Bu k\u00fct\u00fcphaneler ZNC&#8217;nin SSL deste\u011fi, Perl, Python ve Tcl mod\u00fcllerini etkinle\u015ftirmesi i\u00e7in gereklidir:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y build-essential git libssl-dev libperl-dev libpython3-dev libtcl-dev pkg-config zlib1g-dev<\/code><\/pre>\n<p>*   <code>build-essential<\/code>: C\/C++ derleyicileri ve yard\u0131mc\u0131 programlar\u0131 i\u00e7erir.<br \/>\n*   <code>git<\/code>: ZNC kaynak kodunu GitHub&#8217;dan klonlamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>libssl-dev<\/code>: OpenSSL k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131, ZNC&#8217;nin SSL\/TLS \u015fifrelemesini desteklemesi i\u00e7in gereklidir.<br \/>\n*   <code>libperl-dev<\/code>, <code>libpython3-dev<\/code>, <code>libtcl-dev<\/code>: ZNC&#8217;nin Perl, Python ve Tcl mod\u00fcllerini etkinle\u015ftirmek i\u00e7in gereken geli\u015ftirme dosyalar\u0131d\u0131r. Bu mod\u00fcller, ZNC&#8217;nin i\u015flevselli\u011fini betiklerle geni\u015fletmenizi sa\u011flar.<br \/>\n*   <code>pkg-config<\/code>: K\u00fct\u00fcphanelerin derleyiciye do\u011fru parametrelerini sa\u011flamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>zlib1g-dev<\/code>: Zlib s\u0131k\u0131\u015ft\u0131rma k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131.<\/p>\n<h3>ZNC Kaynak Kodunu \u0130ndirme ve Derleme<\/h3>\n<p>Gerekli paketler y\u00fcklendikten sonra, ZNC kaynak kodunu GitHub deposundan klonlayabilir ve derlemeye ba\u015flayabiliriz. Kaynak kodu genellikle <code>\/usr\/local\/src<\/code> veya <code>\/opt<\/code> gibi bir dizine indirilir.<\/p>\n<pre><code class=\"language-bash\">cd \/usr\/local\/src\nsudo git clone https:\/\/github.com\/znc\/znc.git\ncd znc<\/code><\/pre>\n<p>\u015eimdi, derleme s\u00fcrecini ba\u015flatmadan \u00f6nce yap\u0131land\u0131rma beti\u011fini olu\u015fturmam\u0131z gerekiyor:<\/p>\n<pre><code class=\"language-bash\">sudo .\/autogen.sh<\/code><\/pre>\n<p>Bu komut, <code>configure<\/code> beti\u011fini olu\u015fturacakt\u0131r. Ard\u0131ndan, ZNC&#8217;yi istedi\u011finiz \u00f6zelliklerle yap\u0131land\u0131r\u0131n. <code>--prefix<\/code> bayra\u011f\u0131, ZNC&#8217;nin nereye kurulaca\u011f\u0131n\u0131 belirtir. <code>\/usr\/local\/znc<\/code> yayg\u0131n ve iyi bir se\u00e7imdir. Ayr\u0131ca SSL ve betik dilleri i\u00e7in mod\u00fclleri etkinle\u015ftirmek \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo .\/configure --prefix=\/usr\/local\/znc --enable-openssl --enable-perl --enable-python --enable-tcl<\/code><\/pre>\n<p>*   <code>--prefix=\/usr\/local\/znc<\/code>: ZNC&#8217;nin t\u00fcm dosyalar\u0131n\u0131n bu dizine kurulmas\u0131n\u0131 sa\u011flar. Bu, sistem dosyalar\u0131ndan ayr\u0131 tutuldu\u011fu i\u00e7in y\u00f6netimi kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <code>--enable-openssl<\/code>: ZNC&#8217;nin SSL\/TLS \u015fifrelemesini kullanmas\u0131n\u0131 sa\u011flar. Bu, hem IRC sunucular\u0131 ile ZNC aras\u0131ndaki hem de ZNC ile istemciniz aras\u0131ndaki ileti\u015fimin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir.<br \/>\n*   <code>--enable-perl<\/code>, <code>--enable-python<\/code>, <code>--enable-tcl<\/code>: ZNC&#8217;nin bu betik dilleriyle yaz\u0131lm\u0131\u015f mod\u00fclleri y\u00fcklemesine izin verir. \u0130leri d\u00fczey kullan\u0131c\u0131lar i\u00e7in mod\u00fcl geli\u015ftirme veya mevcut mod\u00fclleri kullanma yetene\u011fi sunar.<\/p>\n<p>Yap\u0131land\u0131rma ba\u015far\u0131l\u0131 olursa, derleme i\u015flemine ge\u00e7ebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo make<\/code><\/pre>\n<p>Bu ad\u0131m biraz zaman alabilir. Derleme tamamland\u0131\u011f\u0131nda, ZNC&#8217;yi sisteminize kurun:<\/p>\n<pre><code class=\"language-bash\">sudo make install<\/code><\/pre>\n<p>Bu komut, derlenmi\u015f ZNC ikili dosyalar\u0131n\u0131, k\u00fct\u00fcphanelerini ve di\u011fer gerekli dosyalar\u0131 <code>--prefix<\/code> ile belirtti\u011finiz <code>\/usr\/local\/znc<\/code> dizinine kopyalayacakt\u0131r.<\/p>\n<h3>ZNC Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h3>\n<p>G\u00fcvenlik en iyi uygulamas\u0131 olarak, ZNC&#8217;yi <code>root<\/code> kullan\u0131c\u0131s\u0131 yerine \u00f6zel, ayr\u0131cal\u0131ks\u0131z bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak her zaman tavsiye edilir. Bu, ZNC&#8217;de olas\u0131 bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131n sistemin tamam\u0131n\u0131 tehlikeye atmas\u0131n\u0131 engeller.<\/p>\n<p>ZNC i\u00e7in bir sistem kullan\u0131c\u0131s\u0131 ve grubu olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo useradd -r -s \/bin\/false -d \/var\/lib\/znc znc<\/code><\/pre>\n<p>*   <code>useradd<\/code>: Yeni bir kullan\u0131c\u0131 olu\u015fturur.<br \/>\n*   <code>-r<\/code>: Kullan\u0131c\u0131y\u0131 bir sistem kullan\u0131c\u0131s\u0131 olarak olu\u015fturur (genellikle UID < 1000).\n*   <code>-s \/bin\/false<\/code>: Bu kullan\u0131c\u0131n\u0131n kabuk eri\u015fimine sahip olmamas\u0131n\u0131 sa\u011flar, bu da g\u00fcvenli\u011fi art\u0131r\u0131r.<br \/>\n*   <code>-d \/var\/lib\/znc<\/code>: Kullan\u0131c\u0131n\u0131n ana dizinini <code>\/var\/lib\/znc<\/code> olarak ayarlar. ZNC&#8217;nin yap\u0131land\u0131rma dosyalar\u0131 ve verileri bu dizinde saklanacakt\u0131r.<br \/>\n*   <code>znc<\/code>: Olu\u015fturulan kullan\u0131c\u0131n\u0131n ad\u0131d\u0131r.<\/p>\n<p>\u015eimdi, ZNC kullan\u0131c\u0131s\u0131n\u0131n ana dizinini olu\u015ftural\u0131m ve gerekli izinleri verelim:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/var\/lib\/znc\nsudo chown znc:znc \/var\/lib\/znc<\/code><\/pre>\n<p>Bu, ZNC kullan\u0131c\u0131s\u0131n\u0131n kendi ana dizininde yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015fturabilmesini ve y\u00f6netebilmesini sa\u011flar. Ayr\u0131ca, ZNC&#8217;nin kurulu oldu\u011fu dizinin (\u00f6rne\u011fin <code>\/usr\/local\/znc<\/code>) ZNC kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir oldu\u011fundan emin olun. <code>make install<\/code> genellikle do\u011fru izinleri ayarlar, ancak yine de kontrol etmek faydal\u0131d\u0131r.<\/p>\n<h3>ZNC \u0130lk Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>ZNC&#8217;yi ilk kez \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, etkile\u015fimli bir yap\u0131land\u0131rma sihirbaz\u0131 arac\u0131l\u0131\u011f\u0131yla temel ayarlar\u0131 yapman\u0131z gerekir. Bu i\u015flemi, az \u00f6nce olu\u015fturdu\u011fumuz <code>znc<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda yapmal\u0131y\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo -u znc \/usr\/local\/znc\/bin\/znc --makeconf<\/code><\/pre>\n<p>Bu komut, <code>znc<\/code> kullan\u0131c\u0131s\u0131 olarak ZNC&#8217;yi \u00e7al\u0131\u015ft\u0131r\u0131r ve yap\u0131land\u0131rma sihirbaz\u0131n\u0131 ba\u015flat\u0131r. Sihirbaz size a\u015fa\u011f\u0131daki sorular\u0131 soracakt\u0131r:<\/p>\n<p>1.  <strong>Listen Port:<\/strong> ZNC&#8217;nin gelen ba\u011flant\u0131lar\u0131 dinleyece\u011fi portu girin (\u00f6rn. <code>6667<\/code> veya <code>443<\/code> HTTPS i\u00e7in). <code>443<\/code> kullanmak, baz\u0131 a\u011flarda daha az k\u0131s\u0131tlamayla kar\u015f\u0131la\u015fman\u0131z\u0131 sa\u011flayabilir, ancak sunucunuzda ba\u015fka bir servis taraf\u0131ndan kullan\u0131lmad\u0131\u011f\u0131ndan emin olun.<br \/>\n2.  <strong>SSL:<\/strong> ZNC&#8217;nin SSL\/TLS \u015fifrelemesi kullan\u0131p kullanmayaca\u011f\u0131n\u0131 se\u00e7in. <strong>Kesinlikle <code>yes<\/code> se\u00e7ene\u011fini se\u00e7in.<\/strong> Bu, ZNC ile IRC istemciniz aras\u0131ndaki ileti\u015fimin g\u00fcvenli\u011fini sa\u011flar. ZNC, ilk \u00e7al\u0131\u015ft\u0131rmada kendi kendine imzal\u0131 bir SSL sertifikas\u0131 olu\u015fturacakt\u0131r. Daha sonra bunu Let&#8217;s Encrypt gibi g\u00fcvenilir bir sertifika ile de\u011fi\u015ftirebiliriz.<br \/>\n3.  <strong>IPv4\/IPv6:<\/strong> Hangi IP protokollerini kullanmak istedi\u011finizi se\u00e7in. Genellikle varsay\u0131lan se\u00e7enek (<code>both<\/code>) yeterlidir.<br \/>\n4.  <strong>Admin Kullan\u0131c\u0131s\u0131 Olu\u015fturma:<\/strong> ZNC&#8217;yi y\u00f6netmek i\u00e7in bir y\u00f6netici kullan\u0131c\u0131 ad\u0131 ve \u015fifresi olu\u015fturun. Bu bilgiler hem IRC istemcinizden ZNC&#8217;ye ba\u011flan\u0131rken hem de ZNC&#8217;nin web aray\u00fcz\u00fcne eri\u015firken kullan\u0131lacakt\u0131r.<br \/>\n5.  <strong>Mod\u00fcller:<\/strong> Y\u00fcklemek istedi\u011finiz varsay\u0131lan mod\u00fclleri se\u00e7in. <code>webadmin<\/code> mod\u00fcl\u00fc, ZNC&#8217;yi web taray\u0131c\u0131n\u0131z \u00fczerinden y\u00f6netmenizi sa\u011flar ve \u015fiddetle tavsiye edilir. <code>control<\/code> mod\u00fcl\u00fc de IRC \u00fczerinden komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in faydal\u0131d\u0131r.<br \/>\n6.  <strong>A\u011f Ekleme:<\/strong> \u0130lk IRC a\u011f\u0131n\u0131z\u0131 yap\u0131land\u0131rabilirsiniz (\u00f6rn. freenode, Libera.Chat).<br \/>\n    *   <strong>Network Name:<\/strong> A\u011f i\u00e7in bir isim (\u00f6rn. <code>freenode<\/code>).<br \/>\n    *   <strong>IRC Server:<\/strong> IRC sunucusunun adresi (\u00f6rn. <code>irc.libera.chat<\/code>).<br \/>\n    *   <strong>Port:<\/strong> IRC sunucusunun portu (\u00f6rn. <code>6697<\/code> SSL i\u00e7in).<br \/>\n    *   <strong>SSL:<\/strong> IRC sunucusuyla SSL kullan\u0131l\u0131p kullan\u0131lmayaca\u011f\u0131. Genellikle <code>yes<\/code> olmal\u0131d\u0131r.<br \/>\n    *   <strong>Password:<\/strong> IRC sunucusuna ba\u011flanmak i\u00e7in bir \u015fifre (iste\u011fe ba\u011fl\u0131, genellikle NickServ ile kimlik do\u011frulamas\u0131 i\u00e7in kullan\u0131l\u0131r).<br \/>\n    *   <strong>Nick:<\/strong> IRC&#8217;de kullanmak istedi\u011finiz takma ad.<br \/>\n    *   <strong>Alt. Nicks:<\/strong> Alternatif takma adlar.<br \/>\n    *   <strong>Ident:<\/strong> Ident dizesi (genellikle takma ad\u0131n\u0131zla ayn\u0131).<br \/>\n    *   <strong>Real Name:<\/strong> Ger\u00e7ek ad\u0131n\u0131z (iste\u011fe ba\u011fl\u0131).<br \/>\n    *   <strong>Channels:<\/strong> Otomatik olarak kat\u0131lmak istedi\u011finiz kanallar (\u00f6rn. <code>#channel1 #channel2<\/code>).<br \/>\n    *   <strong>Perform Commands:<\/strong> IRC sunucusuna ba\u011fland\u0131ktan sonra \u00e7al\u0131\u015ft\u0131r\u0131lacak komutlar (\u00f6rn. <code>\/msg NickServ IDENTIFY <password><\/code>).<\/p>\n<p>T\u00fcm sorular\u0131 yan\u0131tlad\u0131ktan sonra ZNC, yap\u0131land\u0131rmay\u0131 <code>\/var\/lib\/znc\/.znc\/configs\/znc.conf<\/code> dosyas\u0131na kaydedecektir. Bu dosya, ZNC&#8217;nin t\u00fcm ayarlar\u0131n\u0131 i\u00e7erir ve manuel olarak d\u00fczenlenebilir, ancak genellikle web aray\u00fcz\u00fc daha kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h3>ZNC Servisini Y\u00f6netme (systemd)<\/h3>\n<p>ZNC&#8217;nin sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131 ve arka planda s\u00fcrekli \u00e7al\u0131\u015fmas\u0131 i\u00e7in bir <code>systemd<\/code> servisi olarak yap\u0131land\u0131rmak en iyi y\u00f6ntemdir.<\/p>\n<p>Bir <code>systemd<\/code> servis dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/znc.service<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=ZNC IRC Bouncer\nAfter=network.target\n\n[Service]\nExecStart=\/usr\/local\/znc\/bin\/znc --datadir=\/var\/lib\/znc\/.znc\nRestart=always\nUser=znc\nGroup=znc\nWorkingDirectory=\/var\/lib\/znc\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>*   <strong><code>[Unit]<\/code> B\u00f6l\u00fcm\u00fc:<\/strong><br \/>\n    *   <code>Description<\/code>: Servisin k\u0131sa bir a\u00e7\u0131klamas\u0131.<br \/>\n    *   <code>After=network.target<\/code>: ZNC servisinin, a\u011f servisleri ba\u015flat\u0131ld\u0131ktan sonra ba\u015flamas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong><code>[Service]<\/code> B\u00f6l\u00fcm\u00fc:<\/strong><br \/>\n    *   <code>ExecStart=\/usr\/local\/znc\/bin\/znc --datadir=\/var\/lib\/znc\/.znc<\/code>: ZNC&#8217;yi \u00e7al\u0131\u015ft\u0131ran komut. <code>--datadir<\/code> bayra\u011f\u0131, ZNC&#8217;nin yap\u0131land\u0131rma ve veri dosyalar\u0131n\u0131 nerede arayaca\u011f\u0131n\u0131 belirtir. Daha \u00f6nce <code>\/var\/lib\/znc<\/code> ana dizini alt\u0131na <code>.znc<\/code> klas\u00f6r\u00fcn\u00fc olu\u015fturmu\u015ftuk.<br \/>\n    *   <code>Restart=always<\/code>: ZNC servisi herhangi bir nedenle durursa otomatik olarak yeniden ba\u015flat\u0131l\u0131r.<br \/>\n    *   <code>User=znc<\/code>: ZNC servisinin <code>znc<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>Group=znc<\/code>: ZNC servisinin <code>znc<\/code> grubu alt\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>WorkingDirectory=\/var\/lib\/znc<\/code>: ZNC&#8217;nin \u00e7al\u0131\u015fma dizinini belirtir.<br \/>\n*   <strong><code>[Install]<\/code> B\u00f6l\u00fcm\u00fc:<\/strong><br \/>\n    *   <code>WantedBy=multi-user.target<\/code>: Servisin \u00e7ok kullan\u0131c\u0131l\u0131 sistem ba\u015flatma hedefiyle etkinle\u015ftirilmesini sa\u011flar, yani sistem a\u00e7\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flar.<\/p>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n (Ctrl+X, Y, Enter).<\/p>\n<p>\u015eimdi <code>systemd<\/code>&#8216;yi yeni servisi tan\u0131mas\u0131 i\u00e7in yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload<\/code><\/pre>\n<p>ZNC servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start znc<\/code><\/pre>\n<p>Servisin durumunu kontrol ederek d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status znc<\/code><\/pre>\n<p>Ye\u015fil renkli &#8220;active (running)&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmelisiniz. Servisin sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable znc<\/code><\/pre>\n<p>Di\u011fer yayg\u0131n <code>systemctl<\/code> komutlar\u0131:<br \/>\n*   <code>sudo systemctl stop znc<\/code>: ZNC servisini durdurur.<br \/>\n*   <code>sudo systemctl restart znc<\/code>: ZNC servisini yeniden ba\u015flat\u0131r.<br \/>\n*   <code>sudo systemctl disable znc<\/code>: ZNC servisinin sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik ba\u015flamas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131r.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h3>\n<p>Sunucunuzda bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin UFW) etkinse, ZNC&#8217;nin dinledi\u011fi portu a\u00e7man\u0131z gerekir, aksi takdirde d\u0131\u015far\u0131dan eri\u015filemez olacakt\u0131r. Varsay\u0131lan olarak ZNC&#8217;yi <code>6667<\/code> portunda veya <code>443<\/code> portunda \u00e7al\u0131\u015ft\u0131rd\u0131ysan\u0131z, bu portlar\u0131 a\u00e7man\u0131z gerekir.<\/p>\n<p>\u00d6rnek olarak, ZNC&#8217;nin <code>6667<\/code> portunda dinledi\u011fini varsayarsak:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 6667\/tcp<\/code><\/pre>\n<p>E\u011fer web aray\u00fcz\u00fc i\u00e7in farkl\u0131 bir port kullan\u0131yorsan\u0131z veya SSL i\u00e7in <code>443<\/code> portunu kullan\u0131yorsan\u0131z, onu da a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 443\/tcp<\/code><\/pre>\n<p>G\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirin (e\u011fer zaten etkin de\u011filse):<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p>G\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<h3>ZNC&#8217;ye Ba\u011flanma ve Y\u00f6netim<\/h3>\n<p>ZNC kurulumu tamamland\u0131 ve \u00e7al\u0131\u015f\u0131r durumda oldu\u011funa g\u00f6re, \u015fimdi ona ba\u011flanabilir ve y\u00f6netebilirsiniz.<\/p>\n<h4>IRC \u0130stemcisi ile Ba\u011flanma<\/h4>\n<p>Favori IRC istemcinizi (HexChat, mIRC, irssi, WeeChat vb.) kullanarak ZNC&#8217;ye ba\u011flanabilirsiniz. Ba\u011flant\u0131 ayarlar\u0131 a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<p>*   <strong>Sunucu (Server):<\/strong> VPS&#8217;inizin IP adresi veya alan ad\u0131.<br \/>\n*   <strong>Port:<\/strong> ZNC&#8217;nin dinledi\u011fi port (yap\u0131land\u0131rma s\u0131ras\u0131nda belirledi\u011finiz, \u00f6rn. <code>6667<\/code> veya <code>443<\/code>).<br \/>\n*   <strong>SSL\/TLS:<\/strong> Etkinle\u015ftirin (e\u011fer ZNC&#8217;yi SSL ile yap\u0131land\u0131rd\u0131ysan\u0131z, ki kesinlikle \u00f6nerilir). G\u00fcvenilmeyen sertifika uyar\u0131s\u0131 al\u0131rsan\u0131z, bu ZNC&#8217;nin kendi kendine imzal\u0131 sertifikas\u0131 nedeniyledir. \u015eimdilik kabul edebilirsiniz, daha sonra Let&#8217;s Encrypt ile de\u011fi\u015ftirece\u011fiz.<br \/>\n*   <strong>\u015eifre (Password):<\/strong> ZNC y\u00f6netici kullan\u0131c\u0131 ad\u0131n\u0131z, ard\u0131ndan iki nokta \u00fcst \u00fcste ve ZNC \u015fifreniz, ard\u0131ndan e\u011fik \u00e7izgi ve a\u011f ad\u0131n\u0131z.<br \/>\n    *   \u00d6rnek: <code>admin_kullaniciadi:admin_sifre\/ag_adi<\/code> (\u00f6rn. <code>john:pass123\/libera<\/code>).<br \/>\n    *   E\u011fer sadece ZNC&#8217;ye ba\u011flan\u0131p a\u011f eklemek istiyorsan\u0131z, <code>admin_kullaniciadi:admin_sifre<\/code> \u015feklinde de ba\u011flanabilirsiniz.<\/p>\n<p>Ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011fland\u0131\u011f\u0131n\u0131zda, ZNC size ho\u015f geldiniz mesajlar\u0131 g\u00f6nderecek ve yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z IRC a\u011flar\u0131na otomatik olarak ba\u011flanacakt\u0131r.<\/p>\n<h4>Web Aray\u00fcz\u00fc ile Y\u00f6netim<\/h4>\n<p>ZNC&#8217;nin web aray\u00fcz\u00fc, kullan\u0131c\u0131lar\u0131, a\u011flar\u0131, mod\u00fclleri ve di\u011fer ayarlar\u0131 grafiksel bir aray\u00fcz \u00fczerinden y\u00f6netmenizi sa\u011flar.<\/p>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki adrese gidin:<\/p>\n<p><code>https:\/\/your_vps_ip_or_domain:znc_port<\/code><\/p>\n<p>\u00d6rne\u011fin, <code>https:\/\/192.168.1.100:6667<\/code> veya <code>https:\/\/irc.example.com:443<\/code>.<\/p>\n<p>Kullan\u0131c\u0131 ad\u0131 ve \u015fifre olarak ZNC yap\u0131land\u0131rmas\u0131 s\u0131ras\u0131nda olu\u015fturdu\u011funuz y\u00f6netici kullan\u0131c\u0131 ad\u0131 ve \u015fifresini kullan\u0131n. Web aray\u00fcz\u00fc, ZNC&#8217;nizin t\u00fcm y\u00f6nlerini y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Buradan yeni kullan\u0131c\u0131lar ekleyebilir, mevcut kullan\u0131c\u0131lar i\u00e7in a\u011flar yap\u0131land\u0131rabilir, mod\u00fclleri etkinle\u015ftirebilir veya devre d\u0131\u015f\u0131 b\u0131rakabilir ve daha fazlas\u0131n\u0131 yapabilirsiniz.<\/p>\n<h4>Kullan\u0131c\u0131 ve A\u011f Ekleme<\/h4>\n<p>Web aray\u00fcz\u00fc \u00fczerinden yeni kullan\u0131c\u0131lar ve her kullan\u0131c\u0131 i\u00e7in yeni IRC a\u011flar\u0131 eklemek olduk\u00e7a basittir.<\/p>\n<p>1.  <strong>Kullan\u0131c\u0131 Ekleme:<\/strong> Web aray\u00fcz\u00fcnde &#8220;Add User&#8221; (Kullan\u0131c\u0131 Ekle) se\u00e7ene\u011fini bulun. Yeni bir kullan\u0131c\u0131 ad\u0131, \u015fifre belirleyin ve di\u011fer ayarlar\u0131 yap\u0131land\u0131r\u0131n. Her kullan\u0131c\u0131n\u0131n kendi ayr\u0131 yap\u0131land\u0131rmas\u0131 ve ba\u011fl\u0131 oldu\u011fu IRC a\u011flar\u0131 olacakt\u0131r.<br \/>\n2.  <strong>A\u011f Ekleme:<\/strong> Mevcut bir kullan\u0131c\u0131y\u0131 se\u00e7in ve &#8220;Add Network&#8221; (A\u011f Ekle) se\u00e7ene\u011fini kullan\u0131n. Burada, IRC sunucu adresi, port, SSL ayarlar\u0131, takma adlar ve otomatik kat\u0131l\u0131nacak kanallar gibi detaylar\u0131 girersiniz. Ayr\u0131ca, <code>perform<\/code> mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla NickServ kimlik do\u011frulamas\u0131 gibi otomatik komutlar\u0131 da ekleyebilirsiniz.<\/p>\n<h3>\u0130leri D\u00fczey Yap\u0131land\u0131rma ve Optimizasyon<\/h3>\n<p>ZNC&#8217;nin temel kurulumu tamamland\u0131, ancak deneyiminizi daha da iyile\u015ftirmek i\u00e7in baz\u0131 ileri d\u00fczey yap\u0131land\u0131rmalar ve optimizasyonlar yapabilirsiniz.<\/p>\n<h4>SSL Sertifikas\u0131 Kullan\u0131m\u0131 (Let&#8217;s Encrypt)<\/h4>\n<p>ZNC&#8217;nin ilk kurulumunda olu\u015fturdu\u011fu kendi kendine imzal\u0131 sertifika, taray\u0131c\u0131n\u0131zda veya IRC istemcinizde g\u00fcvenlik uyar\u0131lar\u0131na neden olur. Bunu \u00f6nlemek ve daha g\u00fcvenli bir ba\u011flant\u0131 sa\u011flamak i\u00e7in Let&#8217;s Encrypt gibi g\u00fcvenilir bir sertifika yetkilisinden \u00fccretsiz bir SSL sertifikas\u0131 alabilirsiniz.<\/p>\n<p><strong>\u00d6n Ko\u015ful:<\/strong> Alan ad\u0131n\u0131z\u0131n (\u00f6rne\u011fin <code>irc.example.com<\/code>) VPS&#8217;inizin IP adresine i\u015faret etti\u011finden emin olun.<\/p>\n<p>1.  <strong>Certbot Kurulumu:<\/strong> Let&#8217;s Encrypt sertifikalar\u0131n\u0131 y\u00f6netmek i\u00e7in <code>certbot<\/code> arac\u0131n\u0131 kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install certbot<\/code><\/pre>\n<p>2.  <strong>Sertifika Alma:<\/strong> <code>certbot<\/code>&#8216;u <code>standalone<\/code> modunda kullanarak sertifikay\u0131 al\u0131n. Bu modda <code>certbot<\/code> ge\u00e7ici olarak kendi web sunucusunu \u00e7al\u0131\u015ft\u0131r\u0131r, bu nedenle ZNC&#8217;nin <code>443<\/code> portunu kullan\u0131yorsan\u0131z, sertifika almadan \u00f6nce ZNC&#8217;yi durdurman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop znc\n    sudo certbot certonly --standalone -d your_domain.com<\/code><\/pre>\n<p>    <code>your_domain.com<\/code> yerine kendi alan ad\u0131n\u0131z\u0131 yaz\u0131n. E-posta adresi ve hizmet \u015fartlar\u0131n\u0131 kabul etme gibi sorular\u0131 yan\u0131tlay\u0131n.<br \/>\n    Sertifikalar\u0131n\u0131z <code>\/etc\/letsencrypt\/live\/your_domain.com\/<\/code> dizininde olu\u015fturulacakt\u0131r. <code>fullchain.pem<\/code> genel sertifikay\u0131 ve <code>privkey.pem<\/code> \u00f6zel anahtar\u0131 i\u00e7erir.<br \/>\n3.  <strong>ZNC&#8217;yi Sertifikalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma:<\/strong> ZNC&#8217;nin <code>znc.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek yeni sertifikalar\u0131 kullanmas\u0131n\u0131 sa\u011flay\u0131n. Bu i\u015flemi web aray\u00fcz\u00fcnden de yapabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo -u znc nano \/var\/lib\/znc\/.znc\/configs\/znc.conf<\/code><\/pre>\n<p>    <code>Listen<\/code> blo\u011funu bulun ve <code>SSLCertFile<\/code> ile <code>SSLKeyFile<\/code> sat\u0131rlar\u0131n\u0131 a\u015fa\u011f\u0131daki gibi g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-ini\"><Listen 6667>\n        # ... di\u011fer ayarlar ...\n        SSLCertFile = \/etc\/letsencrypt\/live\/your_domain.com\/fullchain.pem\n        SSLKeyFile = \/etc\/letsencrypt\/live\/your_domain.com\/privkey.pem\n    <\/Listen><\/code><\/pre>\n<p>    ZNC&#8217;nin bu dosyalara eri\u015febilmesi i\u00e7in <code>znc<\/code> kullan\u0131c\u0131s\u0131na okuma izni vermeniz gerekebilir. Ancak Let&#8217;s Encrypt, bu dosyalar\u0131 genellikle <code>root<\/code> kullan\u0131c\u0131s\u0131na ait yapar ve di\u011fer kullan\u0131c\u0131lar i\u00e7in k\u0131s\u0131tlar. En iyi yol, bu dosyalar\u0131 ZNC&#8217;nin okuyabilece\u011fi bir konuma kopyalamak ve izinleri ayarlamakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/letsencrypt\/live\/your_domain.com\/fullchain.pem \/var\/lib\/znc\/.znc\/znc.pem\n    sudo cp \/etc\/letsencrypt\/live\/your_domain.com\/privkey.pem \/var\/lib\/znc\/.znc\/znc.key\n    sudo chown znc:znc \/var\/lib\/znc\/.znc\/znc.pem \/var\/lib\/znc\/.znc\/znc.key\n    sudo chmod 600 \/var\/lib\/znc\/.znc\/znc.pem \/var\/lib\/znc\/.znc\/znc.key<\/code><\/pre>\n<p>    Ve <code>znc.conf<\/code> dosyas\u0131n\u0131 buna g\u00f6re g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-ini\"><Listen 6667>\n        # ... di\u011fer ayarlar ...\n        SSLCertFile = \/var\/lib\/znc\/.znc\/znc.pem\n        SSLKeyFile = \/var\/lib\/znc\/.znc\/znc.key\n    <\/Listen><\/code><\/pre>\n<p>    De\u011fi\u015fiklikleri kaydettikten sonra ZNC servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart znc<\/code><\/pre>\n<p>    Art\u0131k IRC istemciniz veya web taray\u0131c\u0131n\u0131z ZNC&#8217;ye ba\u011flan\u0131rken ge\u00e7erli bir SSL sertifikas\u0131 kullanacakt\u0131r.<br \/>\n4.  <strong>Otomatik Yenileme:<\/strong> Certbot, sertifikalar\u0131 otomatik olarak yenilemek i\u00e7in bir <code>cron<\/code> i\u015fi veya <code>systemd<\/code> zamanlay\u0131c\u0131s\u0131 kurar. Ancak ZNC&#8217;nin sertifikalar\u0131n\u0131 kopyalad\u0131\u011f\u0131m\u0131z i\u00e7in, yenileme sonras\u0131 bu kopyalar\u0131n da g\u00fcncellenmesi gerekir. Bu, bir <code>certbot<\/code> yenileme kancas\u0131 kullan\u0131larak otomatize edilebilir:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/letsencrypt\/renewal-hooks\/deploy\/znc_cert_deploy.sh<\/code><\/pre>\n<p>    \u0130\u00e7ine a\u015fa\u011f\u0131daki beti\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n    cp \/etc\/letsencrypt\/live\/your_domain.com\/fullchain.pem \/var\/lib\/znc\/.znc\/znc.pem\n    cp \/etc\/letsencrypt\/live\/your_domain.com\/privkey.pem \/var\/lib\/znc\/.znc\/znc.key\n    chown znc:znc \/var\/lib\/znc\/.znc\/znc.pem \/var\/lib\/znc\/.znc\/znc.key\n    chmod 600 \/var\/lib\/znc\/.znc\/znc.pem \/var\/lib\/znc\/.znc\/znc.key\n    systemctl restart znc<\/code><\/pre>\n<p>    Beti\u011fi y\u00fcr\u00fct\u00fclebilir yap\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/etc\/letsencrypt\/renewal-hooks\/deploy\/znc_cert_deploy.sh<\/code><\/pre>\n<p>    Bu betik, <code>certbot<\/code> sertifikalar\u0131 yeniledi\u011finde otomatik olarak \u00e7al\u0131\u015facak ve ZNC&#8217;nin sertifika dosyalar\u0131n\u0131 g\u00fcncelleyip ZNC servisini yeniden ba\u015flatacakt\u0131r.<\/p>\n<h4>Mod\u00fcller<\/h4>\n<p>ZNC&#8217;nin mod\u00fcler yap\u0131s\u0131, i\u015flevselli\u011fini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde geni\u015fletmenizi sa\u011flar. Mod\u00fcller, web aray\u00fcz\u00fc \u00fczerinden veya IRC istemcinizden <code>*control<\/code> mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla y\u00fcklenebilir, bo\u015falt\u0131labilir ve yap\u0131land\u0131r\u0131labilir.<\/p>\n<p>Baz\u0131 pop\u00fcler ve kullan\u0131\u015fl\u0131 mod\u00fcller:<\/p>\n<p>*   <strong><code>webadmin<\/code>:<\/strong> ZNC&#8217;yi web taray\u0131c\u0131n\u0131zdan y\u00f6netmenizi sa\u011flar. (Varsay\u0131lan olarak y\u00fcklenmi\u015f olmal\u0131).<br \/>\n<em>   <strong><code>control<\/code>:<\/strong> IRC istemcinizden ZNC&#8217;yi y\u00f6netmek i\u00e7in komutlar sa\u011flar (\u00f6rn. <code>\/msg <\/em>control help<\/code>).<br \/>\n*   <strong><code>nickserv<\/code>:<\/strong> IRC sunucusuna ba\u011fland\u0131ktan sonra otomatik olarak NickServ&#8217;e kimlik do\u011frulamas\u0131 yapar.<br \/>\n*   <strong><code>sasl<\/code>:<\/strong> IRC sunucusuna ba\u011flan\u0131rken SASL (Simple Authentication and Security Layer) kimlik do\u011frulamas\u0131 kullan\u0131r.<br \/>\n*   <strong><code>away<\/code>:<\/strong> IRC istemciniz ZNC&#8217;den ayr\u0131ld\u0131\u011f\u0131nda otomatik olarak sizi &#8220;away&#8221; durumuna ayarlar ve geri d\u00f6nd\u00fc\u011f\u00fcn\u00fczde &#8220;unaway&#8221; yapar.<br \/>\n*   <strong><code>log<\/code>:<\/strong> T\u00fcm kanal ve \u00f6zel mesaj aktivitelerini g\u00fcnl\u00fc\u011fe kaydeder.<br \/>\n*   <strong><code>perform<\/code>:<\/strong> IRC sunucusuna ba\u011fland\u0131ktan sonra belirli komutlar\u0131 otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n*   <strong><code>schat<\/code>:<\/strong> Kullan\u0131c\u0131lar\u0131n ZNC \u00fczerinden \u015fifreli sohbetler yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Mod\u00fclleri y\u00fcklemek i\u00e7in web aray\u00fcz\u00fcnde ilgili kullan\u0131c\u0131 veya a\u011f ayarlar\u0131 alt\u0131nda &#8220;Modules&#8221; (Mod\u00fcller) b\u00f6l\u00fcm\u00fcne gidin ve istedi\u011finiz mod\u00fcl\u00fc se\u00e7ip etkinle\u015ftirin.<\/p>\n<h4>\u00c7oklu Kullan\u0131c\u0131 ve A\u011f Y\u00f6netimi<\/h4>\n<p>ZNC, birden fazla kullan\u0131c\u0131y\u0131 ve her kullan\u0131c\u0131 i\u00e7in birden fazla IRC a\u011f\u0131n\u0131 destekler. Her kullan\u0131c\u0131n\u0131n kendi \u015fifresi, takma adlar\u0131, ayarlar\u0131 ve ba\u011fl\u0131 oldu\u011fu a\u011flar\u0131 olabilir. Bu, ZNC&#8217;yi bir aile, arkada\u015flar grubu veya k\u00fc\u00e7\u00fck bir organizasyon i\u00e7in merkezi bir IRC bouncer&#8217;\u0131 olarak kullanman\u0131za olanak tan\u0131r. Her kullan\u0131c\u0131 birbirinden tamamen izole \u00e7al\u0131\u015f\u0131r.<\/p>\n<h4>Loglama ve Yedekleme<\/h4>\n<p><code>log<\/code> mod\u00fcl\u00fc etkinle\u015ftirildi\u011finde, ZNC t\u00fcm sohbetleri ve olaylar\u0131 ana dizinindeki (\u00f6rn. <code>\/var\/lib\/znc\/.znc\/users\/kullaniciadi\/networks\/agadi\/moddata\/log\/<\/code>) dosyalara kaydeder. Bu log dosyalar\u0131, ge\u00e7mi\u015f sohbetleri incelemek i\u00e7in \u00e7ok de\u011ferlidir.<\/p>\n<p>ZNC yap\u0131land\u0131rma dosyalar\u0131n\u0131z ve loglar\u0131n\u0131z <code>\/var\/lib\/znc\/.znc<\/code> dizininde bulunur. Bu dizini d\u00fczenli olarak yedeklemek, herhangi bir veri kayb\u0131 durumunda ZNC kurulumunuzu kolayca geri y\u00fcklemenizi sa\u011flar. Basit bir yedekleme komutu \u015f\u00f6yle olabilir:<\/p>\n<pre><code class=\"language-bash\">sudo tar -czvf znc_backup_$(date +%Y%m%d).tar.gz \/var\/lib\/znc\/.znc<\/code><\/pre>\n<p>Bu komut, ZNC veri dizininin s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f bir ar\u015fivini olu\u015fturur. Bu ar\u015fivi g\u00fcvenli bir yere (\u00f6rne\u011fin uzak bir depolama servisi veya yerel makinenize) kopyalaman\u0131z \u00f6nerilir.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>ZNC kurulumu veya \u00e7al\u0131\u015fmas\u0131 s\u0131ras\u0131nda sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>ZNC Ba\u015flam\u0131yor:<\/strong><br \/>\n    *   <code>sudo systemctl status znc<\/code> komutuyla servisin durumunu kontrol edin. Hata mesajlar\u0131n\u0131 dikkatlice okuyun.<br \/>\n    *   <code>journalctl -xeu znc<\/code> komutuyla sistem g\u00fcnl\u00fcklerini kontrol edin. Bu, ZNC&#8217;nin neden ba\u015flamad\u0131\u011f\u0131na dair daha ayr\u0131nt\u0131l\u0131 bilgi sa\u011flayabilir.<br \/>\n    *   <code>znc.conf<\/code> dosyas\u0131nda syntax hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>sudo -u znc \/usr\/local\/znc\/bin\/znc --verify-config<\/code> komutuyla yap\u0131land\u0131rma dosyan\u0131z\u0131 do\u011frulayabilirsiniz.<br \/>\n*   <strong>ZNC&#8217;ye Ba\u011flanam\u0131yorum (IRC \u0130stemcisi veya Web Aray\u00fcz\u00fc):<\/strong><br \/>\n    *   G\u00fcvenlik duvar\u0131 (UFW) ayarlar\u0131n\u0131z\u0131 kontrol edin. ZNC&#8217;nin dinledi\u011fi portun a\u00e7\u0131k oldu\u011fundan emin olun (<code>sudo ufw status<\/code>).<br \/>\n    *   VPS IP adresinizi veya alan ad\u0131n\u0131z\u0131 do\u011fru girdi\u011finizden emin olun.<br \/>\n    *   ZNC&#8217;nin dinledi\u011fi portu do\u011fru girdi\u011finizden emin olun.<br \/>\n    *   SSL kullan\u0131yorsan\u0131z, istemcinizin SSL\/TLS ba\u011flant\u0131s\u0131n\u0131 destekledi\u011finden ve sertifika uyar\u0131lar\u0131n\u0131 kabul etti\u011finizden emin olun (veya Let&#8217;s Encrypt sertifikas\u0131n\u0131 do\u011fru kurdu\u011funuzdan).<br \/>\n    *   Ba\u011flant\u0131 \u015fifrenizi (\u00f6rne\u011fin <code>kullaniciadi:sifre\/agadi<\/code>) do\u011fru girdi\u011finizden emin olun.<br \/>\n*   <strong>ZNC IRC Sunucusuna Ba\u011flanam\u0131yor:<\/strong><br \/>\n    <em>   ZNC web aray\u00fcz\u00fcnden veya IRC istemcinizden <code><\/em>status<\/code> kanal\u0131na ba\u011flanarak ZNC&#8217;nin IRC sunucusuyla ba\u011flant\u0131 durumunu kontrol edin. Hata mesajlar\u0131 genellikle orada g\u00f6r\u00fcn\u00fcr.<br \/>\n    *   IRC sunucu adresini ve portunu do\u011fru girdi\u011finizden emin olun.<br \/>\n    *   IRC sunucusunun SSL gerektirip gerektirmedi\u011fini kontrol edin ve ZNC&#8217;nin a\u011f ayarlar\u0131nda SSL&#8217;yi buna g\u00f6re etkinle\u015ftirin veya devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n    *   IRC sunucusu ge\u00e7ici olarak kapal\u0131 veya eri\u015filemez olabilir.<br \/>\n*   <strong>Mod\u00fcller Y\u00fcklenmiyor:<\/strong><br \/>\n    *   <code>.\/configure<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131rken ilgili betik dili mod\u00fcllerini (\u00f6rn. <code>--enable-python<\/code>) etkinle\u015ftirdi\u011finizden emin olun.<br \/>\n    *   Mod\u00fcl ad\u0131n\u0131 do\u011fru yazd\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu VPS \u00fczerine ZNC (IRC Bouncer) kurma s\u00fcrecini ba\u015ftan sona ele ald\u0131k. Sistem g\u00fcncellemelerinden ba\u015flayarak, kaynak koddan derlemeye, \u00f6zel bir kullan\u0131c\u0131 olu\u015fturmaya, <code>systemd<\/code> servisi olarak yap\u0131land\u0131rmaya, g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 yapmaya ve nihayet ZNC&#8217;ye ba\u011flan\u0131p y\u00f6netmeye kadar t\u00fcm ad\u0131mlar\u0131 detayland\u0131rd\u0131k. Ayr\u0131ca, Let&#8217;s Encrypt ile SSL sertifikas\u0131 kullan\u0131m\u0131 ve ZNC mod\u00fclleri gibi ileri d\u00fczey konulara da de\u011findik.<\/p>\n<p>Art\u0131k kendi ZNC bouncer&#8217;\u0131n\u0131za sahipsiniz ve IRC deneyiminizi kesintisiz, g\u00fcvenli ve esnek bir \u015fekilde ya\u015fayabilirsiniz. Unutmay\u0131n, ZNC&#8217;nin potansiyelini tam olarak kullanmak i\u00e7in mod\u00fcllerini ke\u015ffetmekten ve yap\u0131land\u0131rmas\u0131n\u0131 ihtiya\u00e7lar\u0131n\u0131za g\u00f6re ayarlamaktan \u00e7ekinmeyin. \u0130yi sohbetler!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber\nZNC, kullan\u0131c\u0131lar\u0131n IRC sunucular\u0131na s\u00fcrekli ba\u011fl\u0131 kalmas\u0131n\u0131 sa\u011flayan,","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-33579","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 VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber - 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-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber ZNC, kullan\u0131c\u0131lar\u0131n IRC sunucular\u0131na s\u00fcrekli ba\u011fl\u0131 kalmas\u0131n\u0131 sa\u011flayan,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-04T14:42:03+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-11-04T14:42:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":3531,\"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-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-04T14:42:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@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 VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber - 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-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber ZNC, kullan\u0131c\u0131lar\u0131n IRC sunucular\u0131na s\u00fcrekli ba\u011fl\u0131 kalmas\u0131n\u0131 sa\u011flayan,","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-04T14:42:03+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-11-04T14:42:03+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/"},"wordCount":3531,"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-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/","name":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-04T14:42:03+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-vps-uzerine-znc-irc-bouncer-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu VPS \u00dczerine ZNC (IRC Bouncer) Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@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\/33579","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=33579"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33579\/revisions"}],"predecessor-version":[{"id":33580,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33579\/revisions\/33580"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}