{"id":41468,"date":"2026-04-28T08:00:59","date_gmt":"2026-04-28T05:00:59","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=41468"},"modified":"2026-04-28T08:00:59","modified_gmt":"2026-04-28T05:00:59","slug":"ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/","title":{"rendered":"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7<\/h2>\n<p>Bir sunucunun ilk kurulumu, herhangi bir web uygulamas\u0131n\u0131n, veritaban\u0131 sunucusunun veya di\u011fer a\u011f hizmetlerinin temelini olu\u015fturur. Bu s\u00fcre\u00e7, sadece i\u015fletim sistemini kurmaktan \u00e7ok daha fazlas\u0131n\u0131 i\u00e7erir; g\u00fcvenlik, performans ve y\u00f6netilebilirlik a\u00e7\u0131s\u0131ndan sa\u011flam bir temel olu\u015fturmay\u0131 hedefler. Ubuntu 16.04 LTS (Xenial Xerus), uzun s\u00fcreli deste\u011fi (Long Term Support) ve geni\u015f topluluk deste\u011fi sayesinde sunucu ortamlar\u0131nda yayg\u0131n olarak tercih edilmi\u015f bir s\u00fcr\u00fcmd\u00fcr. Bu makale, Ubuntu 16.04 y\u00fckl\u00fc yeni bir sunucuyu g\u00fcvenli, stabil ve y\u00f6netilebilir bir \u015fekilde kullan\u0131ma haz\u0131rlamak i\u00e7in ad\u0131m ad\u0131m bir rehber sunmaktad\u0131r. Ama\u00e7, sunucunuzu potansiyel g\u00fcvenlik tehditlerine kar\u015f\u0131 korurken, gelecekteki yap\u0131land\u0131rmalar i\u00e7in sa\u011flam bir zemin haz\u0131rlamakt\u0131r.<\/p>\n<h3>Neden Ubuntu 16.04?<\/h3>\n<p>Ubuntu 16.04, Nisan 2016&#8217;da piyasaya s\u00fcr\u00fclen ve Nisan 2021&#8217;e kadar standart destek alan bir LTS s\u00fcr\u00fcm\u00fcd\u00fcr. LTS s\u00fcr\u00fcmleri, uzun vadeli kararl\u0131l\u0131k ve g\u00fcvenlik g\u00fcncellemeleri sunarak kurumsal ve \u00fcretim ortamlar\u0131 i\u00e7in idealdir. Her ne kadar art\u0131k standart destek s\u00fcresi dolmu\u015f olsa da, baz\u0131 \u00f6zel projeler veya legacy sistemler i\u00e7in hala kullan\u0131mda olabilmekte veya e\u011fitim ama\u00e7l\u0131 olarak tercih edilebilmektedir. Bu s\u00fcr\u00fcm, sade aray\u00fcz\u00fc, geni\u015f paket depolar\u0131 ve g\u00fc\u00e7l\u00fc topluluk deste\u011fi ile \u00f6ne \u00e7\u0131kar.<\/p>\n<h4>Uzun S\u00fcreli Destek (LTS)<\/h4>\n<p>Ubuntu&#8217;nun LTS s\u00fcr\u00fcmleri, be\u015f y\u0131la kadar \u00fccretsiz g\u00fcvenlik ve bak\u0131m g\u00fcncellemeleri sa\u011flar. Bu, sunucu y\u00f6neticileri i\u00e7in b\u00fcy\u00fck bir avantajd\u0131r, zira sistemlerini s\u0131k s\u0131k y\u00fckseltmek zorunda kalmadan uzun s\u00fcre stabil bir \u015fekilde \u00e7al\u0131\u015ft\u0131rabilirler. 16.04, bu avantaj\u0131 sunan g\u00fcvenilir bir LTS s\u00fcr\u00fcm\u00fc olmu\u015ftur.<\/p>\n<h4>Geni\u015f Topluluk Deste\u011fi<\/h4>\n<p>Ubuntu, d\u00fcnya \u00e7ap\u0131nda milyonlarca kullan\u0131c\u0131s\u0131 ve geli\u015ftiricisi olan b\u00fcy\u00fck bir toplulu\u011fa sahiptir. Bu, herhangi bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda h\u0131zl\u0131ca yard\u0131m bulabilece\u011finiz anlam\u0131na gelir. Forumlar, belgeler ve \u00e7e\u015fitli online kaynaklar, kurulum ve yap\u0131land\u0131rma s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131labilecek zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in kapsaml\u0131 destek sunar.<\/p>\n<h4>Stabilite ve G\u00fcvenilirlik<\/h4>\n<p>Ubuntu, sunucu ortamlar\u0131nda kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011fi ile tan\u0131n\u0131r. Titiz test s\u00fcre\u00e7lerinden ge\u00e7en paketler ve d\u00fczenli g\u00fcvenlik g\u00fcncellemeleri, sunucunuzun kesintisiz ve g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu fakt\u00f6rler, \u00f6zellikle kritik i\u015f y\u00fckleri bar\u0131nd\u0131ran sunucular i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h3>Sunucuya Ba\u011flant\u0131<\/h3>\n<p>Sunucunuzun ilk kurulumuna ba\u015flamadan \u00f6nce, ona nas\u0131l eri\u015fece\u011finizi bilmeniz gerekir. \u00c7o\u011fu bulut sa\u011flay\u0131c\u0131 veya hosting hizmeti, size sunucunuzun IP adresini ve varsay\u0131lan root kullan\u0131c\u0131s\u0131 i\u00e7in bir \u015fifre veya SSH anahtar\u0131 sa\u011flar. \u0130lk ba\u011flant\u0131 genellikle SSH (Secure Shell) protokol\u00fc \u00fczerinden yap\u0131l\u0131r.<\/p>\n<h4>Windows Kullan\u0131c\u0131lar\u0131 \u0130\u00e7in (PuTTY)<\/h4>\n<p>Windows kullan\u0131c\u0131lar\u0131 i\u00e7in en pop\u00fcler SSH istemcisi PuTTY&#8217;dir. PuTTY&#8217;yi indirip kurduktan sonra, sunucunuzun IP adresini &#8220;Host Name (or IP address)&#8221; alan\u0131na girin ve &#8220;Open&#8221; butonuna t\u0131klay\u0131n. A\u00e7\u0131lan terminal penceresinde, &#8220;login as:&#8221; komut isteminde <code>root<\/code> yaz\u0131n ve Enter tu\u015funa bas\u0131n. Ard\u0131ndan sunucunuzun root \u015fifresini girmeniz istenecektir.<\/p>\n<h4>macOS ve Linux Kullan\u0131c\u0131lar\u0131 \u0130\u00e7in (Terminal)<\/h4>\n<p>macOS ve Linux i\u015fletim sistemlerinde SSH istemcisi yerle\u015fik olarak bulunur. Terminal uygulamas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu kullanarak sunucunuza ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh root@SUNUCU_IP_ADRES\u0130<\/code><\/pre>\n<p>Burada <code>SUNUCU_IP_ADRES\u0130<\/code> yerine sunucunuzun ger\u00e7ek IP adresini yazmal\u0131s\u0131n\u0131z. \u0130lk ba\u011flant\u0131da, sunucunun anahtar parmak izini kabul etmeniz istenebilir; <code>yes<\/code> yazarak devam edin. Ard\u0131ndan root \u015fifrenizi girmeniz istenecektir.<\/p>\n<h4>Root Kullan\u0131c\u0131s\u0131 ile \u0130lk Ba\u011flant\u0131<\/h4>\n<p>\u0130lk ba\u011flant\u0131n\u0131z\u0131 her zaman <code>root<\/code> kullan\u0131c\u0131s\u0131 ile yapman\u0131z gerekir. <code>root<\/code>, Linux sistemlerindeki en yetkili kullan\u0131c\u0131d\u0131r ve sistem \u00fczerinde tam kontrol sa\u011flar. Ancak g\u00fcvenlik nedeniyle, kal\u0131c\u0131 olarak <code>root<\/code> kullan\u0131c\u0131s\u0131 ile \u00e7al\u0131\u015fmak \u00f6nerilmez. Bu makalede, ilk ba\u011flant\u0131dan sonra daha az yetkili bir kullan\u0131c\u0131 olu\u015fturup onunla \u00e7al\u0131\u015fmaya ge\u00e7i\u015f yapaca\u011f\u0131z.<\/p>\n<h3>\u0130lk G\u00fcncelleme ve Y\u00fckseltme<\/h3>\n<p>Sunucunuza ilk kez ba\u011fland\u0131ktan sonra yapman\u0131z gereken ilk \u015fey, kurulu t\u00fcm paketleri en son s\u00fcr\u00fcmlerine g\u00fcncellemek ve y\u00fckseltmektir. Bu, sisteminizin en yeni g\u00fcvenlik yamalar\u0131na ve hata d\u00fczeltmelerine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4><code>apt update<\/code> ve <code>apt upgrade<\/code> Komutlar\u0131<\/h4>\n<p>A\u015fa\u011f\u0131daki komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p><code>sudo apt update<\/code> komutu, sisteminizin paket listelerini g\u00fcncelleyerek mevcut paketlerin yeni s\u00fcr\u00fcmleri hakk\u0131nda bilgi edinmesini sa\u011flar. <code>sudo apt upgrade -y<\/code> komutu ise, indirilen yeni paket listelerine g\u00f6re kurulu t\u00fcm paketleri y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vererek y\u00fckseltme i\u015flemini kesintisiz hale getirir. Bu i\u015flem, sunucunuzun internet ba\u011flant\u0131 h\u0131z\u0131na ve g\u00fcncellenecek paket say\u0131s\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir.<\/p>\n<h3>Yeni Bir Kullan\u0131c\u0131 Olu\u015fturma<\/h3>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan, <code>root<\/code> kullan\u0131c\u0131s\u0131 ile s\u00fcrekli \u00e7al\u0131\u015fmak \u00f6nerilmez. <code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n her zaman tam yetkiye sahip olmas\u0131, yanl\u0131\u015f bir komutun ciddi sistem hasarlar\u0131na yol a\u00e7mas\u0131na veya yetkisiz eri\u015fim durumunda t\u00fcm sistemin tehlikeye girmesine neden olabilir. Bu nedenle, g\u00fcnl\u00fck y\u00f6netim g\u00f6revleri i\u00e7in daha az yetkili, ancak gerekti\u011finde <code>sudo<\/code> (superuser do) komutunu kullanarak y\u00fckseltilmi\u015f yetkilere sahip olabilecek yeni bir kullan\u0131c\u0131 olu\u015fturmak en iyi uygulamad\u0131r.<\/p>\n<h4><code>adduser<\/code> Komutu<\/h4>\n<p>Yeni bir kullan\u0131c\u0131 olu\u015fturmak i\u00e7in <code>adduser<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo adduser KULLANICI_ADINIZ<\/code><\/pre>\n<p>Burada <code>KULLANICI_ADINIZ<\/code> yerine kendi istedi\u011finiz kullan\u0131c\u0131 ad\u0131n\u0131 yazmal\u0131s\u0131n\u0131z (\u00f6rne\u011fin, <code>admin<\/code> veya kendi ad\u0131n\u0131z). Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, yeni kullan\u0131c\u0131 i\u00e7in bir \u015fifre belirlemeniz ve \u015fifreyi tekrar girerek onaylaman\u0131z istenecektir. G\u00fc\u00e7l\u00fc bir \u015fifre se\u00e7ti\u011finizden emin olun (b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfler, say\u0131lar ve \u00f6zel karakterler i\u00e7eren, en az 12 karakterli). Ayr\u0131ca, kullan\u0131c\u0131 hakk\u0131nda ek bilgiler (ad, telefon numaras\u0131 vb.) girmeniz istenecektir; bu bilgileri bo\u015f b\u0131rakmak i\u00e7in Enter tu\u015funa basabilirsiniz. Son olarak, girilen bilgilerin do\u011fru olup olmad\u0131\u011f\u0131n\u0131 onaylaman\u0131z istenir; <code>Y<\/code> tu\u015funa basarak onaylay\u0131n.<\/p>\n<h4>Kullan\u0131c\u0131ya \u015eifre Belirleme<\/h4>\n<p><code>adduser<\/code> komutu, \u015fifre belirleme i\u015flemini otomatik olarak yapar. Ancak mevcut bir kullan\u0131c\u0131n\u0131n \u015fifresini de\u011fi\u015ftirmek isterseniz <code>passwd KULLANICI_ADINIZ<\/code> komutunu kullanabilirsiniz.<\/p>\n<h3>SSH Anahtar Tabanl\u0131 Kimlik Do\u011frulama<\/h3>\n<p>\u015eifre tabanl\u0131 kimlik do\u011frulama, brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 savunmas\u0131z olabilir. SSH anahtar \u00e7iftleri kullanarak kimlik do\u011frulama, \u00e7ok daha g\u00fcvenli bir y\u00f6ntemdir. Bu y\u00f6ntem, bir genel (public) anahtar ve bir \u00f6zel (private) anahtardan olu\u015fur. \u00d6zel anahtar bilgisayar\u0131n\u0131zda g\u00fcvenli bir \u015fekilde saklan\u0131r, genel anahtar ise sunucuya yerle\u015ftirilir. Ba\u011flant\u0131 kuruldu\u011funda, sunucu \u00f6zel anahtar\u0131n\u0131z\u0131n genel anahtarla e\u015fle\u015fip e\u015fle\u015fmedi\u011fini kontrol eder.<\/p>\n<h4>SSH Anahtar \u00c7ifti Olu\u015fturma (Client Taraf\u0131nda)<\/h4>\n<p>\u00d6ncelikle, yerel bilgisayar\u0131n\u0131zda (client) bir SSH anahtar \u00e7ifti olu\u015fturman\u0131z gerekir. Terminal veya komut istemcisini a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -t rsa -b 4096<\/code><\/pre>\n<p>Bu komut, 4096 bitlik RSA algoritmas\u0131 kullanarak bir anahtar \u00e7ifti olu\u015fturur. Komut, anahtarlar\u0131n nereye kaydedilece\u011fini soracakt\u0131r (varsay\u0131lan <code>\/home\/kullan\u0131c\u0131_ad\u0131n\u0131z\/.ssh\/id_rsa<\/code> genellikle uygundur). Ard\u0131ndan, \u00f6zel anahtar\u0131n\u0131z i\u00e7in bir parola (passphrase) belirlemeniz istenecektir. Bu parola, \u00f6zel anahtar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131 durumunda ek bir g\u00fcvenlik katman\u0131 sa\u011flar; g\u00fc\u00e7l\u00fc bir parola se\u00e7meniz \u015fiddetle tavsiye edilir.<\/p>\n<h4>Genel Anahtar\u0131 Sunucuya Kopyalama (<code>ssh-copy-id<\/code> veya Manuel)<\/h4>\n<p>Anahtar \u00e7iftini olu\u015fturduktan sonra, genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalaman\u0131z gerekir.<\/p>\n<p><strong><code>ssh-copy-id<\/code> Kullanarak:<\/strong><br \/>\nBu, genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalaman\u0131n en kolay yoludur:<\/p>\n<pre><code class=\"language-bash\">ssh-copy-id KULLANICI_ADINIZ@SUNUCU_IP_ADRES\u0130<\/code><\/pre>\n<p>Komut sizden sunucudaki <code>KULLANICI_ADINIZ<\/code> i\u00e7in \u015fifreyi isteyecektir. \u015eifreyi girdikten sonra, genel anahtar\u0131n\u0131z sunucudaki <code>\/home\/KULLANICI_ADINIZ\/.ssh\/authorized_keys<\/code> dosyas\u0131na eklenecektir.<\/p>\n<p><strong>Manuel Kopyalama:<\/strong><br \/>\nE\u011fer <code>ssh-copy-id<\/code> kullan\u0131lam\u0131yorsa, genel anahtar\u0131n\u0131z\u0131 manuel olarak kopyalayabilirsiniz. \u0130lk olarak, yerel bilgisayar\u0131n\u0131zda genel anahtar\u0131n\u0131z\u0131n i\u00e7eri\u011fini g\u00f6r\u00fcnt\u00fcleyin:<\/p>\n<pre><code class=\"language-bash\">cat ~\/.ssh\/id_rsa.pub<\/code><\/pre>\n<p>Bu \u00e7\u0131kt\u0131y\u0131 kopyalay\u0131n. Ard\u0131ndan, yeni olu\u015fturdu\u011funuz kullan\u0131c\u0131 ile sunucuya ba\u011flan\u0131n (\u015fimdilik \u015fifre ile):<\/p>\n<pre><code class=\"language-bash\">ssh KULLANICI_ADINIZ@SUNUCU_IP_ADRES\u0130<\/code><\/pre>\n<p>Sunucuda, <code>.ssh<\/code> dizinini olu\u015fturun ve izinlerini ayarlay\u0131n (e\u011fer yoksa):<\/p>\n<pre><code class=\"language-bash\">mkdir -p ~\/.ssh\nchmod 700 ~\/.ssh<\/code><\/pre>\n<p>\u015eimdi, <code>authorized_keys<\/code> dosyas\u0131n\u0131 olu\u015fturun veya d\u00fczenleyin ve kopyalad\u0131\u011f\u0131n\u0131z genel anahtar\u0131 i\u00e7ine yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">nano ~\/.ssh\/authorized_keys<\/code><\/pre>\n<p>Kopyalad\u0131\u011f\u0131n\u0131z anahtar\u0131 dosyaya yap\u0131\u015ft\u0131r\u0131n, kaydedin (Ctrl+O) ve \u00e7\u0131k\u0131n (Ctrl+X). Son olarak, <code>authorized_keys<\/code> dosyas\u0131n\u0131n izinlerini ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">chmod 600 ~\/.ssh\/authorized_keys<\/code><\/pre>\n<p>Art\u0131k yeni kullan\u0131c\u0131n\u0131zla SSH anahtar\u0131n\u0131zla ba\u011flanmay\u0131 deneyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ssh KULLANICI_ADINIZ@SUNUCU_IP_ADRES\u0130<\/code><\/pre>\n<p>E\u011fer her \u015fey do\u011fru yap\u0131ld\u0131ysa, \u015fifre sormadan (veya \u00f6zel anahtar\u0131n\u0131z i\u00e7in bir parola belirlediyseniz onu sorarak) sunucuya ba\u011flanmal\u0131s\u0131n\u0131z.<\/p>\n<h3>Sudo Yetkilendirmesi<\/h3>\n<p>Yeni olu\u015fturdu\u011funuz kullan\u0131c\u0131n\u0131n, <code>root<\/code> yetkisi gerektiren komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilmesi i\u00e7in <code>sudo<\/code> grubuna dahil edilmesi gerekir. Bu, kullan\u0131c\u0131n\u0131n gerekti\u011finde y\u00f6netici ayr\u0131cal\u0131klar\u0131yla komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilmesini sa\u011flar.<\/p>\n<h4><code>usermod -aG sudo<\/code> Komutu<\/h4>\n<p>Yeni kullan\u0131c\u0131n\u0131z\u0131 <code>sudo<\/code> grubuna eklemek i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n (hala <code>root<\/code> olarak ba\u011fl\u0131yken veya <code>sudo<\/code> yetkisi olan ba\u015fka bir kullan\u0131c\u0131yla):<\/p>\n<pre><code class=\"language-bash\">sudo usermod -aG sudo KULLANICI_ADINIZ<\/code><\/pre>\n<p>Bu komut, <code>KULLANICI_ADINIZ<\/code>\u0131 <code>sudo<\/code> grubuna ekler. <code>-aG<\/code> bayraklar\u0131, kullan\u0131c\u0131y\u0131 belirtilen gruba eklerken, kullan\u0131c\u0131n\u0131n mevcut gruplar\u0131n\u0131 korumas\u0131n\u0131 sa\u011flar.<\/p>\n<h4><code>sudo<\/code> Kullan\u0131m\u0131n\u0131 Test Etme<\/h4>\n<p><code>sudo<\/code> yetkilerini test etmek i\u00e7in, yeni olu\u015fturdu\u011funuz kullan\u0131c\u0131 ile sunucuya ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Bu komut sizden kendi kullan\u0131c\u0131 \u015fifrenizi isteyecektir (root \u015fifresi de\u011fil). \u015eifrenizi do\u011fru girdi\u011finizde, komut ba\u015far\u0131yla \u00e7al\u0131\u015fmal\u0131 ve paket listelerini g\u00fcncellemelidir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Kurulumu (UFW)<\/h3>\n<p>G\u00fcvenlik duvar\u0131 (firewall), sunucunuza gelen ve giden a\u011f trafi\u011fini kontrol ederek yetkisiz eri\u015fimi engeller. Ubuntu&#8217;da varsay\u0131lan olarak gelen ve giden t\u00fcm ba\u011flant\u0131lar\u0131 y\u00f6netmek i\u00e7in basit bir g\u00fcvenlik duvar\u0131 aray\u00fcz\u00fc olan UFW (Uncomplicated Firewall) bulunur.<\/p>\n<h4>UFW Durumu Kontrol\u00fc<\/h4>\n<p>UFW&#8217;nin durumunu kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>Varsay\u0131lan olarak UFW devre d\u0131\u015f\u0131 olabilir.<\/p>\n<h4>SSH Portunu A\u00e7ma<\/h4>\n<p>UFW&#8217;yi etkinle\u015ftirmeden \u00f6nce, mevcut SSH ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in SSH portunu (varsay\u0131lan olarak 22) a\u00e7man\u0131z \u00e7ok \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH<\/code><\/pre>\n<p>Bu komut, SSH ba\u011flant\u0131lar\u0131na izin veren bir kural ekler. Alternatif olarak, belirli bir port numaras\u0131n\u0131 da belirtebilirsiniz: <code>sudo ufw allow 22\/tcp<\/code>.<\/p>\n<h4>Di\u011fer Gerekli Portlar\u0131 A\u00e7ma (HTTP\/HTTPS vb.)<\/h4>\n<p>Sunucunuzda \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z servislere g\u00f6re ek portlar a\u00e7man\u0131z gerekebilir. \u00d6rne\u011fin, bir web sunucusu (HTTP i\u00e7in 80, HTTPS i\u00e7in 443) kuracaksan\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow http\nsudo ufw allow https<\/code><\/pre>\n<p>Veya port numaralar\u0131yla:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 80\/tcp\nsudo ufw allow 443\/tcp<\/code><\/pre>\n<h4>UFW&#8217;yi Etkinle\u015ftirme<\/h4>\n<p>Gerekli t\u00fcm kurallar\u0131 ekledikten sonra UFW&#8217;yi etkinle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p>Bu komut, UFW&#8217;yi ba\u015flatacak ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flayacakt\u0131r. Etkinle\u015ftirdikten sonra, <code>sudo ufw status<\/code> komutu ile kurallar\u0131 ve durumunu tekrar kontrol edebilirsiniz.<\/p>\n<h4>UFW Kurallar\u0131n\u0131 Y\u00f6netme<\/h4>\n<p>*   <strong>Bir kural\u0131 silme:<\/strong> <code>sudo ufw delete allow 80\/tcp<\/code><br \/>\n*   <strong>UFW&#8217;yi devre d\u0131\u015f\u0131 b\u0131rakma:<\/strong> <code>sudo ufw disable<\/code> (Bu, t\u00fcm kurallar\u0131 kald\u0131r\u0131r ve g\u00fcvenlik duvar\u0131n\u0131 kapat\u0131r.)<br \/>\n*   <strong>UFW&#8217;yi s\u0131f\u0131rlama:<\/strong> <code>sudo ufw reset<\/code> (T\u00fcm kurallar\u0131 siler ve UFW&#8217;yi devre d\u0131\u015f\u0131 b\u0131rak\u0131r.)<\/p>\n<h3>SSH Servisini G\u00fcvenli Hale Getirme<\/h3>\n<p>SSH anahtar tabanl\u0131 kimlik do\u011frulamas\u0131n\u0131 yap\u0131land\u0131rd\u0131ktan sonra, sunucunuzun g\u00fcvenli\u011fini daha da art\u0131rmak i\u00e7in SSH servisi ayarlar\u0131n\u0131 de\u011fi\u015ftirebilirsiniz. Bu ad\u0131mlar, yetkisiz eri\u015fim riskini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/p>\n<p>SSH servisi yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/ssh\/sshd_config<\/code> konumundad\u0131r. Bu dosyada de\u011fi\u015fiklik yapmadan \u00f6nce, yede\u011fini almak iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/ssh\/sshd_config \/etc\/ssh\/sshd_config.bak<\/code><\/pre>\n<p>\u015eimdi dosyay\u0131 d\u00fczenlemek i\u00e7in bir metin d\u00fczenleyici kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ssh\/sshd_config<\/code><\/pre>\n<h4>Root Giri\u015fini Devre D\u0131\u015f\u0131 B\u0131rakma<\/h4>\n<p><code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n do\u011frudan SSH \u00fczerinden giri\u015f yapmas\u0131n\u0131 engellemek, sunucunuzun g\u00fcvenli\u011fini art\u0131r\u0131r. <code>root<\/code> kullan\u0131c\u0131s\u0131 ile giri\u015f yapmaya \u00e7al\u0131\u015fan otomatik bot sald\u0131r\u0131lar\u0131n\u0131 engellemek i\u00e7in bu ayar \u00f6nemlidir.<\/p>\n<p>Dosyada <code>PermitRootLogin<\/code> sat\u0131r\u0131n\u0131 bulun ve de\u011ferini <code>no<\/code> olarak de\u011fi\u015ftirin (e\u011fer yorum sat\u0131r\u0131 ise <code>#<\/code> i\u015faretini kald\u0131r\u0131n):<\/p>\n<pre><code class=\"language-\">PermitRootLogin no<\/code><\/pre>\n<h4>\u015eifre Tabanl\u0131 Kimlik Do\u011frulamay\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma<\/h4>\n<p>SSH anahtar tabanl\u0131 kimlik do\u011frulamas\u0131n\u0131 ba\u015far\u0131yla yap\u0131land\u0131rd\u0131ysan\u0131z, \u015fifre tabanl\u0131 kimlik do\u011frulamay\u0131 devre d\u0131\u015f\u0131 b\u0131rakarak ek bir g\u00fcvenlik katman\u0131 ekleyebilirsiniz. Bu, sadece anahtar\u0131n\u0131z olanlar\u0131n giri\u015f yapabilmesini sa\u011flar.<\/p>\n<p>Dosyada <code>PasswordAuthentication<\/code> sat\u0131r\u0131n\u0131 bulun ve de\u011ferini <code>no<\/code> olarak de\u011fi\u015ftirin (e\u011fer yorum sat\u0131r\u0131 ise <code>#<\/code> i\u015faretini kald\u0131r\u0131n):<\/p>\n<pre><code class=\"language-\">PasswordAuthentication no<\/code><\/pre>\n<h4>SSH Portunu De\u011fi\u015ftirme (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h4>\n<p>SSH&#8217;in varsay\u0131lan portu olan 22, sald\u0131rganlar taraf\u0131ndan s\u0131kl\u0131kla hedeflenir. Portu farkl\u0131, standart olmayan bir say\u0131ya (\u00f6rne\u011fin, 2022 veya 2222) de\u011fi\u015ftirmek, otomatik bot sald\u0131r\u0131lar\u0131n\u0131 azaltmaya yard\u0131mc\u0131 olabilir. 1024&#8217;ten y\u00fcksek, kullan\u0131lmayan bir port numaras\u0131 se\u00e7in.<\/p>\n<p>Dosyada <code>Port 22<\/code> sat\u0131r\u0131n\u0131 bulun ve farkl\u0131 bir port numaras\u0131yla de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-\">Port 2022<\/code><\/pre>\n<p><strong>\u00d6NEML\u0130:<\/strong> Portu de\u011fi\u015ftirdikten sonra, UFW g\u00fcvenlik duvar\u0131nda yeni port numaras\u0131n\u0131 a\u00e7may\u0131 unutmay\u0131n ve eski 22 numaral\u0131 portu kapat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 2022\/tcp\nsudo ufw delete allow 22\/tcp # veya sudo ufw delete allow OpenSSH<\/code><\/pre>\n<h4>SSH Servisini Yeniden Ba\u015flatma<\/h4>\n<p><code>sshd_config<\/code> dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in SSH servisini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart ssh<\/code><\/pre>\n<p>Servisi yeniden ba\u015flatt\u0131ktan sonra, mevcut SSH ba\u011flant\u0131n\u0131z kesilebilir. Yeni port numaras\u0131n\u0131 kullanarak veya anahtar tabanl\u0131 kimlik do\u011frulama ile yeni bir ba\u011flant\u0131 kurarak de\u011fi\u015fikliklerin ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. E\u011fer bir sorun olursa, sunucuya konsol \u00fczerinden (bulut sa\u011flay\u0131c\u0131n\u0131z\u0131n paneli arac\u0131l\u0131\u011f\u0131yla) ba\u011flanarak de\u011fi\u015fiklikleri geri alabilirsiniz.<\/p>\n<h3>Zaman Dilimi Ayarlar\u0131<\/h3>\n<p>Sunucunuzun do\u011fru zaman dilimine sahip olmas\u0131, log kay\u0131tlar\u0131n\u0131n do\u011fru zaman damgalar\u0131na sahip olmas\u0131, zamanlanm\u0131\u015f g\u00f6revlerin (cron job) d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 ve di\u011fer zaman ba\u011f\u0131ml\u0131 uygulamalar i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4><code>timedatectl<\/code> veya <code>dpkg-reconfigure tzdata<\/code><\/h4>\n<p>Ubuntu 16.04&#8217;te zaman dilimi ayarlar\u0131n\u0131 yapmak i\u00e7in <code>timedatectl<\/code> veya <code>dpkg-reconfigure tzdata<\/code> komutlar\u0131n\u0131 kullanabilirsiniz.<\/p>\n<p><strong><code>timedatectl<\/code> Kullanarak:<\/strong><br \/>\n\u00d6ncelikle mevcut zaman dilimini kontrol edin:<\/p>\n<pre><code class=\"language-bash\">timedatectl<\/code><\/pre>\n<p>Kullan\u0131labilir zaman dilimlerini listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">timedatectl list-timezones<\/code><\/pre>\n<p>\u00d6rne\u011fin, \u0130stanbul zaman dilimini ayarlamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo timedatectl set-timezone Europe\/Istanbul<\/code><\/pre>\n<p><strong><code>dpkg-reconfigure tzdata<\/code> Kullanarak:<\/strong><br \/>\nBu komut, interaktif bir aray\u00fcz sunar:<\/p>\n<pre><code class=\"language-bash\">sudo dpkg-reconfigure tzdata<\/code><\/pre>\n<p>A\u00e7\u0131lan men\u00fcden co\u011frafi b\u00f6lgenizi (\u00f6rne\u011fin, &#8220;Europe&#8221;) ve ard\u0131ndan \u015fehrinizi (\u00f6rne\u011fin, &#8220;Istanbul&#8221;) se\u00e7erek zaman dilimini ayarlayabilirsiniz.<\/p>\n<p>Ayarlar\u0131 yapt\u0131ktan sonra, <code>timedatectl<\/code> komutu ile tekrar kontrol ederek do\u011fru zaman diliminin ayarland\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>Hostname Ayarlar\u0131<\/h3>\n<p>Sunucunuzun bir a\u011fdaki benzersiz tan\u0131mlay\u0131c\u0131s\u0131 olan hostname (ana bilgisayar ad\u0131), hem y\u00f6netilebilirlik hem de baz\u0131 uygulamalar\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in \u00f6nemlidir. Varsay\u0131lan olarak, bulut sa\u011flay\u0131c\u0131lar\u0131 genellikle rastgele veya jenerik bir hostname atar.<\/p>\n<h4><code>hostnamectl<\/code> veya <code>\/etc\/hostname<\/code> ve <code>\/etc\/hosts<\/code><\/h4>\n<p>Hostname&#8217;i de\u011fi\u015ftirmek i\u00e7in <code>hostnamectl<\/code> komutunu veya manuel olarak yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenleyebilirsiniz.<\/p>\n<p><strong><code>hostnamectl<\/code> Kullanarak:<\/strong><br \/>\nMevcut hostname&#8217;i kontrol edin:<\/p>\n<pre><code class=\"language-bash\">hostnamectl<\/code><\/pre>\n<p>Yeni bir hostname ayarlamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo hostnamectl set-hostname yeni_hostname_adresiniz<\/code><\/pre>\n<p><strong>Manuel Olarak:<\/strong><br \/>\nHostname, <code>\/etc\/hostname<\/code> dosyas\u0131nda saklan\u0131r. Bu dosyay\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/hostname<\/code><\/pre>\n<p>Mevcut hostname&#8217;i silin ve yeni hostname&#8217;inizi yaz\u0131n.<\/p>\n<p>Ayr\u0131ca, <code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 da d\u00fczenlemeniz gerekebilir. Bu dosya, IP adreslerini hostname&#8217;lere e\u015fler.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/hosts<\/code><\/pre>\n<p>Dosyada, <code>127.0.0.1<\/code> ile ba\u015flayan sat\u0131r\u0131 bulun ve yeni hostname&#8217;inizi ekleyin:<\/p>\n<pre><code class=\"language-\">127.0.0.1 localhost\n127.0.1.1 yeni_hostname_adresiniz<\/code><\/pre>\n<p>De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in sunucuyu yeniden ba\u015flatman\u0131z veya hostname servisini yeniden y\u00fcklemeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart hostname.service<\/code><\/pre>\n<p>Yeni bir SSH oturumu a\u00e7arak hostname&#8217;in g\u00fcncellendi\u011fini kontrol edebilirsiniz.<\/p>\n<h3>Temel Paketlerin Kurulumu<\/h3>\n<p>Sunucu y\u00f6netimi ve g\u00fcnl\u00fck operasyonlar i\u00e7in baz\u0131 temel ara\u00e7lara ve paketlere ihtiyac\u0131n\u0131z olacakt\u0131r. Bu paketler, sistem izleme, dosya indirme, versiyon kontrol\u00fc gibi g\u00f6revleri kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu kullanarak yayg\u0131n olarak kullan\u0131lan baz\u0131 temel paketleri kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y curl wget git htop net-tools unzip zip<\/code><\/pre>\n<p>*   <strong><code>curl<\/code> ve <code>wget<\/code><\/strong>: Web&#8217;den dosya indirmek veya HTTP istekleri yapmak i\u00e7in komut sat\u0131r\u0131 ara\u00e7lar\u0131d\u0131r.<br \/>\n*   <strong><code>git<\/code><\/strong>: Versiyon kontrol sistemi. Kod depolar\u0131yla \u00e7al\u0131\u015fmak i\u00e7in gereklidir.<br \/>\n*   <strong><code>htop<\/code><\/strong>: Etkile\u015fimli bir s\u00fcre\u00e7 g\u00f6r\u00fcnt\u00fcleyici. <code>top<\/code> komutuna g\u00f6re daha kullan\u0131c\u0131 dostu ve g\u00f6rseldir.<br \/>\n*   <strong><code>net-tools<\/code><\/strong>: A\u011f yap\u0131land\u0131rmas\u0131 ve sorun giderme i\u00e7in eski ama hala kullan\u0131\u015fl\u0131 ara\u00e7lar (\u00f6rne\u011fin <code>ifconfig<\/code>, <code>netstat<\/code>).<br \/>\n*   <strong><code>unzip<\/code> ve <code>zip<\/code><\/strong>: S\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyalar\u0131 a\u00e7mak ve olu\u015fturmak i\u00e7in.<\/p>\n<p>Bu paketler, \u00e7o\u011fu sunucu kurulumu i\u00e7in iyi bir ba\u015flang\u0131\u00e7 noktas\u0131 sa\u011flar. \u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re ek paketler kurabilirsiniz.<\/p>\n<h3>Log Y\u00f6netimi ve \u0130zleme<\/h3>\n<p>Log dosyalar\u0131, sunucunuzda neler olup bitti\u011fini anlamak i\u00e7in hayati \u00f6neme sahiptir. Sistem hatalar\u0131ndan g\u00fcvenlik olaylar\u0131na kadar her \u015fey loglara kaydedilir. Etkili log y\u00f6netimi ve izleme, sorunlar\u0131 h\u0131zl\u0131 bir \u015fekilde tespit etmenize ve gidermenize yard\u0131mc\u0131 olur.<\/p>\n<h4><code>rsyslog<\/code><\/h4>\n<p>Ubuntu&#8217;da varsay\u0131lan olarak <code>rsyslog<\/code> servisi \u00e7al\u0131\u015f\u0131r ve sistem loglar\u0131n\u0131 y\u00f6netir. <code>rsyslog<\/code> yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/rsyslog.conf<\/code> konumundad\u0131r ve \u00e7e\u015fitli log dosyalar\u0131n\u0131n nereye yaz\u0131laca\u011f\u0131n\u0131 ve nas\u0131l filtrelenece\u011fini belirler. \u00d6nemli log dosyalar\u0131 genellikle <code>\/var\/log<\/code> dizininde bulunur:<\/p>\n<p>*   <code>\/var\/log\/syslog<\/code>: Genel sistem mesajlar\u0131.<br \/>\n*   <code>\/var\/log\/auth.log<\/code>: Kimlik do\u011frulama ve yetkilendirme olaylar\u0131 (SSH giri\u015fleri vb.).<br \/>\n*   <code>\/var\/log\/kern.log<\/code>: \u00c7ekirdek (kernel) mesajlar\u0131.<br \/>\n*   <code>\/var\/log\/apt\/history.log<\/code>: APT paket y\u00f6neticisi i\u015flemleri.<\/p>\n<p>Bu dosyalar\u0131 <code>tail -f \/var\/log\/syslog<\/code> gibi komutlarla ger\u00e7ek zamanl\u0131 olarak izleyebilirsiniz.<\/p>\n<h4><code>logrotate<\/code><\/h4>\n<p>Log dosyalar\u0131 zamanla \u00e7ok b\u00fcy\u00fcyebilir ve disk alan\u0131n\u0131 t\u00fcketebilir. <code>logrotate<\/code> arac\u0131, log dosyalar\u0131n\u0131 otomatik olarak d\u00f6nd\u00fcrerek, s\u0131k\u0131\u015ft\u0131rarak ve eski loglar\u0131 silerek bu sorunu \u00e7\u00f6zer. <code>logrotate<\/code> yap\u0131land\u0131rma dosyalar\u0131 <code>\/etc\/logrotate.conf<\/code> ve <code>\/etc\/logrotate.d\/<\/code> dizinindedir. Varsay\u0131lan olarak, \u00e7o\u011fu sistem logu i\u00e7in <code>logrotate<\/code> yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r, ancak kendi uygulamalar\u0131n\u0131z i\u00e7in ek yap\u0131land\u0131rmalar eklemeniz gerekebilir.<\/p>\n<h4><code>journalctl<\/code> (Ubuntu 16.04&#8217;te <code>systemd<\/code> ile entegre)<\/h4>\n<p>Ubuntu 16.04, <code>systemd<\/code> init sistemi ile birlikte gelir ve <code>systemd-journald<\/code> servisi loglar\u0131 merkezi bir \u015fekilde y\u00f6netir. <code>journalctl<\/code> komutu, bu loglar\u0131 sorgulamak ve g\u00f6r\u00fcnt\u00fclemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<p>*   <strong>T\u00fcm loglar\u0131 g\u00f6r\u00fcnt\u00fcleme:<\/strong> <code>journalctl<\/code><br \/>\n*   <strong>Son 100 sat\u0131r\u0131 g\u00f6r\u00fcnt\u00fcleme:<\/strong> <code>journalctl -n 100<\/code><br \/>\n*   <strong>Belirli bir servisin loglar\u0131n\u0131 g\u00f6r\u00fcnt\u00fcleme:<\/strong> <code>journalctl -u ssh.service<\/code><br \/>\n*   <strong>Belirli bir zaman aral\u0131\u011f\u0131ndaki loglar\u0131 g\u00f6r\u00fcnt\u00fcleme:<\/strong> <code>journalctl --since \"2023-01-01\" --until \"2023-01-02 03:00:00\"<\/code><br \/>\n*   <strong>Ger\u00e7ek zamanl\u0131 log takibi:<\/strong> <code>journalctl -f<\/code><\/p>\n<p><code>journalctl<\/code> kullan\u0131m\u0131, sistem sorunlar\u0131n\u0131 ay\u0131klamak ve g\u00fcvenlik olaylar\u0131n\u0131 incelemek i\u00e7in \u00e7ok faydal\u0131d\u0131r.<\/p>\n<h3>Otomatik G\u00fcncellemeler<\/h3>\n<p>G\u00fcvenlik g\u00fcncellemelerini d\u00fczenli olarak uygulamak, sunucunuzu bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 koruman\u0131n en \u00f6nemli yollar\u0131ndan biridir. <code>unattended-upgrades<\/code> paketi, bu g\u00fcncellemeleri otomatik olarak arka planda indirip kurarak bu s\u00fcreci basitle\u015ftirir.<\/p>\n<h4><code>unattended-upgrades<\/code> Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>\u0130lk olarak, <code>unattended-upgrades<\/code> paketini kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y unattended-upgrades<\/code><\/pre>\n<p>Ard\u0131ndan, otomatik g\u00fcncellemeleri etkinle\u015ftirmek i\u00e7in bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturun veya d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo dpkg-reconfigure -plow unattended-upgrades<\/code><\/pre>\n<p>Bu komut, otomatik g\u00fcncellemelerin etkinle\u015ftirilip etkinle\u015ftirilmeyece\u011fini soracakt\u0131r. &#8220;Yes&#8221; se\u00e7ene\u011fini se\u00e7erek etkinle\u015ftirin.<\/p>\n<p>Daha ayr\u0131nt\u0131l\u0131 yap\u0131land\u0131rma i\u00e7in <code>\/etc\/apt\/apt.conf.d\/50unattended-upgrades<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apt\/apt.conf.d\/50unattended-upgrades<\/code><\/pre>\n<p>Bu dosyada, hangi depolar\u0131n otomatik olarak g\u00fcncellenece\u011fini (\u00f6rne\u011fin, g\u00fcvenlik g\u00fcncellemeleri i\u00e7in <code>\"${distro_id}:${distro_codename}-security\";<\/code>) ve hangi paketlerin hari\u00e7 tutulaca\u011f\u0131n\u0131 belirleyebilirsiniz. Ayr\u0131ca, yeniden ba\u015flatma gerektiren g\u00fcncellemelerden sonra sunucunun otomatik olarak yeniden ba\u015flat\u0131l\u0131p ba\u015flat\u0131lmayaca\u011f\u0131n\u0131 da yap\u0131land\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-\">\/\/ Automatically reboot <em>if<\/em> the computer will otherwise need a reboot.\nUnattended-Upgrade::Automatic-Reboot \"true\";\n\n\/\/ If automatic reboot is enabled and a user is logged in, don't reboot\n\/\/ immediately but wait until the specified time.\nUnattended-Upgrade::Automatic-Reboot-Time \"02:00\";<\/code><\/pre>\n<p>Bu ayarlar, sunucunuzun her zaman en son g\u00fcvenlik yamalar\u0131na sahip olmas\u0131n\u0131 sa\u011flarken, hizmet kesintilerini minimumda tutman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h3>Yedekleme Stratejileri<\/h3>\n<p>Veri kayb\u0131, bir sunucu y\u00f6neticisinin kar\u015f\u0131la\u015fabilece\u011fi en k\u00f6t\u00fc senaryolardan biridir. Donan\u0131m ar\u0131zas\u0131, yaz\u0131l\u0131m hatas\u0131, yanl\u0131\u015f yap\u0131land\u0131rma veya siber sald\u0131r\u0131lar gibi bir\u00e7ok nedenle veri kayb\u0131 ya\u015fanabilir. D\u00fczenli ve g\u00fcvenilir yedeklemeler, bu t\u00fcr felaketlere kar\u015f\u0131 en iyi savunmad\u0131r.<\/p>\n<h4>Basit <code>rsync<\/code> Kullan\u0131m\u0131<\/h4>\n<p><code>rsync<\/code> (remote synchronization) arac\u0131, dosyalar\u0131 ve dizinleri yerel olarak veya a\u011f \u00fczerinden e\u015fitlemek i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7t\u0131r. \u0130lk yedeklemeden sonra sadece de\u011fi\u015fen dosyalar\u0131 kopyalayarak bant geni\u015fli\u011finden tasarruf sa\u011flar.<\/p>\n<p>\u00d6rne\u011fin, sunucunuzdaki <code>\/var\/www\/html<\/code> dizinini yerel bilgisayar\u0131n\u0131za yedeklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rsync -avz --delete KULLANICI_ADINIZ@SUNUCU_IP_ADRES\u0130:\/var\/www\/html\/ \/home\/yerel_kullan\u0131c\u0131\/yedekler\/web\/<\/code><\/pre>\n<p>*   <code>-a<\/code>: Ar\u015fiv modu (\u00f6zyinelemeli, sembolik ba\u011flant\u0131lar\u0131 koru, izinleri koru, zaman damgalar\u0131n\u0131 koru vb.).<br \/>\n*   <code>-v<\/code>: Ayr\u0131nt\u0131l\u0131 \u00e7\u0131kt\u0131.<br \/>\n*   <code>-z<\/code>: Veri s\u0131k\u0131\u015ft\u0131rma.<br \/>\n*   <code>--delete<\/code>: Kaynakta olmayan dosyalar\u0131 hedefte sil.<\/p>\n<p>Bu komutu <code>cron<\/code> ile zamanlayarak d\u00fczenli yedeklemeler yapabilirsiniz.<\/p>\n<h4>Bulut Tabanl\u0131 Yedekleme \u00c7\u00f6z\u00fcmleri (Genel Bahis)<\/h4>\n<p>Bir\u00e7ok bulut sa\u011flay\u0131c\u0131s\u0131 (AWS, Google Cloud, Azure vb.), sunucular\u0131n\u0131z\u0131n anl\u0131k g\u00f6r\u00fcnt\u00fclerini (snapshots) veya blok depolama yedekleme hizmetleri sunar. Bu \u00e7\u00f6z\u00fcmler, genellikle otomatik, \u00f6l\u00e7eklenebilir ve g\u00fcvenilirdir. \u00dc\u00e7\u00fcnc\u00fc taraf yedekleme hizmetleri (\u00f6rne\u011fin, Bacula, Veeam, rdiff-backup gibi \u00f6zel \u00e7\u00f6z\u00fcmler) de karma\u015f\u0131k yedekleme ihtiya\u00e7lar\u0131 i\u00e7in kullan\u0131labilir.<\/p>\n<p>\u00d6nemli olan, bir yedekleme stratejisi belirlemek ve bu stratejiyi d\u00fczenli olarak test etmektir. Yedeklerinizin ger\u00e7ekten geri y\u00fcklenebilir oldu\u011fundan emin olmak i\u00e7in ara s\u0131ra geri y\u00fckleme denemeleri yapmal\u0131s\u0131n\u0131z.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Ubuntu 16.04 ile sunucu ilk kurulumu, sadece i\u015fletim sistemini kurmaktan \u00f6te, g\u00fcvenli, stabil ve y\u00f6netilebilir bir altyap\u0131 olu\u015fturma s\u00fcrecidir. Bu makalede ele al\u0131nan ad\u0131mlar, yeni bir sunucuyu \u00fcretim ortam\u0131na haz\u0131r hale getirmek i\u00e7in temel bir yol haritas\u0131 sunmaktad\u0131r. Yeni bir kullan\u0131c\u0131 olu\u015fturmaktan SSH g\u00fcvenli\u011fini sa\u011flamaya, g\u00fcvenlik duvar\u0131n\u0131 yap\u0131land\u0131rmaktan otomatik g\u00fcncellemelere ve yedekleme stratejilerine kadar her ad\u0131m, sunucunuzun uzun vadeli sa\u011fl\u0131\u011f\u0131 ve g\u00fcvenli\u011fi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>Unutmay\u0131n ki teknoloji s\u00fcrekli geli\u015fmektedir ve sunucu g\u00fcvenli\u011fi dinamik bir aland\u0131r. Bu nedenle, sisteminizi d\u00fczenli olarak g\u00fcncel tutmak, g\u00fcvenlik yamalar\u0131n\u0131 uygulamak ve en iyi g\u00fcvenlik uygulamalar\u0131n\u0131 takip etmek esast\u0131r. Bu rehber, sa\u011flam bir temel atman\u0131za yard\u0131mc\u0131 olacak ve gelecekteki sunucu y\u00f6netimi maceralar\u0131n\u0131z i\u00e7in g\u00fcvenli bir ba\u015flang\u0131\u00e7 noktas\u0131 sa\u011flayacakt\u0131r. Sunucunuzu kurduktan sonra, \u00fczerine in\u015fa edece\u011finiz uygulamalar ve hizmetler i\u00e7in bu sa\u011flam temelden faydalanacaks\u0131n\u0131z.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.","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-41468","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 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7 - 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-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-28T05: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=\"20 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-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7\",\"datePublished\":\"2026-04-28T05:00:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\"},\"wordCount\":3608,\"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-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\",\"name\":\"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-04-28T05:00:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7\"}]},{\"@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 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7 - 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-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7","og_description":"Ubuntu 16.","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-04-28T05:00:59+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7","datePublished":"2026-04-28T05:00:59+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/"},"wordCount":3608,"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-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/","name":"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-04-28T05:00:59+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-ile-sunucu-ilk-kurulumu-guvenli-ve-stabil-bir-baslangic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 ile Sunucu \u0130lk Kurulumu: G\u00fcvenli ve Stabil Bir Ba\u015flang\u0131\u00e7"}]},{"@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\/41468","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=41468"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41468\/revisions"}],"predecessor-version":[{"id":41469,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41468\/revisions\/41469"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}