[{"data":1,"prerenderedAt":516},["ShallowReactive",2],{"post-\u002Ftr\u002Ffull-stack-proje-agaci":3},{"page":4,"translation":353,"nav":372,"related":494,"random":503},{"id":5,"title":6,"body":7,"categories":351,"category":353,"date":354,"description":355,"draft":356,"extension":357,"image":358,"kind":353,"lang":68,"meta":359,"navigation":360,"path":361,"readingTime":344,"seo":362,"slug":363,"stem":364,"tags":365,"translationKey":363,"type":352,"updated":370,"__hash__":371},"postsTr\u002Ftr\u002Ffull-stack-proje-agaci.md","Full-Stack Proje Yol Haritası ve İçindekiler",{"type":8,"value":9,"toc":342},"minimark",[10,41,50,53,56,61,212,214,219,223,308,313],[11,12,13,21],"blockquote",{},[14,15,16,17],"p",{},"💡 ",[18,19,20],"strong",{},"Özet (TL;DR):",[22,23,24,35],"ul",{},[25,26,27,30,31,34],"li",{},[18,28,29],{},"Bu Yazı Nedir?:"," Sıfırdan bir sunucu kiralayıp üzerinde Docker konteynerleri, web sunucusu, veritabanları, önbellekleme katmanları ve geliştirme ortamı kurarak bir ",[18,32,33],{},"Full-Stack"," altyapı hazırlama rehberinin dizinidir (içindekiler sayfasıdır).",[25,36,37,40],{},[18,38,39],{},"Kapsam:"," DigitalOcean VPS kurulumu, SSH güvenliği, Docker, LiteSpeed Enterprise, CodeServer, Composer, MariaDB, Redis ve RabbitMQ kurulum adımlarını sırasıyla içerir.",[14,42,43,44,49],{},"Bu yazı ",[45,46,48],"a",{"href":47},"\u002Ftr\u002Ffull-stack-proje-gelistiriyoruz","Full-Stack Proje Geliştiriyoruz"," başlıklı yazı dizisi için içindekiler niteliği taşımaktadır.",[14,51,52],{},"Yazı dizisi içerisinde yer alan her yazıda uzun bir liste göstermek yerine, hepsinde bu yazıya bağlantı vermeyi tercih ettim.",[54,55],"hr",{},[57,58,60],"h3",{"id":59},"projede-kullanılan-teknoloji-yığını-stack-ve-görevleri","Projede Kullanılan Teknoloji Yığını (Stack) ve Görevleri",[62,63,64,84],"table",{},[65,66,67],"thead",{},[68,69,70,75,78,81],"tr",{},[71,72,74],"th",{"align":73},"left","Bileşen",[71,76,77],{"align":73},"Seçilen Araç",[71,79,80],{"align":73},"Amacı",[71,82,83],{"align":73},"Kurulum Türü",[85,86,87,104,120,136,151,167,182,197],"tbody",{},[68,88,89,95,98,101],{},[90,91,92],"td",{"align":73},[18,93,94],{},"Altyapı (VPS)",[90,96,97],{"align":73},"DigitalOcean Ubuntu 20.04",[90,99,100],{"align":73},"Uygulama sunucusu barındırma",[90,102,103],{"align":73},"Bulut Sunucu (Bare Metal VM)",[68,105,106,111,114,117],{},[90,107,108],{"align":73},[18,109,110],{},"Konteyner Yönetimi",[90,112,113],{"align":73},"Docker & Portainer",[90,115,116],{"align":73},"Hizmetlerin izole ve yönetilebilir olması",[90,118,119],{"align":73},"Sistem Servisi",[68,121,122,127,130,133],{},[90,123,124],{"align":73},[18,125,126],{},"Web Sunucusu",[90,128,129],{"align":73},"LiteSpeed Enterprise",[90,131,132],{"align":73},"Yüksek performanslı web yayını ve proxy",[90,134,135],{"align":73},"Docker Konteyner",[68,137,138,143,146,149],{},[90,139,140],{"align":73},[18,141,142],{},"Geliştirme Ortamı",[90,144,145],{"align":73},"CodeServer (VS Code)",[90,147,148],{"align":73},"Sunucu üzerinde tarayıcı tabanlı kod yazma",[90,150,135],{"align":73},[68,152,153,158,161,164],{},[90,154,155],{"align":73},[18,156,157],{},"Paket Yöneticisi",[90,159,160],{"align":73},"Composer",[90,162,163],{"align":73},"PHP kütüphane bağımlılıklarını yönetme",[90,165,166],{"align":73},"Sistem Seviyesi",[68,168,169,174,177,180],{},[90,170,171],{"align":73},[18,172,173],{},"İlişkisel Veritabanı",[90,175,176],{"align":73},"MariaDB (MySQL)",[90,178,179],{"align":73},"Kalıcı veri depolama",[90,181,135],{"align":73},[68,183,184,189,192,195],{},[90,185,186],{"align":73},[18,187,188],{},"Önbellek (Caching)",[90,190,191],{"align":73},"Redis",[90,193,194],{"align":73},"Hızlı veri erişimi ve oturum yönetimi",[90,196,135],{"align":73},[68,198,199,204,207,210],{},[90,200,201],{"align":73},[18,202,203],{},"Mesaj Kuyruğu (Queue)",[90,205,206],{"align":73},"RabbitMQ",[90,208,209],{"align":73},"Arka plan işlerini asenkron yönetme",[90,211,135],{"align":73},[54,213],{},[215,216,218],"h2",{"id":217},"full-stack-proje-i̇çin-gerekenler","Full-Stack Proje İçin Gerekenler",[57,220,222],{"id":221},"sunucu-kurulumları","Sunucu Kurulumları",[224,225,226,236,245,254,263,272,281,290,299],"ol",{},[25,227,228,232,235],{},[45,229,231],{"href":230},"\u002Ftr\u002Fdigital-oceanda-vps-kurulumu","DigitalOcean'da VPS Kurulumu",[233,234],"br",{},"\nBu yazıda DigitalOcean üzerinde Ubuntu 20.04 LTS dağıtımını esas alarak bir VPS kurulumunun nasıl yapılacağını anlattım.",[25,237,238,242,244],{},[45,239,241],{"href":240},"\u002Ftr\u002Froot-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir","Root yetkisi olmayan kullanıcı, SSH bağlantısını SSH anahtarı ile nasıl kurabilir?",[233,243],{},"\nVPS'imizi kurduk ama çalışmaya başlamadan önce güvenlik konusunda dikkat etmemiz gereken bir noktadan bahsetmeliyiz.",[25,246,247,251,253],{},[45,248,250],{"href":249},"\u002Ftr\u002Fdocker-ve-portainer-kurulumu","Docker ve Portainer Kurulumu",[233,252],{},"\nHem geliştirme hem de test ortamı için gereken her şeyi konteynerler üzerinde kuracağım için Docker kurarak başlamalıyız.",[25,255,256,260,262],{},[45,257,259],{"href":258},"\u002Ftr\u002Fdocker-ile-litespeed-enterprise-kurulumu","Docker ile LiteSpeed Enterprise Kurulumu",[233,261],{},"\nWeb sunucusu (ve Reverse Proxy) olarak kullanacağımız LiteSpeed Enterprise Server kurulumunu yapıyoruz.",[25,264,265,269,271],{},[45,266,268],{"href":267},"\u002Ftr\u002Fcodeserver-nedir-codeserver-nasil-kurulur","CodeServer Nedir? CodeServer Nasıl Kurulur?",[233,270],{},"\nBu yazıda geliştirme yaparken kullanacağımız CodeServer (Visual Studio IDE) kurulumunu gerçekleştiriyoruz.",[25,273,274,278,280],{},[45,275,277],{"href":276},"\u002Ftr\u002Fubuntu-20-04-composer-kurulumu","Ubuntu - Composer Kurulumu",[233,279],{},"\nFramework ve diğer PHP paketlerinin kurulumları için ihtiyacımız olacak Composer paket yöneticisini kuruyoruz.",[25,282,283,287,289],{},[45,284,286],{"href":285},"\u002Ftr\u002Fdocker-ile-mariadb-kurulumu","Docker ile MariaDB Kurulumu",[233,288],{},"\nBu devirde veritabanı olmayan backend olmaz; veri tabanımıza ev sahipliği yapacak MariaDB kurulumumuzu yapalım.",[25,291,292,296,298],{},[45,293,295],{"href":294},"\u002Ftr\u002Fdocker-ile-redis-kurulumu","Docker ile Redis Kurulumu",[233,297],{},"\nAğırlıklı olarak önbellekleme (caching) için kullanacağımız Redis sunucumuzun kurulumunu Docker ile saniyeler içinde gerçekleştirelim.",[25,300,301,305,307],{},[45,302,304],{"href":303},"\u002Ftr\u002Fdocker-ile-rabbitmq-kurulumu","Docker ile RabbitMQ Kurulumu",[233,306],{},"\nDocker ile sıra (Queue) yönetimi için kullanacağımız RabbitMQ sunucumuzu kuralım.",[309,310,312],"h5",{"id":311},"bu-yazıda-yapılan-değişiklikler","Bu Yazıda Yapılan Değişiklikler",[22,314,315,339],{},[25,316,317,318,322,323,326,327,322,330,326,332,322,335,338],{},"21.06.2026: Proje yol haritası dizinindeki imla ve yazım hataları (",[319,320,321],"code",{},"herşeyi"," -> ",[319,324,325],{},"her şeyi",", ",[319,328,329],{},"composer",[319,331,160],{},[319,333,334],{},"ide",[319,336,337],{},"IDE"," vb.) düzeltildi. Kelime düşüklükleri giderildi. Teknoloji stack tablosu ile özet paneli eklendi.",[25,340,341],{},"11.05.2022: Yazı özeti düzenlendi.",{"title":343,"searchDepth":344,"depth":344,"links":345},"",2,[346,348],{"id":59,"depth":347,"text":60},3,{"id":217,"depth":344,"text":218,"children":349},[350],{"id":221,"depth":347,"text":222},[352],"technical",null,"2021-02-16","Bu yazı, Full-Stack Proje Geliştiriyoruz başlıklı yazı dizisinin tüm adımlarını, kurulum rehberlerini ve dizin yapısını içermektedir.",false,"md","\u002Fimages\u002Fhero\u002Ffull-stack.avif",{},true,"\u002Ftr\u002Ffull-stack-proje-agaci",{"title":6,"description":355},"full-stack-proje-agaci","tr\u002Ffull-stack-proje-agaci",[366,367,368,369],"backend","devops","frontend","full-stack","2026-06-21","zlrxGqE1iUMwYnKTCi5yJf8cthvgzBA4fXB2BycTr5g",{"prev":373,"next":376,"others":378,"lucky":492,"readingTime":344},{"path":374,"title":375},"\u002Ftr\u002Flitespeed-web-server-performans-artisi","Konfor Alanından Çıkıp, Konforlu Bir VPS'e Geçmek: LiteSpeed Web Server",{"path":47,"title":377},"Full Stack Proje Geliştiriyoruz",[379,382,385,388,391,393,394,397,400,403,406,409,412,415,418,421,424,427,430,433,436,439,442,445,448,451,452,455,458,461,464,465,468,471,474,477,480,483,486,489],{"path":380,"title":381},"\u002Ftr\u002Fprogralama-ipucu-yoda-gosterimi","Yoda Koşulları (Yoda Conditions) Nedir? Programlama İpucu",{"path":383,"title":384},"\u002Ftr\u002Fbridge-tasarim-deseni-nedir","Bridge Tasarım Deseni Nedir?",{"path":386,"title":387},"\u002Ftr\u002Fmerhaba-gluster","Merhaba Gluster: Dağıtık Dosya Sistemi Nedir?",{"path":389,"title":390},"\u002Ftr\u002Frest-api-kimlik-dogrulama-nasil-yapilir","REST API Kimlik Doğrulama Nasıl Yapılır?",{"path":240,"title":392},"Root yetkisi olmayan kullanıcı, SSH bağlantısını, SSH anahtarı ile nasıl kurabilir?",{"path":285,"title":286},{"path":395,"title":396},"\u002Ftr\u002Fdocker-nedir","Docker Nedir?",{"path":398,"title":399},"\u002Ftr\u002Fvue-js-nedir","Vue.js Nedir? Yeni Başlayanlar İçin Rehber",{"path":401,"title":402},"\u002Ftr\u002Fdesign-patterns-tasarim-desenleri-nedir","Design Patterns \u002F Tasarım Desenleri nedir?",{"path":404,"title":405},"\u002Ftr\u002Fadapter-tasarim-deseni-nedir","Adapter Tasarım Deseni Nedir?",{"path":407,"title":408},"\u002Ftr\u002Fgraylog-nedir-docker-ile-nasil-kurulur","Graylog Nedir? Docker Compose ile Adım Adım Kurulum Rehberi",{"path":410,"title":411},"\u002Ftr\u002Ftailwind-css-just-in-time-modu","Tailwind CSS Just-in-Time (JIT) Modu Nedir?",{"path":413,"title":414},"\u002Ftr\u002Ftasarim-kaliplari-design-patterns-factory-method-nedir","Factory Method Tasarım Deseni Nedir?",{"path":416,"title":417},"\u002Ftr\u002Frest-api-dokumantasyonu-nasil-yapilir","REST Api Dokümantasyonu Nasıl Oluşturulur?",{"path":419,"title":420},"\u002Ftr\u002Frestful-api-bilesenleri","RESTful API Bileşenleri",{"path":422,"title":423},"\u002Ftr\u002Fgo-slice-veri-tipi","Go Veri Tipleri: Slice",{"path":425,"title":426},"\u002Ftr\u002Fwebpack-nedir","Webpack Nedir? Modern JavaScript Paketleyici Ekosistemi",{"path":428,"title":429},"\u002Ftr\u002Ftemplate-method-tasarim-deseni-nedir","Template Method Tasarım Deseni Nedir?",{"path":431,"title":432},"\u002Ftr\u002Fapi-gateway-nedir","API Gateway Nedir? Ne İşe Yarar?",{"path":434,"title":435},"\u002Ftr\u002Fmerhaba-tailwind-css","Merhaba Tailwind CSS",{"path":437,"title":438},"\u002Ftr\u002Fgarbage-collection-ve-golang","Garbage Collection ve Go (Golang)",{"path":440,"title":441},"\u002Ftr\u002Fubuntu-20-04-uzerinde-cyberpanel-kurulumu","Ubuntu 20.04 üzerinde CyberPanel kurulumu",{"path":443,"title":444},"\u002Ftr\u002Fdocker-swarm-nedir","Docker Swarm Nedir?",{"path":446,"title":447},"\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak","OpenLiteSpeed ve LiteSpeed Enterprise Sunucularını Reverse Proxy Olarak Kullanmak",{"path":449,"title":450},"\u002Ftr\u002Fnext-js-on-bellegi-nasil-yenilenir-on-demand-cache-regeneration","Next.js Önbelleği Nasıl Yenilenir? \"On-Demand Cache Regeneration\"",{"path":249,"title":250},{"path":453,"title":454},"\u002Ftr\u002Fstrategy-tasarim-deseni-nedir","Strategy Tasarım Deseni Nedir?",{"path":456,"title":457},"\u002Ftr\u002Fmerhabadunya","Merhaba Dünya",{"path":459,"title":460},"\u002Ftr\u002Fubuntu-guncellemesi-sonrasi-cyberpanele-ulasilamama-sorunlarini-giderme","Ubuntu Güncellemesi Sonrası CyberPanel'e Ulaşılamama Sorunlarını Giderme",{"path":462,"title":463},"\u002Ftr\u002Fearly-return-erken-donus-nedir","Early Return \u002F Erken Dönüş nedir?",{"path":303,"title":304},{"path":466,"title":467},"\u002Ftr\u002Fgo-veri-tipleri-string-integer-float-complex-boolean-ve-array","Go Veri Tipleri - String, Integer, Float, Complex, Boolean ve Array",{"path":469,"title":470},"\u002Ftr\u002Frestapi-ve-hateoas-kavrami","RestApi ve HATEOAS Kavramı",{"path":472,"title":473},"\u002Ftr\u002Fvisitor-tasarim-deseni-nedir","Visitor Tasarım Deseni Nedir?",{"path":475,"title":476},"\u002Ftr\u002Fes10-nedir-ecmascript-2019-nedir","ES10 Nedir? ECMAScript 2019 Nedir?",{"path":478,"title":479},"\u002Ftr\u002Fbuilder-tasarim-deseni-nedir","Builder Tasarım Deseni Nedir?",{"path":481,"title":482},"\u002Ftr\u002Fself-hosted-api-gateway-nasil-kurulur-kapsamli-rehber","Self-Hosted API Gateway Nasıl Kurulur? Kapsamlı Rehber",{"path":484,"title":485},"\u002Ftr\u002Fes8-nedir-ecmascript-2017-nedir","ES8 Nedir? ECMAScript 2017 Nedir?",{"path":487,"title":488},"\u002Ftr\u002Fwordpress-yonetici-sifresini-wp-cli-kullanarak-sifirlama","WordPress Yönetici Şifresini WP-CLI Kullanarak Sıfırlama",{"path":490,"title":491},"\u002Ftr\u002Fgoda-iota-nedir-iota-ne-zaman-ve-nerede-kullanilir","Go'da iota Nedir? iota Ne Zaman ve Nerede Kullanılır?",{"path":230,"title":493},"DigitalOcean'da VPS (Droplet) Kurulumu: Adım Adım Rehber",[495,497,499,502],{"path":294,"title":295,"date":496},"2021-03-09",{"path":285,"title":286,"date":498},"2021-03-01",{"path":267,"title":500,"date":501},"Code-Server Nedir? Bulutta VS Code Geliştirme Ortamı Kurulumu","2021-02-21",{"path":249,"title":250,"date":501},[504,508,512],{"path":505,"title":506,"date":507},"\u002Ftr\u002Fnostalji-ibibik-online","Nostalji: İbibik Online (1998'den Bir Web Macerası)","2021-02-15",{"path":509,"title":510,"date":511},"\u002Ftr\u002Fwindows-10-golang-kurulumu","Windows 10 ve 11'de Golang Kurulumu ve GOPATH Yapılandırması","2021-09-28",{"path":513,"title":514,"date":515},"\u002Ftr\u002Faws-ec2-uzerinde-docker-ve-full-stack-web-performansi","AWS EC2 Üzerinde Docker ve Full Stack Web Performansı","2021-02-01",1782142073141]