{"id":37330,"date":"2025-12-31T05:40:46","date_gmt":"2025-12-31T02:40:46","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37330"},"modified":"2025-12-31T05:40:46","modified_gmt":"2025-12-31T02:40:46","slug":"digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/","title":{"rendered":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma"},"content":{"rendered":"<p><body><\/p>\n<h2>DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma<\/h2>\n<p>Dijital altyap\u0131lar\u0131n h\u0131zla geli\u015fti\u011fi g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, uygulamalar\u0131n tutarl\u0131, g\u00fcvenli ve h\u0131zl\u0131 bir \u015fekilde da\u011f\u0131t\u0131lmas\u0131 kritik bir \u00f6neme sahiptir. Bulut sa\u011flay\u0131c\u0131lar\u0131, bu ihtiya\u00e7lar\u0131 kar\u015f\u0131lamak i\u00e7in \u00e7e\u015fitli hizmetler sunarken, DigitalOcean, basit ve geli\u015ftirici dostu aray\u00fcz\u00fc ile \u00f6ne \u00e7\u0131kmaktad\u0131r. Bu makalede, DigitalOcean platformunda \u00f6zel (custom) bir Droplet g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturman\u0131n, yap\u0131land\u0131rman\u0131n ve bu g\u00f6r\u00fcnt\u00fcy\u00fc kullanarak yeni Droplet&#8217;ler da\u011f\u0131tman\u0131n t\u00fcm ad\u0131mlar\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceleyece\u011fiz. Bu s\u00fcre\u00e7, DevOps s\u00fcre\u00e7lerinizi optimize etmenize, uygulama da\u011f\u0131t\u0131m s\u00fcrelerinizi k\u0131saltman\u0131za ve altyap\u0131n\u0131zda tutarl\u0131l\u0131\u011f\u0131 sa\u011flaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Giri\u015f: \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>DigitalOcean Droplet&#8217;leri, Linux tabanl\u0131 sanal makinelerdir ve uygulamalar\u0131n\u0131z\u0131 bar\u0131nd\u0131rmak i\u00e7in esnek bir ortam sunar. Varsay\u0131lan olarak, DigitalOcean \u00e7e\u015fitli i\u015fletim sistemi g\u00f6r\u00fcnt\u00fcs\u00fc se\u00e7enekleri (Ubuntu, CentOS, Debian vb.) sunar. Ancak, \u00e7o\u011fu zaman uygulamalar\u0131m\u0131z\u0131n belirli yaz\u0131l\u0131mlara, k\u00fct\u00fcphanelere ve yap\u0131land\u0131rmalara ihtiyac\u0131 vard\u0131r. Her yeni Droplet olu\u015fturdu\u011funuzda bu kurulumlar\u0131 manuel olarak yapmak zaman al\u0131c\u0131 ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7tir.<\/p>\n<p>\u0130\u015fte tam bu noktada \u00f6zel Droplet g\u00f6r\u00fcnt\u00fcleri devreye girer. \u00d6zel bir Droplet g\u00f6r\u00fcnt\u00fcs\u00fc, belirli bir Droplet&#8217;in t\u00fcm disk i\u00e7eri\u011finin bir anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcd\u00fcr (snapshot). Bu anl\u0131k g\u00f6r\u00fcnt\u00fc, i\u015fletim sistemi, y\u00fckl\u00fc yaz\u0131l\u0131mlar, yap\u0131land\u0131rma dosyalar\u0131 ve hatta uygulama kodunuz gibi her \u015feyi i\u00e7erir. Bu g\u00f6r\u00fcnt\u00fcy\u00fc bir \u015fablon olarak kullanarak, ayn\u0131 yap\u0131land\u0131rmaya sahip say\u0131s\u0131z yeni Droplet&#8217;i saniyeler i\u00e7inde olu\u015fturabilirsiniz.<\/p>\n<h4>Neden \u00d6zel G\u00f6r\u00fcnt\u00fc Kullanmal\u0131y\u0131z?<\/h4>\n<p>*   <strong>Tutarl\u0131l\u0131k ve Tekrarlanabilirlik:<\/strong> Geli\u015ftirme, test ve \u00fcretim ortamlar\u0131n\u0131z aras\u0131nda tam bir tutarl\u0131l\u0131k sa\u011flar. &#8220;Benim makinemde \u00e7al\u0131\u015f\u0131yor&#8221; sorununu ortadan kald\u0131r\u0131r.<br \/>\n*   <strong>H\u0131zl\u0131 Da\u011f\u0131t\u0131m:<\/strong> Uygulamalar\u0131n\u0131z i\u00e7in gerekli t\u00fcm yaz\u0131l\u0131mlar ve ba\u011f\u0131ml\u0131l\u0131klar \u00f6nceden y\u00fcklenmi\u015f ve yap\u0131land\u0131r\u0131lm\u0131\u015f oldu\u011fu i\u00e7in yeni sunucular\u0131n da\u011f\u0131t\u0131m s\u00fcresini dakikalara indirir.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> \u00d6nceden sertle\u015ftirilmi\u015f (hardened) ve g\u00fcvenlik g\u00fcncellemeleri yap\u0131lm\u0131\u015f bir temel g\u00f6r\u00fcnt\u00fc olu\u015fturarak, t\u00fcm yeni sunucular\u0131n\u0131z\u0131n belirli bir g\u00fcvenlik standard\u0131yla ba\u015flamas\u0131n\u0131 sa\u011flayabilirsiniz.<br \/>\n*   <strong>Maliyet Tasarrufu:<\/strong> Manuel kurulum ve yap\u0131land\u0131rma i\u00e7in harcanan insan g\u00fcc\u00fc ve zaman maliyetini azalt\u0131r.<br \/>\n*   <strong>Versiyon Kontrol\u00fc:<\/strong> G\u00f6r\u00fcnt\u00fcleri farkl\u0131 versiyonlar olarak kaydedebilir, b\u00f6ylece herhangi bir zamanda belirli bir yap\u0131land\u0131rmaya geri d\u00f6nebilirsiniz.<br \/>\n*   <strong>Otomasyon Kolayl\u0131\u011f\u0131:<\/strong> CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) boru hatlar\u0131na kolayca entegre edilebilir.<\/p>\n<p>Bu makalede, ad\u0131m ad\u0131m bir web sunucusu (Nginx) ve Docker kurulu bir \u00f6zel g\u00f6r\u00fcnt\u00fc olu\u015fturma s\u00fcrecini ele alacak ve ard\u0131ndan bu g\u00f6r\u00fcnt\u00fcy\u00fc kullanarak yeni Droplet&#8217;ler nas\u0131l da\u011f\u0131t\u0131laca\u011f\u0131n\u0131 g\u00f6sterece\u011fiz.<\/p>\n<h3>\u00d6zel G\u00f6r\u00fcnt\u00fc Olu\u015fturma S\u00fcreci: Ad\u0131m Ad\u0131m Rehber<\/h3>\n<p>\u00d6zel bir Droplet g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturma s\u00fcreci, temel bir Droplet&#8217;i istedi\u011finiz \u015fekilde yap\u0131land\u0131rmak ve ard\u0131ndan bu Droplet&#8217;in bir anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc almaktan ibarettir.<\/p>\n<h4>Ad\u0131m 1: Temel Bir Droplet Olu\u015fturma<\/h4>\n<p>\u0130lk ad\u0131m, \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fcz i\u00e7in temel olacak bir Droplet olu\u015fturmakt\u0131r. Bu Droplet, \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fcz\u00fcn &#8220;ana kal\u0131b\u0131&#8221; olacakt\u0131r.<\/p>\n<p>1.  <strong>DigitalOcean Kontrol Paneline Giri\u015f Yap\u0131n:<\/strong> Taray\u0131c\u0131n\u0131zdan DigitalOcean hesab\u0131n\u0131za giri\u015f yap\u0131n.<br \/>\n2.  <strong>Yeni Droplet Olu\u015fturun:<\/strong> Sol \u00fcst k\u00f6\u015fedeki &#8220;Create&#8221; butonuna t\u0131klay\u0131n ve &#8220;Droplets&#8221; se\u00e7ene\u011fini se\u00e7in.<br \/>\n3.  <strong>\u0130\u015fletim Sistemi Se\u00e7imi:<\/strong> &#8220;Choose an image&#8221; b\u00f6l\u00fcm\u00fcnde, tercih etti\u011finiz i\u015fletim sistemini se\u00e7in. Genellikle Ubuntu LTS (Long Term Support) s\u00fcr\u00fcmleri kararl\u0131l\u0131k ve uzun s\u00fcreli destek nedeniyle tercih edilir (\u00f6rn. Ubuntu 22.04 LTS).<br \/>\n4.  <strong>Plan Se\u00e7imi:<\/strong> &#8220;Choose a plan&#8221; b\u00f6l\u00fcm\u00fcnde, g\u00f6r\u00fcnt\u00fcy\u00fc olu\u015fturmak i\u00e7in yeterli kayna\u011fa sahip, ancak \u00e7ok da b\u00fcy\u00fck olmayan bir plan se\u00e7in. \u0130\u015finiz bitti\u011finde bu Droplet&#8217;i silece\u011fimiz i\u00e7in en d\u00fc\u015f\u00fck maliyetli planlardan biri (\u00f6rn. Basic Shared CPU &#8211; $4\/ay veya $6\/ay) yeterli olacakt\u0131r.<br \/>\n5.  <strong>B\u00f6lge Se\u00e7imi:<\/strong> &#8220;Choose a datacenter region&#8221; b\u00f6l\u00fcm\u00fcnde, size en yak\u0131n veya hedef kitlenize en yak\u0131n bir b\u00f6lge se\u00e7in.<br \/>\n6.  <strong>Kimlik Do\u011frulama:<\/strong> &#8220;Authentication&#8221; b\u00f6l\u00fcm\u00fcnde, SSH anahtar\u0131n\u0131z\u0131 se\u00e7in veya yeni bir tane ekleyin. Bu, Droplet&#8217;e g\u00fcvenli bir \u015fekilde ba\u011flanman\u0131z\u0131 sa\u011flayacakt\u0131r.<br \/>\n7.  <strong>Ek Se\u00e7enekler (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong><br \/>\n    *   <strong>VPC Network:<\/strong> E\u011fer \u00f6zel bir a\u011f kullan\u0131yorsan\u0131z se\u00e7ebilirsiniz.<br \/>\n    *   <strong>Monitoring:<\/strong> Performans izleme i\u00e7in etkinle\u015ftirebilirsiniz.<br \/>\n    *   <strong>IPv6:<\/strong> \u0130htiyac\u0131n\u0131z varsa etkinle\u015ftirebilirsiniz.<br \/>\n    *   <strong>User Data:<\/strong> \u0130lk boot s\u0131ras\u0131nda \u00e7al\u0131\u015facak komut dosyalar\u0131 ekleyebilirsiniz (ancak bu senaryoda manuel yap\u0131land\u0131rma yapaca\u011f\u0131m\u0131z i\u00e7in \u015fimdilik gerek yok).<br \/>\n8.  <strong>Hostname ve Etiketler:<\/strong> Droplet&#8217;inize kolayca tan\u0131nabilir bir isim verin (\u00f6rn. <code>base-image-builder<\/code>). \u0130sterseniz etiketler de ekleyebilirsiniz.<br \/>\n9.  <strong>Olu\u015ftur:<\/strong> &#8220;Create Droplet&#8221; butonuna t\u0131klay\u0131n. Droplet&#8217;iniz birka\u00e7 saniye i\u00e7inde haz\u0131r olacakt\u0131r.<\/p>\n<p>Droplet&#8217;iniz olu\u015fturulduktan sonra, kontrol panelinde IP adresini g\u00f6receksiniz.<\/p>\n<h4>Ad\u0131m 2: Droplet&#8217;i Haz\u0131rlama ve Yap\u0131land\u0131rma<\/h4>\n<p>Bu ad\u0131mda, olu\u015fturdu\u011funuz temel Droplet&#8217;e ba\u011flanacak ve \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fczde olmas\u0131n\u0131 istedi\u011finiz t\u00fcm yaz\u0131l\u0131mlar\u0131 ve yap\u0131land\u0131rmalar\u0131 kuracaks\u0131n\u0131z.<\/p>\n<h5>SSH ile Droplet&#8217;e Ba\u011flanma<\/h5>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu kullanarak Droplet&#8217;inize ba\u011flan\u0131n (IP adresini kendi Droplet&#8217;inizin IP adresiyle de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-bash\">ssh root@<your_droplet_ip_address><\/code><\/pre>\n<p>\u0130lk kez ba\u011flan\u0131rken bir g\u00fcvenlik uyar\u0131s\u0131 alabilirsiniz; <code>yes<\/code> yazarak devam edin.<\/p>\n<h5>Sistemi G\u00fcncelleme<\/h5>\n<p>Herhangi bir yaz\u0131l\u0131m y\u00fcklemeden \u00f6nce, Droplet&#8217;in i\u015fletim sistemini g\u00fcncel tutmak iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h5>Gerekli Yaz\u0131l\u0131mlar\u0131 Y\u00fckleme (\u00d6rnek: Nginx ve Docker)<\/h5>\n<p>\u015eimdi, \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fczde olmas\u0131n\u0131 istedi\u011finiz yaz\u0131l\u0131mlar\u0131 y\u00fckleyelim. Bu \u00f6rnekte Nginx web sunucusu ve Docker motorunu kuraca\u011f\u0131z.<\/p>\n<p><strong>Nginx Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install nginx -y<\/code><\/pre>\n<p>Nginx kurulduktan sonra, durumunu kontrol edebilir ve otomatik ba\u015flat\u0131lmas\u0131n\u0131 sa\u011flayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx\nsudo systemctl status nginx<\/code><\/pre>\n<p>Nginx&#8217;in varsay\u0131lan sayfas\u0131n\u0131 taray\u0131c\u0131n\u0131zdan Droplet&#8217;inizin IP adresine giderek kontrol edebilirsiniz.<\/p>\n<p><strong>Docker Kurulumu:<\/strong><\/p>\n<p>Docker&#8217;\u0131 kurmak i\u00e7in resmi Docker dok\u00fcmantasyonunu takip etmek en iyisidir. \u0130\u015fte Ubuntu i\u00e7in basitle\u015ftirilmi\u015f ad\u0131mlar:<\/p>\n<p>1.  <strong>Gerekli Paketleri Y\u00fckleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install apt-transport-https ca-certificates curl software-properties-common -y<\/code><\/pre>\n<p>2.  <strong>Docker GPG Anahtar\u0131n\u0131 Ekleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg<\/code><\/pre>\n<p>3.  <strong>Docker Stabil Deposu Ekleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">echo \"deb [arch=$(dpkg --print-architecture) signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list > \/dev\/null<\/code><\/pre>\n<p>4.  <strong>Paket Listesini G\u00fcncelleme ve Docker&#8217;\u0131 Y\u00fckleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt update\n    sudo apt install docker-ce docker-ce-cli containerd.io -y<\/code><\/pre>\n<p>5.  <strong>Docker Durumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl status docker<\/code><\/pre>\n<p>6.  <strong>Kullan\u0131c\u0131y\u0131 Docker Grubuna Ekleme (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir):<\/strong> <code>sudo<\/code> kullanmadan Docker komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in mevcut kullan\u0131c\u0131n\u0131z\u0131 (genellikle <code>root<\/code> veya yeni bir kullan\u0131c\u0131) <code>docker<\/code> grubuna ekleyebilirsiniz. Ancak, <code>root<\/code> kullan\u0131c\u0131s\u0131 zaten t\u00fcm yetkilere sahip oldu\u011fu i\u00e7in bu ad\u0131m genellikle yeni bir kullan\u0131c\u0131 olu\u015fturuldu\u011funda yap\u0131l\u0131r. G\u00f6r\u00fcnt\u00fcy\u00fc <code>root<\/code> ile olu\u015fturdu\u011fumuz i\u00e7in bu ad\u0131m\u0131 atlayabiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo usermod -aG docker ${USER}\n    # De\u011fi\u015fikli\u011fin etkili olmas\u0131 i\u00e7in SSH oturumunu kapat\u0131p tekrar a\u00e7man\u0131z gerekebilir.<\/code><\/pre>\n<h5>G\u00fcvenlik Ayarlar\u0131 (\u00d6rnek: UFW Firewall)<\/h5>\n<p>G\u00fcvenli\u011fi art\u0131rmak i\u00e7in UFW (Uncomplicated Firewall) yap\u0131land\u0131rabiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo apt install ufw -y\nsudo ufw allow OpenSSH\nsudo ufw allow 'Nginx HTTP' # Nginx i\u00e7in 80 portunu a\u00e7ar\nsudo ufw enable\nsudo ufw status<\/code><\/pre>\n<p>Bu komutlar SSH ve Nginx i\u00e7in gerekli portlar\u0131 a\u00e7acak ve g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirecektir.<\/p>\n<h5>Ortam De\u011fi\u015fkenleri ve Konfig\u00fcrasyon Dosyalar\u0131<\/h5>\n<p>Uygulaman\u0131z\u0131n ihtiya\u00e7 duydu\u011fu \u00f6zel konfig\u00fcrasyon dosyalar\u0131n\u0131 (<code>\/etc<\/code>, <code>\/var\/www<\/code> vb. dizinlerde) veya ortam de\u011fi\u015fkenlerini (<code>\/etc\/environment<\/code> veya kullan\u0131c\u0131 <code>.bashrc<\/code> dosyalar\u0131na) bu a\u015famada ekleyebilirsiniz.<\/p>\n<p>\u00d6rne\u011fin, Nginx i\u00e7in \u00f6zel bir sanal host yap\u0131land\u0131rmas\u0131 eklemek isteyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/my_app<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olabilir (\u00f6rnek):<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name your_domain.com www.your_domain.com; # Kendi alan ad\u0131n\u0131z\u0131 veya IP adresinizi kullan\u0131n\n\n    root \/var\/www\/html\/my_app;\n    index index.html index.htm;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n}<\/code><\/pre>\n<p>Ard\u0131ndan bu yap\u0131land\u0131rmay\u0131 etkinle\u015ftirin ve Nginx&#8217;i yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/my_app \/etc\/nginx\/sites-enabled\/\nsudo nginx -t # Konfig\u00fcrasyon dosyas\u0131n\u0131 test et\nsudo systemctl restart nginx<\/code><\/pre>\n<h5>Temizleme \u0130\u015flemleri (\u00c7ok \u00d6nemli!)<\/h5>\n<p>\u00d6zel bir g\u00f6r\u00fcnt\u00fc olu\u015fturmadan \u00f6nce, Droplet&#8217;i temizlemek kritik bir ad\u0131md\u0131r. Bu, gereksiz verilerin, loglar\u0131n ve Droplet&#8217;e \u00f6zel bilgilerin yeni Droplet&#8217;lere ta\u015f\u0131nmas\u0131n\u0131 engeller. Bu ad\u0131m, yeni Droplet&#8217;lerin ilk a\u00e7\u0131l\u0131\u015fta sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>1.  <strong>Log Dosyalar\u0131n\u0131 Temizleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo find \/var\/log -type f -name \"*.log\" -delete\n    sudo find \/var\/log -type f -name \"*.gz\" -delete\n    sudo find \/var\/log -type f -name \"*.journal\" -delete # systemd journal loglar\u0131\n    sudo rm -rf \/var\/log\/syslog<em> \/var\/log\/auth.log<\/em> \/var\/log\/kern.log*\n    sudo truncate -s 0 \/var\/log\/*log<\/code><\/pre>\n<p>2.  <strong>Bash Ge\u00e7mi\u015fini Temizleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">history -c # Mevcut oturumun ge\u00e7mi\u015fini temizler\n    rm -f ~\/.bash_history # Kullan\u0131c\u0131n\u0131n bash ge\u00e7mi\u015f dosyas\u0131n\u0131 siler<\/code><\/pre>\n<p>3.  <strong>SSH Host Anahtarlar\u0131n\u0131 Silme:<\/strong> Bu, yeni Droplet&#8217;lerin her birinin benzersiz SSH host anahtarlar\u0131na sahip olmas\u0131n\u0131 sa\u011flar, bu da g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nemlidir. DigitalOcean&#8217;\u0131n <code>cloud-init<\/code>&#8216;i genellikle bunu halleder, ancak manuel olarak yapmak ekstra g\u00fcvenlik sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo rm -f \/etc\/ssh\/ssh_host_*<\/code><\/pre>\n<p>4.  <strong>Ge\u00e7ici Dosyalar\u0131 Temizleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/tmp\/*\n    sudo rm -rf \/var\/tmp\/*<\/code><\/pre>\n<p>5.  <strong>Paket \u00d6nbelle\u011fini Temizleme:<\/strong> \u0130ndirilen paket dosyalar\u0131n\u0131 silerek g\u00f6r\u00fcnt\u00fcn\u00fcn boyutunu k\u00fc\u00e7\u00fclt\u00fcr.<\/p>\n<pre><code class=\"language-bash\">sudo apt clean\n    sudo apt autoremove -y<\/code><\/pre>\n<p>6.  <strong>Cloud-Init Temizli\u011fi (\u00d6nemli):<\/strong> <code>cloud-init<\/code>, bir Droplet&#8217;in ilk a\u00e7\u0131l\u0131\u015f\u0131nda yap\u0131land\u0131rma i\u015flemlerini otomatikle\u015ftiren bir ara\u00e7t\u0131r. Bir g\u00f6r\u00fcnt\u00fc almadan \u00f6nce <code>cloud-init<\/code>&#8216;in durumunu temizlemek, yeni Droplet&#8217;lerin kendi ilk a\u00e7\u0131l\u0131\u015f yap\u0131land\u0131rmalar\u0131n\u0131 do\u011fru bir \u015fekilde yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo cloud-init clean --logs --seed<\/code><\/pre>\n<p>7.  <strong>Kapatma:<\/strong> Temizleme i\u015flemleri tamamland\u0131ktan sonra, Droplet&#8217;i kapat\u0131n. Anl\u0131k g\u00f6r\u00fcnt\u00fc almadan \u00f6nce Droplet&#8217;in kapal\u0131 olmas\u0131 \u00f6nerilir, bu veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo shutdown -h now<\/code><\/pre>\n<p>SSH ba\u011flant\u0131n\u0131z kesilecektir.<\/p>\n<h4>Ad\u0131m 3: Droplet&#8217;ten Anl\u0131k G\u00f6r\u00fcnt\u00fc (Snapshot) Alma<\/h4>\n<p>Droplet&#8217;iniz kapand\u0131ktan sonra, kontrol panelinden veya <code>doctl<\/code> CLI arac\u0131l\u0131\u011f\u0131yla bir anl\u0131k g\u00f6r\u00fcnt\u00fc alabilirsiniz.<\/p>\n<h5>DigitalOcean Kontrol Paneli \u00dczerinden:<\/h5>\n<p>1.  <strong>Droplet&#8217;e Gidin:<\/strong> DigitalOcean kontrol panelinde, sol men\u00fcden &#8220;Droplets&#8221; se\u00e7ene\u011fine t\u0131klay\u0131n.<br \/>\n2.  <strong>Droplet&#8217;i Se\u00e7in:<\/strong> Anl\u0131k g\u00f6r\u00fcnt\u00fc almak istedi\u011finiz Droplet&#8217;i (\u00f6rn. <code>base-image-builder<\/code>) se\u00e7in.<br \/>\n3.  <strong>Snapshots Sekmesi:<\/strong> Droplet detay sayfas\u0131nda &#8220;Snapshots&#8221; sekmesine t\u0131klay\u0131n.<br \/>\n4.  <strong>Anl\u0131k G\u00f6r\u00fcnt\u00fc Al:<\/strong> &#8220;Take Snapshot&#8221; butonuna t\u0131klay\u0131n. G\u00f6r\u00fcnt\u00fcn\u00fcz i\u00e7in anlaml\u0131 bir isim girin (\u00f6rn. <code>ubuntu-2204-nginx-docker-v1.0<\/code>).<br \/>\n5.  <strong>Onaylay\u0131n:<\/strong> &#8220;Take Snapshot&#8221; butonuna tekrar t\u0131klayarak i\u015flemi onaylay\u0131n.<\/p>\n<p>Anl\u0131k g\u00f6r\u00fcnt\u00fc alma i\u015flemi Droplet&#8217;in boyutuna ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir. \u0130\u015flem tamamland\u0131\u011f\u0131nda, anl\u0131k g\u00f6r\u00fcnt\u00fcn\u00fcz &#8220;Images&#8221; -> &#8220;Snapshots&#8221; b\u00f6l\u00fcm\u00fcnde listelenecektir.<\/p>\n<h5>doctl CLI ile (\u0130ste\u011fe Ba\u011fl\u0131):<\/h5>\n<p>E\u011fer DigitalOcean CLI arac\u0131 olan <code>doctl<\/code>&#8216;\u0131 kullan\u0131yorsan\u0131z, anl\u0131k g\u00f6r\u00fcnt\u00fcy\u00fc komut sat\u0131r\u0131ndan da alabilirsiniz:<\/p>\n<p>1.  <strong>Droplet ID&#8217;sini Bulma:<\/strong><\/p>\n<pre><code class=\"language-bash\">doctl compute droplet list<\/code><\/pre>\n<p>    Bu komut, Droplet&#8217;lerinizin bir listesini ve ID&#8217;lerini g\u00f6sterecektir. <code>base-image-builder<\/code> Droplet&#8217;inizin ID&#8217;sini not al\u0131n.<\/p>\n<p>2.  <strong>Anl\u0131k G\u00f6r\u00fcnt\u00fc Alma:<\/strong><\/p>\n<pre><code class=\"language-bash\">doctl compute droplet-action snapshot <droplet_id> --name ubuntu-2204-nginx-docker-v1.0<\/code><\/pre>\n<p>    <code><droplet_id><\/code> yerine Droplet&#8217;inizin ID&#8217;sini yaz\u0131n.<\/p>\n<p>Anl\u0131k g\u00f6r\u00fcnt\u00fc ba\u015far\u0131yla olu\u015fturulduktan sonra, <code>base-image-builder<\/code> Droplet&#8217;inizi silebilirsiniz. Art\u0131k ihtiyac\u0131m\u0131z kalmad\u0131 ve bo\u015f yere maliyet olu\u015fturmas\u0131n\u0131 istemeyiz.<\/p>\n<h3>\u00d6zel G\u00f6r\u00fcnt\u00fcy\u00fc Kullanarak Yeni Droplet Olu\u015fturma<\/h3>\n<p>\u00d6zel g\u00f6r\u00fcnt\u00fcn\u00fcz haz\u0131r oldu\u011funa g\u00f6re, bu g\u00f6r\u00fcnt\u00fcy\u00fc kullanarak yeni Droplet&#8217;ler olu\u015fturman\u0131n zaman\u0131 geldi.<\/p>\n<p>1.  <strong>Yeni Droplet Olu\u015fturma Sayfas\u0131na Gidin:<\/strong> DigitalOcean kontrol panelinde, &#8220;Create&#8221; -> &#8220;Droplets&#8221; se\u00e7ene\u011fine t\u0131klay\u0131n.<br \/>\n2.  <strong>G\u00f6r\u00fcnt\u00fc Se\u00e7imi:<\/strong> &#8220;Choose an image&#8221; b\u00f6l\u00fcm\u00fcnde, &#8220;Snapshots&#8221; sekmesine t\u0131klay\u0131n. Burada, az \u00f6nce olu\u015fturdu\u011funuz \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fcz\u00fc (\u00f6rn. <code>ubuntu-2204-nginx-docker-v1.0<\/code>) g\u00f6receksiniz. Bu g\u00f6r\u00fcnt\u00fcy\u00fc se\u00e7in.<br \/>\n3.  <strong>Droplet Ayarlar\u0131n\u0131 Yap\u0131land\u0131rma:<\/strong><br \/>\n    *   <strong>Plan Se\u00e7imi:<\/strong> Uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na uygun bir plan se\u00e7in.<br \/>\n    *   <strong>B\u00f6lge Se\u00e7imi:<\/strong> G\u00f6r\u00fcnt\u00fcn\u00fcz\u00fcn bulundu\u011fu veya uygulaman\u0131z\u0131n da\u011f\u0131t\u0131laca\u011f\u0131 bir b\u00f6lge se\u00e7in.<br \/>\n    *   <strong>Kimlik Do\u011frulama:<\/strong> SSH anahtar\u0131n\u0131z\u0131 se\u00e7in.<br \/>\n    *   <strong>Ek Se\u00e7enekler:<\/strong> \u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re di\u011fer se\u00e7enekleri yap\u0131land\u0131r\u0131n (yedeklemeler, monitoring vb.).<br \/>\n    *   <strong>Hostname ve Etiketler:<\/strong> Yeni Droplet&#8217;inize anlaml\u0131 bir isim verin (\u00f6rn. <code>web-server-01<\/code>).<br \/>\n4.  <strong>Olu\u015ftur:<\/strong> &#8220;Create Droplet&#8221; butonuna t\u0131klay\u0131n.<\/p>\n<p>Yeni Droplet&#8217;iniz birka\u00e7 saniye i\u00e7inde haz\u0131r olacakt\u0131r. Bu Droplet, Nginx ve Docker kurulu ve \u00f6nceden yapt\u0131\u011f\u0131n\u0131z t\u00fcm yap\u0131land\u0131rmalarla birlikte gelecektir.<\/p>\n<h4>Do\u011frulama<\/h4>\n<p>Yeni Droplet&#8217;inize SSH ile ba\u011flan\u0131n ve Nginx&#8217;in \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131, Docker&#8217;\u0131n do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">ssh root@<new_droplet_ip_address>\nsudo systemctl status nginx\nsudo docker run hello-world<\/code><\/pre>\n<p>Her \u015feyin beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz. <code>docker run hello-world<\/code> komutu, Docker&#8217;\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayan basit bir testtir.<\/p>\n<h3>G\u00f6r\u00fcnt\u00fc Y\u00f6netimi ve Bak\u0131m\u0131<\/h3>\n<p>\u00d6zel g\u00f6r\u00fcnt\u00fcler olu\u015fturmak tek seferlik bir i\u015flem de\u011fildir. Uygulamalar\u0131n\u0131z ve altyap\u0131n\u0131z geli\u015ftik\u00e7e, \u00f6zel g\u00f6r\u00fcnt\u00fclerinizi de g\u00fcncellemeniz ve y\u00f6netmeniz gerekir.<\/p>\n<h4>G\u00f6r\u00fcnt\u00fcleri G\u00fcncelleme<\/h4>\n<p>Uygulaman\u0131zda veya sistem gereksinimlerinizde bir de\u011fi\u015fiklik oldu\u011funda (\u00f6rn. yeni bir yaz\u0131l\u0131m versiyonu, g\u00fcvenlik yamas\u0131), mevcut g\u00f6r\u00fcnt\u00fcn\u00fcz\u00fc g\u00fcncellemeniz gerekebilir.<\/p>\n<p>1.  <strong>Mevcut G\u00f6r\u00fcnt\u00fcden Yeni Bir Droplet Ba\u015flat\u0131n:<\/strong> Mevcut \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fcz\u00fc kullanarak yeni bir Droplet olu\u015fturun (yukar\u0131daki &#8220;\u00d6zel G\u00f6r\u00fcnt\u00fcy\u00fc Kullanarak Yeni Droplet Olu\u015fturma&#8221; ad\u0131mlar\u0131n\u0131 takip edin).<br \/>\n2.  <strong>Gerekli De\u011fi\u015fiklikleri Yap\u0131n:<\/strong> Bu yeni Droplet \u00fczerinde gerekli g\u00fcncellemeleri, yaz\u0131l\u0131m kurulumlar\u0131n\u0131 veya yap\u0131land\u0131rma de\u011fi\u015fikliklerini yap\u0131n.<br \/>\n3.  <strong>Temizleme \u0130\u015flemlerini Tekrarlay\u0131n:<\/strong> G\u00f6r\u00fcnt\u00fcden anl\u0131k g\u00f6r\u00fcnt\u00fc almadan \u00f6nce &#8220;Temizleme \u0130\u015flemleri&#8221; b\u00f6l\u00fcm\u00fcndeki ad\u0131mlar\u0131 tekrarlay\u0131n.<br \/>\n4.  <strong>Yeni Bir Anl\u0131k G\u00f6r\u00fcnt\u00fc Al\u0131n:<\/strong> Bu g\u00fcncellenmi\u015f Droplet&#8217;ten yeni bir anl\u0131k g\u00f6r\u00fcnt\u00fc al\u0131n. G\u00f6r\u00fcnt\u00fcye bir s\u00fcr\u00fcm numaras\u0131 eklemek (\u00f6rn. <code>ubuntu-2204-nginx-docker-v1.1<\/code>) iyi bir uygulamad\u0131r.<br \/>\n5.  <strong>Eski G\u00f6r\u00fcnt\u00fcy\u00fc Silme (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong> Yeni g\u00f6r\u00fcnt\u00fcn\u00fcn kararl\u0131 oldu\u011fundan emin olduktan sonra, eski s\u00fcr\u00fcm\u00fc silebilirsiniz. Ancak, geri d\u00f6n\u00fc\u015f noktas\u0131 olarak eski s\u00fcr\u00fcmleri bir s\u00fcre saklamak da mant\u0131kl\u0131 olabilir.<\/p>\n<h4>G\u00f6r\u00fcnt\u00fcleri Silme<\/h4>\n<p>Kullan\u0131lmayan veya eski \u00f6zel g\u00f6r\u00fcnt\u00fcleri d\u00fczenli olarak silmek, depolama maliyetlerinden tasarruf etmenizi sa\u011flar. DigitalOcean kontrol panelindeki &#8220;Images&#8221; -> &#8220;Snapshots&#8221; b\u00f6l\u00fcm\u00fcnden g\u00f6r\u00fcnt\u00fcleri se\u00e7ip &#8220;More&#8221; -> &#8220;Delete&#8221; se\u00e7ene\u011fi ile silebilirsiniz.<\/p>\n<h4>G\u00f6r\u00fcnt\u00fcleri Farkl\u0131 B\u00f6lgelere Kopyalama<\/h4>\n<p>Uygulamalar\u0131n\u0131z\u0131 birden fazla co\u011frafi b\u00f6lgede da\u011f\u0131t\u0131yorsan\u0131z, \u00f6zel g\u00f6r\u00fcnt\u00fclerinizi de bu b\u00f6lgelere kopyalayabilirsiniz. Bu, yeni Droplet&#8217;lerinizi farkl\u0131 b\u00f6lgelerde daha h\u0131zl\u0131 olu\u015fturman\u0131z\u0131 sa\u011flar. Bir g\u00f6r\u00fcnt\u00fcn\u00fcn detay sayfas\u0131nda &#8220;Add to Region&#8221; se\u00e7ene\u011fini bulabilirsiniz.<\/p>\n<h3>Geli\u015fmi\u015f Konular ve En \u0130yi Uygulamalar<\/h3>\n<p>\u00d6zel g\u00f6r\u00fcnt\u00fc olu\u015fturma ve da\u011f\u0131tma s\u00fcrecini daha da optimize etmek ve otomatikle\u015ftirmek i\u00e7in baz\u0131 geli\u015fmi\u015f teknikler ve en iyi uygulamalar mevcuttur.<\/p>\n<h4>Otomasyon Ara\u00e7lar\u0131 (Packer, Ansible, Terraform)<\/h4>\n<p>Manuel olarak bir Droplet yap\u0131land\u0131rmak ve anl\u0131k g\u00f6r\u00fcnt\u00fc almak, tek seferlik veya nadir durumlar i\u00e7in uygun olabilir. Ancak, s\u00fcrekli g\u00fcncellenen ve \u00e7ok say\u0131da \u00f6zel g\u00f6r\u00fcnt\u00fcye ihtiyac\u0131n\u0131z varsa, otomasyon ara\u00e7lar\u0131 vazge\u00e7ilmezdir.<\/p>\n<p>*   <strong>Packer:<\/strong> HashiCorp&#8217;un Packer arac\u0131, farkl\u0131 bulut sa\u011flay\u0131c\u0131lar\u0131 (DigitalOcean dahil) i\u00e7in otomatik olarak makine g\u00f6r\u00fcnt\u00fcleri olu\u015fturmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bir JSON \u015fablonu kullanarak, bir temel g\u00f6r\u00fcnt\u00fcden ba\u015flay\u0131p gerekli yaz\u0131l\u0131mlar\u0131 y\u00fckleyip yap\u0131land\u0131rabilir ve ard\u0131ndan bir anl\u0131k g\u00f6r\u00fcnt\u00fc alabilirsiniz. Packer, DigitalOcean i\u00e7in yerle\u015fik bir builder&#8217;a sahiptir.<br \/>\n*   <strong>Ansible:<\/strong> Ansible, yap\u0131land\u0131rma y\u00f6netimi ve otomasyon arac\u0131d\u0131r. Packer ile birlikte kullan\u0131larak, Packer&#8217;\u0131n bir Droplet olu\u015fturmas\u0131n\u0131, Ansible&#8217;\u0131n bu Droplet \u00fczerinde t\u00fcm kurulum ve yap\u0131land\u0131rmalar\u0131 yapmas\u0131n\u0131 sa\u011flayabilirsiniz. Bu, kod tabanl\u0131 ve tekrarlanabilir bir g\u00f6r\u00fcnt\u00fc olu\u015fturma s\u00fcreci sa\u011flar.<br \/>\n*   <strong>Terraform:<\/strong> Terraform, altyap\u0131y\u0131 kod olarak (Infrastructure as Code &#8211; IaC) y\u00f6netmenizi sa\u011flar. Packer taraf\u0131ndan olu\u015fturulan \u00f6zel g\u00f6r\u00fcnt\u00fcleri kullanarak, Terraform ile bu g\u00f6r\u00fcnt\u00fclerden otomatik olarak Droplet&#8217;ler olu\u015fturabilir, a\u011f yap\u0131land\u0131rmalar\u0131n\u0131 yapabilir ve di\u011fer DigitalOcean kaynaklar\u0131n\u0131 y\u00f6netebilirsiniz.<\/p>\n<p>Bu ara\u00e7lar\u0131n birle\u015fimi, \u00f6zel g\u00f6r\u00fcnt\u00fc ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcz\u00fc tamamen otomatikle\u015ftirebilir ve CI\/CD s\u00fcre\u00e7lerinize entegre edebilir.<\/p>\n<h4>S\u00fcr\u00fcmleme ve Etiketleme<\/h4>\n<p>\u00d6zel g\u00f6r\u00fcnt\u00fclerinizi etkili bir \u015fekilde y\u00f6netmek i\u00e7in s\u00fcr\u00fcmleme ve etiketleme stratejileri kullan\u0131n:<\/p>\n<p>*   <strong>S\u00fcr\u00fcm Numaralar\u0131:<\/strong> G\u00f6r\u00fcnt\u00fc adlar\u0131na s\u00fcr\u00fcm numaralar\u0131 ekleyin (\u00f6rn. <code>app-server-v1.0<\/code>, <code>app-server-v1.1<\/code>).<br \/>\n*   <strong>Etiketler:<\/strong> G\u00f6r\u00fcnt\u00fclerinize, i\u00e7erikleri, kullan\u0131m ama\u00e7lar\u0131 veya olu\u015fturulma tarihleri gibi bilgileri belirten etiketler ekleyin. Bu, \u00f6zellikle \u00e7ok say\u0131da g\u00f6r\u00fcnt\u00fcn\u00fcz oldu\u011funda arama ve filtreleme yapmay\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<h4>G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h4>\n<p>*   <strong>Minimum Yetki Prensibi:<\/strong> \u00d6zel g\u00f6r\u00fcnt\u00fcn\u00fczde gereksiz yaz\u0131l\u0131mlar\u0131 veya kullan\u0131c\u0131lar\u0131 bulundurmay\u0131n. Her zaman en az yetki prensibini uygulay\u0131n.<br \/>\n*   <strong>Hassas Bilgileri Saklamaktan Ka\u00e7\u0131n\u0131n:<\/strong> Veritaban\u0131 \u015fifreleri, API anahtarlar\u0131 gibi hassas bilgileri \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fczde saklamay\u0131n. Bunlar\u0131 ortam de\u011fi\u015fkenleri, DigitalOcean Secrets veya bir s\u0131r y\u00f6netim sistemi arac\u0131l\u0131\u011f\u0131yla Droplet&#8217;ler ilk a\u00e7\u0131ld\u0131\u011f\u0131nda enjekte edin.<br \/>\n*   <strong>D\u00fczenli G\u00fcvenlik G\u00fcncellemeleri:<\/strong> Temel g\u00f6r\u00fcnt\u00fcn\u00fcz\u00fc ve y\u00fckl\u00fc yaz\u0131l\u0131mlar\u0131 d\u00fczenli olarak g\u00fcncelleyerek g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131n.<br \/>\n*   <strong>Kullan\u0131lmayan Portlar\u0131 Kapat\u0131n:<\/strong> UFW gibi bir g\u00fcvenlik duvar\u0131 kullanarak yaln\u0131zca uygulaman\u0131z\u0131n ihtiya\u00e7 duydu\u011fu portlar\u0131 a\u00e7\u0131k b\u0131rak\u0131n.<\/p>\n<h4>Disk Boyutland\u0131rmas\u0131<\/h4>\n<p>\u00d6zel g\u00f6r\u00fcnt\u00fcn\u00fcz\u00fcn temel Droplet&#8217;ini olu\u015ftururken, gelecekteki ihtiya\u00e7lar\u0131n\u0131z\u0131 g\u00f6z \u00f6n\u00fcnde bulundurarak disk boyutunu se\u00e7in. G\u00f6r\u00fcnt\u00fc, olu\u015fturuldu\u011fu Droplet&#8217;in disk boyutuyla s\u0131n\u0131rl\u0131d\u0131r. \u00d6rne\u011fin, 25 GB&#8217;l\u0131k bir Droplet&#8217;ten ald\u0131\u011f\u0131n\u0131z g\u00f6r\u00fcnt\u00fc de 25 GB&#8217;l\u0131k bir disk alan\u0131na sahip olacakt\u0131r. Yeni bir Droplet olu\u015ftururken daha b\u00fcy\u00fck bir disk boyutu se\u00e7seniz bile, i\u015fletim sisteminin bu alan\u0131 otomatik olarak kullanmas\u0131 i\u00e7in ek yap\u0131land\u0131rma gerekebilir (genellikle <code>cloud-init<\/code> veya <code>resize2fs<\/code> ile).<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. \u00d6zel g\u00f6r\u00fcnt\u00fc kullanmak maliyetli mi?<\/strong><br \/>\nEvet, olu\u015fturdu\u011funuz \u00f6zel g\u00f6r\u00fcnt\u00fcler DigitalOcean&#8217;da depolama maliyetine tabidir. Bu maliyet, g\u00f6r\u00fcnt\u00fcn\u00fcn boyutuna ba\u011fl\u0131d\u0131r. Kullan\u0131lmayan g\u00f6r\u00fcnt\u00fcleri silerek maliyetten tasarruf edebilirsiniz.<\/p>\n<p><strong>2. Bir \u00f6zel g\u00f6r\u00fcnt\u00fcn\u00fcn boyutu i\u00e7in bir s\u0131n\u0131r var m\u0131?<\/strong><br \/>\nEvet, DigitalOcean \u00f6zel g\u00f6r\u00fcnt\u00fclerin maksimum boyutunu 1 TB ile s\u0131n\u0131rlam\u0131\u015ft\u0131r.<\/p>\n<p><strong>3. Farkl\u0131 i\u015fletim sistemleri i\u00e7in \u00f6zel g\u00f6r\u00fcnt\u00fc olu\u015fturabilir miyim?<\/strong><br \/>\nEvet, DigitalOcean&#8217;\u0131n destekledi\u011fi herhangi bir i\u015fletim sistemi (Ubuntu, CentOS, Debian vb.) i\u00e7in \u00f6zel g\u00f6r\u00fcnt\u00fc olu\u015fturabilirsiniz. Hatta kendi \u00f6zel ISO&#8217;nuzu y\u00fckleyerek de \u00f6zel g\u00f6r\u00fcnt\u00fc olu\u015fturmak m\u00fcmk\u00fcnd\u00fcr, ancak bu daha ileri d\u00fczey bir konudur.<\/p>\n<p><strong>4. \u00d6zel g\u00f6r\u00fcnt\u00fclerimi yedekleyebilir miyim?<\/strong><br \/>\n\u00d6zel g\u00f6r\u00fcnt\u00fclerinizin kendisi birer anl\u0131k g\u00f6r\u00fcnt\u00fcd\u00fcr. Bunlar\u0131 ayr\u0131ca yedeklemenize gerek yoktur. Ancak, bu g\u00f6r\u00fcnt\u00fclerden olu\u015fturdu\u011funuz Droplet&#8217;ler i\u00e7in DigitalOcean&#8217;\u0131n otomatik yedekleme \u00f6zelli\u011fini kullanabilirsiniz.<\/p>\n<p><strong>5. \u00d6zel g\u00f6r\u00fcnt\u00fclerimi ba\u015fka bir DigitalOcean hesab\u0131yla payla\u015fabilir miyim?<\/strong><br \/>\nDigitalOcean, anl\u0131k g\u00f6r\u00fcnt\u00fcleri do\u011frudan ba\u015fka bir hesaba aktarma veya payla\u015fma \u00f6zelli\u011fi sunmamaktad\u0131r. Ancak, g\u00f6r\u00fcnt\u00fcy\u00fc bir <code>.vhd<\/code> veya <code>.qcow2<\/code> dosyas\u0131 olarak d\u0131\u015fa aktarabilir ve ard\u0131ndan ba\u015fka bir hesaba manuel olarak y\u00fckleyebilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>DigitalOcean \u00fczerinde \u00f6zel Droplet g\u00f6r\u00fcnt\u00fcs\u00fc olu\u015fturmak ve da\u011f\u0131tmak, modern bulut altyap\u0131s\u0131 y\u00f6netiminde g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu s\u00fcre\u00e7, uygulaman\u0131z\u0131n da\u011f\u0131t\u0131m\u0131n\u0131 h\u0131zland\u0131r\u0131r, ortamlar\u0131n\u0131z aras\u0131nda tutarl\u0131l\u0131k sa\u011flar, g\u00fcvenlik standartlar\u0131n\u0131 y\u00fckseltir ve DevOps s\u00fcre\u00e7lerinizi \u00f6nemli \u00f6l\u00e7\u00fcde optimize eder. Manuel yap\u0131land\u0131rman\u0131n getirdi\u011fi hatalar\u0131 azalt\u0131rken, ayn\u0131 zamanda kaynaklar\u0131n\u0131z\u0131 daha verimli kullanman\u0131za olanak tan\u0131r.<\/p>\n<p>Bu makalede ele ald\u0131\u011f\u0131m\u0131z ad\u0131m ad\u0131m rehber ve en iyi uygulamalar sayesinde, kendi \u00f6zel Droplet g\u00f6r\u00fcnt\u00fclerinizi ba\u015far\u0131yla olu\u015fturabilir ve DigitalOcean \u00fczerindeki altyap\u0131n\u0131z\u0131 bir sonraki seviyeye ta\u015f\u0131yabilirsiniz. Ba\u015flang\u0131\u00e7ta biraz \u00e7aba gerektirse de, uzun vadede sa\u011flayaca\u011f\u0131 faydalar bu yat\u0131r\u0131ma de\u011fecektir. Kendi \u00f6zel g\u00f6r\u00fcnt\u00fclerinizi olu\u015fturmaya ba\u015flayarak, DigitalOcean deneyiminizi daha verimli ve g\u00fc\u00e7l\u00fc hale getirebilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma\nDijital altyap\u0131lar\u0131n h\u0131zla geli\u015fti\u011fi g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, uygulam","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":[1401],"tags":[],"class_list":{"0":"post-37330","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-git","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>DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma - 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\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma\" \/>\n<meta property=\"og:description\" content=\"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma Dijital altyap\u0131lar\u0131n h\u0131zla geli\u015fti\u011fi g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, uygulam\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-31T02:40:46+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma\",\"datePublished\":\"2025-12-31T02:40:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\"},\"wordCount\":3487,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Git\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\",\"name\":\"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-31T02:40:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma\"}]},{\"@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":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma - 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\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/","og_locale":"tr_TR","og_type":"article","og_title":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma","og_description":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma Dijital altyap\u0131lar\u0131n h\u0131zla geli\u015fti\u011fi g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, uygulam","og_url":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-31T02:40:46+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma","datePublished":"2025-12-31T02:40:46+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/"},"wordCount":3487,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Git"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/","url":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/","name":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-31T02:40:46+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/digitalocean-uzerinde-ozel-droplet-goruntusu-olusturma-ve-dagitma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"DigitalOcean \u00dczerinde \u00d6zel Droplet G\u00f6r\u00fcnt\u00fcs\u00fc Olu\u015fturma ve Da\u011f\u0131tma"}]},{"@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\/37330","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=37330"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37330\/revisions"}],"predecessor-version":[{"id":37331,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37330\/revisions\/37331"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}