{"id":35795,"date":"2025-12-03T23:40:54","date_gmt":"2025-12-03T20:40:54","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35795"},"modified":"2025-12-03T23:40:54","modified_gmt":"2025-12-03T20:40:54","slug":"chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/","title":{"rendered":"Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen ve geni\u015fleyen bili\u015fim altyap\u0131lar\u0131nda, sunucu y\u00f6netimi ve konfig\u00fcrasyonu giderek daha karma\u015f\u0131k ve zaman al\u0131c\u0131 hale gelmektedir. Manuel i\u015flemler, insan hatas\u0131na a\u00e7\u0131k olman\u0131n yan\u0131 s\u0131ra \u00f6l\u00e7eklenebilirlik konusunda da ciddi k\u0131s\u0131tlamalar getirmektedir. Bu noktada, &#8220;altyap\u0131y\u0131 kod olarak&#8221; (Infrastructure as Code &#8211; IaC) tan\u0131mlama felsefesiyle \u00e7al\u0131\u015fan otomasyon ara\u00e7lar\u0131 devreye girer. Chef, bu alanda \u00f6nde gelen ve g\u00fc\u00e7l\u00fc \u00e7\u00f6z\u00fcmlerden biridir. Chef sayesinde, sunucular\u0131n\u0131z\u0131n kurulumunu, yap\u0131land\u0131rmas\u0131n\u0131 ve y\u00f6netimini programatik olarak tan\u0131mlayabilir, tutarl\u0131l\u0131\u011f\u0131 sa\u011flayabilir ve operasyonel verimlili\u011fi art\u0131rabilirsiniz.<\/p>\n<p>Bu kapsaml\u0131 teknik makale, Chef ekosisteminin temel bile\u015fenleri olan Chef Server, Chef Workstation ve Chef Client&#8217;\u0131n (Node) Ubuntu tabanl\u0131 Sanal \u00d6zel Sunucu (VPS) \u00f6rnekleri \u00fczerine nas\u0131l kurulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Her bir bile\u015fenin rol\u00fcn\u00fc, kurulum s\u00fcre\u00e7lerini ve birbirleriyle nas\u0131l etkile\u015fim kurduklar\u0131n\u0131 detayland\u0131rarak, okuyucular\u0131n kendi Chef ortamlar\u0131n\u0131 ba\u015far\u0131yla kurmalar\u0131na olanak tan\u0131may\u0131 hedefliyoruz. \u0130ster k\u00fc\u00e7\u00fck bir proje ister b\u00fcy\u00fck bir kurumsal altyap\u0131 y\u00f6netiyor olun, Chef&#8217;in sundu\u011fu otomasyon yetenekleri, BT operasyonlar\u0131n\u0131z\u0131 d\u00f6n\u00fc\u015ft\u00fcrme potansiyeline sahiptir.<\/p>\n<h3>Chef Nedir?<\/h3>\n<p>Chef, altyap\u0131 otomasyonu i\u00e7in tasarlanm\u0131\u015f g\u00fc\u00e7l\u00fc bir platformdur. Ruby tabanl\u0131 bir DSL (Domain Specific Language) kullanarak sunucular\u0131n nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131, hangi paketlerin kurulaca\u011f\u0131n\u0131, hangi servislerin \u00e7al\u0131\u015faca\u011f\u0131n\u0131 ve hangi dosyalar\u0131n bulunmas\u0131 gerekti\u011fini tan\u0131mlaman\u0131za olanak tan\u0131r. Bu tan\u0131mlamalar &#8220;cookbook&#8221; ad\u0131 verilen yap\u0131ta\u015flar\u0131 i\u00e7inde organize edilir. Bir cookbook, bir veya daha fazla &#8220;tarif&#8221; (recipe) i\u00e7erir ve her tarif, belirli bir g\u00f6revi yerine getiren bir dizi &#8220;kaynak&#8221; (resource) tan\u0131mlar (\u00f6rne\u011fin, bir paketi kurmak, bir servisi ba\u015flatmak, bir dosyay\u0131 olu\u015fturmak).<\/p>\n<p>Chef ekosistemi \u00fc\u00e7 ana bile\u015fenden olu\u015fur:<\/p>\n<p>*   <strong>Chef Server:<\/strong> T\u00fcm konfig\u00fcrasyon verilerini (cookbook&#8217;lar, node bilgileri, policy&#8217;ler, rol tan\u0131mlar\u0131 vb.) depolayan merkezi bir depodur. Chef Client&#8217;lar, konfig\u00fcrasyonlar\u0131n\u0131 almak i\u00e7in Chef Server ile ileti\u015fim kurar.<br \/>\n*   <strong>Chef Workstation:<\/strong> Geli\u015ftiricilerin veya sistem y\u00f6neticilerinin cookbook&#8217;lar\u0131 olu\u015fturdu\u011fu, d\u00fczenledi\u011fi, test etti\u011fi ve Chef Server&#8217;a y\u00fckledi\u011fi makinedir. Knife, Chef Workstation&#8217;\u0131n temel komut sat\u0131r\u0131 arac\u0131d\u0131r ve Chef Server ile etkile\u015fimi sa\u011flar.<br \/>\n*   <strong>Chef Client (Node):<\/strong> Chef Server&#8217;dan konfig\u00fcrasyon bilgilerini alan ve bu bilgileri kendi \u00fczerinde uygulayan sunucudur. Her y\u00f6netilen sunucu bir &#8220;node&#8221; olarak kabul edilir ve \u00fczerinde <code>chef-client<\/code> yaz\u0131l\u0131m\u0131 \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>Bu \u00fc\u00e7 bile\u015fen birlikte \u00e7al\u0131\u015farak, altyap\u0131n\u0131z\u0131nDesired State Configuration (\u0130stenen Durum Yap\u0131land\u0131rmas\u0131) prensibine g\u00f6re y\u00f6netilmesini sa\u011flar. Yani, sunucular\u0131n\u0131z\u0131n her zaman belirli bir istenen durumda kalmas\u0131n\u0131 garanti eder.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu kurulum rehberine ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olunuz:<\/p>\n<p>*   <strong>Ubuntu VPS \u00d6rnekleri:<\/strong> En az \u00fc\u00e7 adet Ubuntu 20.04 LTS veya 22.04 LTS tabanl\u0131 VPS \u00f6rne\u011fine ihtiyac\u0131n\u0131z olacakt\u0131r. Bu \u00f6rnekler s\u0131ras\u0131yla Chef Server, Chef Workstation ve Chef Client (Node) olarak kullan\u0131lacakt\u0131r. Her bir VPS i\u00e7in minimum 2 GB RAM ve 2 CPU \u00f6nerilir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Her bir VPS \u00f6rne\u011fine SSH \u00fczerinden eri\u015fiminizin olmas\u0131 gerekmektedir.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in her VPS \u00fczerinde <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131ya ihtiyac\u0131n\u0131z olacakt\u0131r.<br \/>\n*   <strong>Statik IP Adresleri veya DNS \u0130simleri:<\/strong> VPS&#8217;lerinizin birbirleriyle ileti\u015fim kurabilmesi i\u00e7in statik IP adresleri veya \u00e7\u00f6z\u00fcmlenebilir DNS isimleri olmas\u0131 \u00f6nemlidir. Bu makalede IP adresleri kullan\u0131lacakt\u0131r, ancak DNS isimleri daha iyi bir uygulamad\u0131r.<br \/>\n    *   <strong>Chef Server IP:<\/strong> <code>192.168.1.10<\/code> (\u00f6rnek)<br \/>\n    *   <strong>Chef Workstation IP:<\/strong> <code>192.168.1.20<\/code> (\u00f6rnek)<br \/>\n    *   <strong>Chef Client (Node) IP:<\/strong> <code>192.168.1.30<\/code> (\u00f6rnek)<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131:<\/strong> VPS&#8217;leriniz aras\u0131nda gerekli portlar\u0131n a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n    *   <strong>Chef Server:<\/strong><br \/>\n        *   <code>443<\/code> (HTTPS) &#8211; Workstation ve Client&#8217;lardan gelen ba\u011flant\u0131lar i\u00e7in.<br \/>\n        *   <code>22<\/code> (SSH) &#8211; Y\u00f6netim eri\u015fimi i\u00e7in.<br \/>\n    *   <strong>Chef Workstation:<\/strong><br \/>\n        *   <code>22<\/code> (SSH) &#8211; Sunuculara eri\u015fim i\u00e7in.<br \/>\n    *   <strong>Chef Client (Node):<\/strong><br \/>\n        *   <code>22<\/code> (SSH) &#8211; Workstation&#8217;dan bootstrap i\u015flemi i\u00e7in.<br \/>\n        *   <code>443<\/code> (HTTPS) &#8211; Chef Server ile ileti\u015fim i\u00e7in (\u00e7\u0131k\u0131\u015f).<\/p>\n<p>Her VPS&#8217;in g\u00fcncel oldu\u011fundan emin olmak i\u00e7in kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h3>Chef Server Kurulumu<\/h3>\n<p>Chef Server, t\u00fcm konfig\u00fcrasyon verilerini depolayan ve Chef Client&#8217;lar i\u00e7in merkezi bir referans noktas\u0131 g\u00f6revi g\u00f6ren ana bile\u015fendir.<\/p>\n<h4>Ad\u0131m 1: Ubuntu VPS&#8217;i Haz\u0131rlama (Chef Server \u0130\u00e7in)<\/h4>\n<p>Chef Server olarak kullanaca\u011f\u0131n\u0131z VPS&#8217;e SSH ile ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/p>\n<p>1.  <strong>Hostname Ayar\u0131:<\/strong> Chef Server&#8217;\u0131n a\u011fda do\u011fru \u015fekilde tan\u0131mlanmas\u0131 \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo hostnamectl set-hostname chef-server\n    echo \"192.168.1.10 chef-server\" | sudo tee -a \/etc\/hosts # Kendi IP adresinizle de\u011fi\u015ftirin<\/code><\/pre>\n<p>    VPS&#8217;i yeniden ba\u015flatmak iyi bir uygulama olabilir: <code>sudo reboot<\/code><br \/>\n2.  <strong>Gerekli Paketleri Kurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install curl wget -y<\/code><\/pre>\n<h4>Ad\u0131m 2: Chef Server Paketini \u0130ndirme ve Kurma<\/h4>\n<p>Chef Server paketini Chef&#8217;in resmi indirme sayfas\u0131ndan veya do\u011frudan komut sat\u0131r\u0131ndan indirebilirsiniz. En g\u00fcncel s\u00fcr\u00fcm\u00fc edinmek i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<p>1.  <strong>Paketi \u0130ndirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">wget https:\/\/packages.chef.io\/files\/stable\/chef-server\/15.2.7\/ubuntu\/20.04\/chef-server-core_15.2.7-1_amd64.deb # S\u00fcr\u00fcm\u00fc kontrol edin ve g\u00fcncelleyin<\/code><\/pre>\n<p>    <em>Not: Yukar\u0131daki URL ve s\u00fcr\u00fcm numaras\u0131 zamanla de\u011fi\u015febilir. En g\u00fcncel s\u00fcr\u00fcm\u00fc bulmak i\u00e7in [Chef Downloads](https:\/\/downloads.chef.io\/chef-server\/) sayfas\u0131n\u0131 kontrol edebilirsiniz.<\/em><br \/>\n2.  <strong>Paketi Kurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo dpkg -i chef-server-core_*.deb<\/code><\/pre>\n<p>    Bu komut, Chef Server \u00e7ekirdek paketini kuracakt\u0131r. Kurulum s\u0131ras\u0131nda eksik ba\u011f\u0131ml\u0131l\u0131klar olursa, a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak bunlar\u0131 d\u00fczeltebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt --fix-broken install<\/code><\/pre>\n<h4>Ad\u0131m 3: Chef Server&#8217;\u0131 Yap\u0131land\u0131rma ve Ba\u015flatma<\/h4>\n<p>Kurulum tamamland\u0131ktan sonra, Chef Server&#8217;\u0131n ilk yap\u0131land\u0131rmas\u0131n\u0131 yapman\u0131z gerekir. Bu i\u015flem, gerekli servisleri kurar, veritaban\u0131n\u0131 ba\u015flat\u0131r ve temel ayarlar\u0131 yapar.<\/p>\n<p>1.  <strong>Chef Server&#8217;\u0131 Yeniden Yap\u0131land\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-server-ctl reconfigure<\/code><\/pre>\n<p>    Bu i\u015flem biraz zaman alabilir (5-15 dakika). Tamamland\u0131\u011f\u0131nda, Chef Server&#8217;\u0131n t\u00fcm bile\u015fenleri \u00e7al\u0131\u015f\u0131r durumda olacakt\u0131r.<br \/>\n2.  <strong>Chef Server Durumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-server-ctl status<\/code><\/pre>\n<p>    T\u00fcm servislerin <code>ok: run<\/code> durumunda oldu\u011funu g\u00f6rmelisiniz.<\/p>\n<h4>Ad\u0131m 4: Y\u00f6netici Kullan\u0131c\u0131 ve Organizasyon Olu\u015fturma<\/h4>\n<p>Chef Server ile etkile\u015fim kurabilmek i\u00e7in bir y\u00f6netici kullan\u0131c\u0131 ve en az bir organizasyon olu\u015fturman\u0131z gerekir. Organizasyonlar, Chef kaynaklar\u0131n\u0131 mant\u0131ksal olarak grupland\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>1.  <strong>Y\u00f6netici Kullan\u0131c\u0131 Olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-server-ctl user create admin username \"Admin User\" admin@example.com 'your_secure_password' --filename \/home\/ubuntu\/admin.pem<\/code><\/pre>\n<p>    *   <code>admin<\/code>: Kullan\u0131c\u0131 ad\u0131 (istedi\u011finiz gibi de\u011fi\u015ftirebilirsiniz)<br \/>\n    *   <code>username<\/code>: Kullan\u0131c\u0131n\u0131n tam ad\u0131<br \/>\n    *   <code>admin@example.com<\/code>: E-posta adresi<br \/>\n    *   <code>your_secure_password<\/code>: G\u00fc\u00e7l\u00fc bir \u015fifre belirleyin<br \/>\n    *   <code>\/home\/ubuntu\/admin.pem<\/code>: Bu dosya, kullan\u0131c\u0131n\u0131n Chef Server ile kimlik do\u011frulamas\u0131 i\u00e7in kullan\u0131lacak \u00f6zel anahtar\u0131 i\u00e7erir. Bu dosyay\u0131 g\u00fcvende tutun!<br \/>\n2.  <strong>Organizasyon Olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-server-ctl org create mycompany \"My Company\" --association_user admin --filename \/home\/ubuntu\/mycompany-validator.pem<\/code><\/pre>\n<p>    *   <code>mycompany<\/code>: Organizasyon k\u0131sa ad\u0131 (istedi\u011finiz gibi de\u011fi\u015ftirebilirsiniz)<br \/>\n    *   <code>My Company<\/code>: Organizasyon tam ad\u0131<br \/>\n    *   <code>--association_user admin<\/code>: Olu\u015fturdu\u011fumuz <code>admin<\/code> kullan\u0131c\u0131s\u0131n\u0131 bu organizasyona ba\u011flar.<br \/>\n    *   <code>\/home\/ubuntu\/mycompany-validator.pem<\/code>: Bu dosya, yeni Chef Client&#8217;lar\u0131n bu organizasyona kat\u0131lmak i\u00e7in kullanaca\u011f\u0131 do\u011frulay\u0131c\u0131 anahtar\u0131 i\u00e7erir. Bu dosyay\u0131 da g\u00fcvende tutun!<\/p>\n<h4>Ad\u0131m 5: Chef Starter Kit&#8217;i \u0130ndirme<\/h4>\n<p>Chef Starter Kit, Chef Workstation&#8217;\u0131n\u0131zdan Chef Server ile etkile\u015fim kurmak i\u00e7in gerekli t\u00fcm yap\u0131land\u0131rma dosyalar\u0131n\u0131 (\u00f6zellikle <code>.pem<\/code> anahtarlar\u0131 ve <code>knife.rb<\/code> yap\u0131land\u0131rmas\u0131) i\u00e7eren bir ZIP dosyas\u0131d\u0131r.<\/p>\n<p>1.  <strong>Starter Kit&#8217;i \u0130ndirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-server-ctl org show mycompany --with-starter --filename \/home\/ubuntu\/chef-starter.zip<\/code><\/pre>\n<p>    Bu komut, <code>\/home\/ubuntu\/chef-starter.zip<\/code> ad\u0131nda bir dosya olu\u015fturacakt\u0131r. Bu dosyay\u0131 Workstation&#8217;a aktarman\u0131z gerekecek.<\/p>\n<h3>Chef Workstation Kurulumu<\/h3>\n<p>Chef Workstation, cookbook&#8217;lar\u0131n\u0131z\u0131 olu\u015fturdu\u011funuz, d\u00fczenledi\u011finiz ve Chef Server&#8217;a y\u00fckledi\u011finiz geli\u015ftirme ortam\u0131d\u0131r. <code>knife<\/code> komut sat\u0131r\u0131 arac\u0131, Workstation&#8217;dan Chef Server ile etkile\u015fimin temelini olu\u015fturur.<\/p>\n<h4>Ad\u0131m 1: Ubuntu VPS&#8217;i Haz\u0131rlama (Chef Workstation \u0130\u00e7in)<\/h4>\n<p>Chef Workstation olarak kullanaca\u011f\u0131n\u0131z VPS&#8217;e SSH ile ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/p>\n<p>1.  <strong>Hostname Ayar\u0131:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo hostnamectl set-hostname chef-workstation\n    echo \"192.168.1.10 chef-server\" | sudo tee -a \/etc\/hosts # Chef Server IP'sini ekleyin\n    echo \"192.168.1.20 chef-workstation\" | sudo tee -a \/etc\/hosts # Kendi IP adresinizle de\u011fi\u015ftirin<\/code><\/pre>\n<p>    VPS&#8217;i yeniden ba\u015flatmak iyi bir uygulama olabilir: <code>sudo reboot<\/code><br \/>\n2.  <strong>Gerekli Paketleri Kurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install curl wget unzip -y<\/code><\/pre>\n<h4>Ad\u0131m 2: Chef Workstation Paketini \u0130ndirme ve Kurma<\/h4>\n<p>Chef Workstation paketi, <code>knife<\/code> dahil olmak \u00fczere Chef ile \u00e7al\u0131\u015fmak i\u00e7in gerekli t\u00fcm ara\u00e7lar\u0131 i\u00e7erir.<\/p>\n<p>1.  <strong>Paketi \u0130ndirme ve Kurma (\u00d6nerilen Y\u00f6ntem):<\/strong><br \/>\n    Chef Workstation&#8217;\u0131 kurmak i\u00e7in en kolay yol, Chef&#8217;in sa\u011flad\u0131\u011f\u0131 kurulum beti\u011fini kullanmakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">curl -L https:\/\/omnitruck.chef.io\/install.sh | sudo bash -s -- -P chef-workstation<\/code><\/pre>\n<p>    Bu komut, en g\u00fcncel Chef Workstation paketini otomatik olarak indirip kuracakt\u0131r. Alternatif olarak, <code>wget<\/code> ile <code>.deb<\/code> dosyas\u0131n\u0131 indirip <code>dpkg -i<\/code> ile kurabilirsiniz, t\u0131pk\u0131 Chef Server&#8217;da yapt\u0131\u011f\u0131m\u0131z gibi.<br \/>\n2.  <strong>Kurulumu Do\u011frulama:<\/strong><\/p>\n<pre><code class=\"language-bash\">chef --version\n    knife --version<\/code><\/pre>\n<p>    Bu komutlar, Chef Workstation ve Knife&#8217;\u0131n ba\u015far\u0131yla kuruldu\u011funu ve s\u00fcr\u00fcmlerini g\u00f6stermelidir.<\/p>\n<h4>Ad\u0131m 3: Chef Starter Kit&#8217;i Workstation&#8217;a Aktarma ve Yap\u0131land\u0131rma<\/h4>\n<p>Chef Server&#8217;da olu\u015fturdu\u011funuz <code>chef-starter.zip<\/code> dosyas\u0131n\u0131 Workstation&#8217;a aktarman\u0131z ve do\u011fru yere yerle\u015ftirmeniz gerekmektedir.<\/p>\n<p>1.  <strong>Starter Kit&#8217;i Workstation&#8217;a Aktarma:<\/strong><br \/>\n    Workstation&#8217;dan Chef Server&#8217;a SSH ile ba\u011flanarak <code>scp<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\"># Workstation \u00fczerinde\n    scp ubuntu@192.168.1.10:\/home\/ubuntu\/chef-starter.zip .<\/code><\/pre>\n<p>    *   <code>ubuntu@192.168.1.10<\/code>: Chef Server&#8217;\u0131n kullan\u0131c\u0131 ad\u0131 ve IP adresi.<br \/>\n    *   <code>.<\/code>: Dosyan\u0131n mevcut dizine kopyalanmas\u0131n\u0131 sa\u011flar.<br \/>\n2.  <strong>Starter Kit&#8217;i \u00c7\u0131karma ve Yerle\u015ftirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">unzip chef-starter.zip<\/code><\/pre>\n<p>    Bu komut, <code>chef-repo<\/code> ad\u0131nda bir dizin olu\u015fturacakt\u0131r. Bu dizinin i\u00e7inde <code>.chef<\/code> ad\u0131nda bir alt dizin bulunur. Bu <code>.chef<\/code> dizini, <code>knife.rb<\/code> yap\u0131land\u0131rma dosyas\u0131n\u0131 ve <code>.pem<\/code> anahtarlar\u0131n\u0131 i\u00e7erir.<br \/>\n    Knife&#8217;\u0131n bu yap\u0131land\u0131rmay\u0131 bulabilmesi i\u00e7in, <code>.chef<\/code> dizininin genellikle kullan\u0131c\u0131n\u0131n ana dizininde (<code>~<\/code>) veya \u00e7al\u0131\u015f\u0131lan projenin k\u00f6k dizininde olmas\u0131 beklenir. En yayg\u0131n y\u00f6ntem, <code>chef-repo<\/code> dizinini kullan\u0131c\u0131 ana dizinine ta\u015f\u0131makt\u0131r.<\/p>\n<pre><code class=\"language-bash\">mv chef-repo ~\/\n    cd ~\/chef-repo<\/code><\/pre>\n<p>    \u015eimdi <code>knife<\/code> komutlar\u0131n\u0131 <code>~\/chef-repo<\/code> dizini i\u00e7inde \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h4>Ad\u0131m 4: Knife Yap\u0131land\u0131rmas\u0131n\u0131 Do\u011frulama<\/h4>\n<p>Art\u0131k Workstation&#8217;\u0131n\u0131z Chef Server ile ileti\u015fim kurmaya haz\u0131r olmal\u0131d\u0131r.<\/p>\n<p>1.  <strong>SSL Sertifikalar\u0131n\u0131 Getirme:<\/strong><br \/>\n    Chef Server&#8217;\u0131n kendi kendine imzal\u0131 (self-signed) SSL sertifikas\u0131 olabilir. <code>knife<\/code>&#8216;\u0131n bu sertifikaya g\u00fcvenmesini sa\u011flamak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">knife ssl fetch<\/code><\/pre>\n<p>    E\u011fer ba\u015far\u0131l\u0131 olursa, &#8220;Certificates for chef-server (192.168.1.10) added to the trusted_certs directory.&#8221; gibi bir mesaj g\u00f6rmelisiniz.<br \/>\n2.  <strong>Ba\u011flant\u0131y\u0131 Test Etme:<\/strong><br \/>\n    Chef Server&#8217;daki kullan\u0131c\u0131lar\u0131 ve istemcileri listeleyerek ba\u011flant\u0131y\u0131 test edin:<\/p>\n<pre><code class=\"language-bash\">knife client list\n    knife user list<\/code><\/pre>\n<p>    Bu komutlar, <code>mycompany-validator<\/code> istemcisini ve <code>admin<\/code> kullan\u0131c\u0131s\u0131n\u0131 listelemelidir. E\u011fer bu listeleri g\u00f6rebiliyorsan\u0131z, Workstation&#8217;\u0131n\u0131z Chef Server ile ba\u015far\u0131yla ileti\u015fim kuruyor demektir.<\/p>\n<h3>Chef Client (Node) Kurulumu ve Bootstrap<\/h3>\n<p>Chef Client (Node), Chef Server&#8217;dan konfig\u00fcrasyon bilgilerini alan ve bu bilgileri kendi \u00fczerinde uygulayan sunucudur. Bir node&#8217;u Chef y\u00f6netimine dahil etme i\u015flemine &#8220;bootstrap&#8221; denir.<\/p>\n<h4>Ad\u0131m 1: Ubuntu VPS&#8217;i Haz\u0131rlama (Chef Client \u0130\u00e7in)<\/h4>\n<p>Chef Client olarak kullanaca\u011f\u0131n\u0131z VPS&#8217;e SSH ile ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n:<\/p>\n<p>1.  <strong>Hostname Ayar\u0131:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo hostnamectl set-hostname web-node-1\n    echo \"192.168.1.10 chef-server\" | sudo tee -a \/etc\/hosts # Chef Server IP'sini ekleyin\n    echo \"192.168.1.30 web-node-1\" | sudo tee -a \/etc\/hosts # Kendi IP adresinizle de\u011fi\u015ftirin<\/code><\/pre>\n<p>    VPS&#8217;i yeniden ba\u015flatmak iyi bir uygulama olabilir: <code>sudo reboot<\/code><br \/>\n2.  <strong>Gerekli Paketleri Kurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install curl -y<\/code><\/pre>\n<p>3.  <strong>SSH Anahtar Tabanl\u0131 Eri\u015fim:<\/strong> <code>knife bootstrap<\/code> komutunun sorunsuz \u00e7al\u0131\u015fmas\u0131 i\u00e7in Workstation&#8217;dan Node&#8217;a \u015fifresiz SSH eri\u015fimi olmas\u0131 \u00f6nerilir. E\u011fer \u015fifre tabanl\u0131 SSH kullan\u0131yorsan\u0131z, <code>knife bootstrap<\/code> komutunda <code>-P<\/code> (password) se\u00e7ene\u011fini kullanman\u0131z gerekecektir.<\/p>\n<p>    *   <strong>Workstation&#8217;dan Node&#8217;a SSH anahtar\u0131 kopyalama (iste\u011fe ba\u011fl\u0131 ama \u00f6nerilir):<\/strong><\/p>\n<pre><code class=\"language-bash\"># Workstation \u00fczerinde\n        ssh-copy-id ubuntu@192.168.1.30 # Kendi kullan\u0131c\u0131 ad\u0131n\u0131z ve Node IP'nizle de\u011fi\u015ftirin<\/code><\/pre>\n<p>        Bu komut, Workstation&#8217;\u0131n\u0131zdaki SSH genel anahtar\u0131n\u0131 Node&#8217;a kopyalar ve \u015fifresiz eri\u015fim sa\u011flar.<\/p>\n<h4>Ad\u0131m 2: Node&#8217;u Bootstrap Etme<\/h4>\n<p>Workstation&#8217;dan <code>knife bootstrap<\/code> komutunu kullanarak Chef Client&#8217;\u0131 Node \u00fczerine kuracak ve Chef Server ile ileti\u015fim kuracak \u015fekilde yap\u0131land\u0131racaks\u0131n\u0131z. Bu komut, hedef sunucuya SSH \u00fczerinden ba\u011flan\u0131r, Chef Client paketini kurar, Chef Server ile ileti\u015fim i\u00e7in gerekli yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015fturur ve ilk <code>chef-client<\/code> \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 yapar.<\/p>\n<p>1.  <strong>Workstation&#8217;da <code>chef-repo<\/code> dizinine gidin:<\/strong><\/p>\n<pre><code class=\"language-bash\">cd ~\/chef-repo<\/code><\/pre>\n<p>2.  <strong>Node&#8217;u Bootstrap Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">knife bootstrap 192.168.1.30 --ssh-user ubuntu --sudo --node-name web-node-1 --run-list 'recipe[apt]'<\/code><\/pre>\n<p>    *   <code>192.168.1.30<\/code>: Chef Client olarak kullan\u0131lacak Node&#8217;un IP adresi.<br \/>\n    *   <code>--ssh-user ubuntu<\/code>: SSH ba\u011flant\u0131s\u0131 i\u00e7in kullan\u0131lacak kullan\u0131c\u0131 ad\u0131.<br \/>\n    *   <code>--sudo<\/code>: Chef Client&#8217;\u0131n kurulumu ve \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>sudo<\/code> yetkilerini kullanmas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>--node-name web-node-1<\/code>: Bu node i\u00e7in Chef Server&#8217;da olu\u015fturulacak isim.<br \/>\n    *   <code>--run-list 'recipe[apt]'<\/code>: \u0130lk \u00e7al\u0131\u015ft\u0131rmada <code>apt<\/code> cookbook&#8217;unun <code>default<\/code> tarifini uygular. Bu, node&#8217;un paket listesini g\u00fcncelleyerek di\u011fer kurulumlar i\u00e7in zemin haz\u0131rlar.<\/p>\n<p>    E\u011fer SSH anahtar\u0131 kullanm\u0131yorsan\u0131z ve \u015fifre ile ba\u011flan\u0131yorsan\u0131z, <code>--ssh-password 'your_node_password'<\/code> veya <code>-P 'your_node_password'<\/code> se\u00e7ene\u011fini kullanman\u0131z gerekecektir. Ancak bu y\u00f6ntem g\u00fcvenlik a\u00e7\u0131s\u0131ndan tavsiye edilmez.<\/p>\n<p>3.  <strong>Bootstrap \u0130\u015flemini Do\u011frulama:<\/strong><br \/>\n    Bootstrap i\u015flemi tamamland\u0131ktan sonra, Workstation&#8217;dan Chef Server&#8217;daki node&#8217;lar\u0131 listeleyin:<\/p>\n<pre><code class=\"language-bash\">knife node list<\/code><\/pre>\n<p>    <code>web-node-1<\/code> node&#8217;unu listede g\u00f6rmelisiniz. Ayr\u0131ca, <code>knife client list<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda <code>web-node-1<\/code> adl\u0131 bir client&#8217;\u0131n da olu\u015ftu\u011funu g\u00f6receksiniz.<\/p>\n<h4>Ad\u0131m 3: Chef Client&#8217;\u0131n \u00c7al\u0131\u015fmas\u0131n\u0131 Do\u011frulama<\/h4>\n<p>Node \u00fczerinde Chef Client&#8217;\u0131n manuel olarak \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz.<\/p>\n<p>1.  <strong>Node&#8217;a SSH ile Ba\u011flan\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh ubuntu@192.168.1.30<\/code><\/pre>\n<p>2.  <strong>Chef Client&#8217;\u0131 \u00c7al\u0131\u015ft\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-client<\/code><\/pre>\n<p>    Bu komut, Chef Server ile ileti\u015fim kuracak, node&#8217;un run list&#8217;indeki tarifleri uygulayacak ve \u00e7al\u0131\u015ft\u0131rma \u00f6zetini g\u00f6sterecektir. Herhangi bir hata g\u00f6rmemeniz ve \u00e7al\u0131\u015ft\u0131rman\u0131n ba\u015far\u0131yla tamamland\u0131\u011f\u0131n\u0131 belirten bir \u00e7\u0131kt\u0131 alman\u0131z gerekir.<\/p>\n<h3>Temel Chef Kullan\u0131m\u0131 ve Do\u011frulama<\/h3>\n<p>\u015eimdi Chef ortam\u0131n\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in basit bir web sunucusu (Nginx) kuran bir cookbook olu\u015ftural\u0131m ve bunu node&#8217;umuza uygulayal\u0131m.<\/p>\n<h4>Ad\u0131m 1: Bir Cookbook Olu\u015fturma (Workstation \u00dczerinde)<\/h4>\n<p>Workstation&#8217;da <code>chef-repo<\/code> dizininde oldu\u011funuzdan emin olun.<\/p>\n<p>1.  <strong>Cookbook Olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">cd ~\/chef-repo\/cookbooks\n    chef generate cookbook my_webserver<\/code><\/pre>\n<p>    Bu komut, <code>my_webserver<\/code> ad\u0131nda yeni bir cookbook dizini ve temel dosyalar\u0131n\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>Ad\u0131m 2: Basit Bir Tarif Yazma (Nginx Kurulumu)<\/h4>\n<p><code>my_webserver<\/code> cookbook&#8217;unun <code>recipes\/default.rb<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek Nginx&#8217;i kuracak ve ba\u015flatacak kaynaklar\u0131 tan\u0131mlayal\u0131m.<\/p>\n<p>1.  <strong>Tarif Dosyas\u0131n\u0131 D\u00fczenleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">nano ~\/chef-repo\/cookbooks\/my_webserver\/recipes\/default.rb<\/code><\/pre>\n<p>2.  <strong>A\u015fa\u011f\u0131daki \u0130\u00e7eri\u011fi Ekleyin:<\/strong><\/p>\n<pre><code class=\"language-ruby\"># default.rb\n    # Nginx paketini kur\n    package 'nginx' do\n      action :install\n    end\n\n    # Nginx servisini ba\u015flat ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik ba\u015flamas\u0131n\u0131 sa\u011fla\n    service 'nginx' do\n      action [:enable, :start]\n    end\n\n    # Basit bir index.html dosyas\u0131 olu\u015ftur\n    file '\/var\/www\/html\/index.html' do\n      content ''\n      mode '0644'\n      owner 'www-data'\n      group 'www-data'\n    end<\/code><\/pre>\n<p>    Kaydedip \u00e7\u0131k\u0131n (Ctrl+X, Y, Enter).<\/p>\n<h4>Ad\u0131m 3: Cookbook&#8217;u Server&#8217;a Y\u00fckleme<\/h4>\n<p>Olu\u015fturdu\u011funuz cookbook&#8217;u Chef Server&#8217;a y\u00fcklemeniz gerekir ki node&#8217;lar bu tarifi kullanabilsin.<\/p>\n<p>1.  <strong>Workstation&#8217;da <code>chef-repo<\/code> dizininde oldu\u011funuzdan emin olun:<\/strong><\/p>\n<pre><code class=\"language-bash\">cd ~\/chef-repo<\/code><\/pre>\n<p>2.  <strong>Cookbook&#8217;u Y\u00fckleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">knife cookbook upload my_webserver<\/code><\/pre>\n<p>    Ba\u015far\u0131l\u0131 olursa, <code>Uploading my_webserver [0.1.0]<\/code> gibi bir \u00e7\u0131kt\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>Ad\u0131m 4: Node&#8217;a Tarif Uygulama (Run List&#8217;e Ekleme)<\/h4>\n<p>Nginx tarifini <code>web-node-1<\/code> node&#8217;unun &#8220;run list&#8221;ine ekleyerek Chef&#8217;e bu node \u00fczerinde <code>my_webserver<\/code> cookbook&#8217;unun <code>default<\/code> tarifini \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 s\u00f6yleyece\u011fiz.<\/p>\n<p>1.  <strong>Run List&#8217;e Ekleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">knife node run_list add web-node-1 'recipe[my_webserver]'<\/code><\/pre>\n<p>    Bu komut, node&#8217;un run list&#8217;ini g\u00fcncelleyecektir. <code>knife node show web-node-1<\/code> komutu ile run list&#8217;i do\u011frulayabilirsiniz.<\/p>\n<h4>Ad\u0131m 5: Node \u00dczerinde Chef Client&#8217;\u0131 \u00c7al\u0131\u015ft\u0131rma ve Do\u011frulama<\/h4>\n<p>\u015eimdi <code>web-node-1<\/code> \u00fczerinde Chef Client&#8217;\u0131 tekrar \u00e7al\u0131\u015ft\u0131rarak yeni tarifi uygulamas\u0131n\u0131 sa\u011flay\u0131n.<\/p>\n<p>1.  <strong>Node&#8217;a SSH ile Ba\u011flan\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh ubuntu@192.168.1.30<\/code><\/pre>\n<p>2.  <strong>Chef Client&#8217;\u0131 \u00c7al\u0131\u015ft\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo chef-client<\/code><\/pre>\n<p>    \u00c7al\u0131\u015ft\u0131rma s\u0131ras\u0131nda Nginx paketinin kuruldu\u011funu, servisinin ba\u015flat\u0131ld\u0131\u011f\u0131n\u0131 ve <code>index.html<\/code> dosyas\u0131n\u0131n olu\u015fturuldu\u011funu g\u00f6steren \u00e7\u0131kt\u0131lar g\u00f6rmelisiniz.<\/p>\n<p>3.  <strong>Nginx Kurulumunu Do\u011frulama:<\/strong><br \/>\n    *   <strong>Node \u00fczerinde Nginx durumunu kontrol edin:<\/strong><\/p>\n<pre><code class=\"language-bash\">systemctl status nginx<\/code><\/pre>\n<p>        Nginx&#8217;in <code>active (running)<\/code> oldu\u011funu g\u00f6rmelisiniz.<br \/>\n    *   <strong>Web taray\u0131c\u0131n\u0131zdan Node&#8217;un IP adresine gidin:<\/strong><br \/>\n        <code>http:\/\/192.168.1.30<\/code> (Node&#8217;un IP adresi).<br \/>\n        Taray\u0131c\u0131n\u0131zda &#8220;Merhaba Dunya! Chef ile Nginx calisiyor!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz. Bu, Chef ortam\u0131n\u0131z\u0131n ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmler<\/h3>\n<p>Chef kurulumu ve kullan\u0131m\u0131 s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>SSL Sertifika Hatalar\u0131 (<code>ERROR: SSL Error connecting to https:\/\/chef-server\/...<\/code>):<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Workstation&#8217;da <code>cd ~\/chef-repo<\/code> dizinine gidin ve <code>knife ssl fetch<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. Bu, Chef Server&#8217;\u0131n sertifikas\u0131n\u0131 Workstation&#8217;\u0131n g\u00fcvenilir sertifikalar listesine ekleyecektir. E\u011fer sorun devam ederse, <code>knife ssl check<\/code> ile daha detayl\u0131 bilgi alabilirsiniz. Chef Server&#8217;\u0131n hostname&#8217;inin do\u011fru \u00e7\u00f6z\u00fcmlendi\u011finden ve sertifikadaki hostname ile e\u015fle\u015fti\u011finden emin olun.<br \/>\n*   <strong>A\u011f Ba\u011flant\u0131 Sorunlar\u0131 (Ba\u011flant\u0131 Zaman A\u015f\u0131m\u0131, Eri\u015filemez Host):<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   VPS&#8217;lerinizin IP adreslerinin do\u011fru oldu\u011fundan ve birbirleriyle ping atabildi\u011finden emin olun.<br \/>\n        *   G\u00fcvenlik duvar\u0131 (UFW, AWS Security Groups, Azure Network Security Groups vb.) ayarlar\u0131n\u0131z\u0131 kontrol edin. Chef Server i\u00e7in 443 (HTTPS) ve 22 (SSH), Workstation&#8217;dan Client&#8217;a bootstrap i\u00e7in 22 (SSH) portlar\u0131n\u0131n a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n        *   <code>\/etc\/hosts<\/code> dosyalar\u0131n\u0131zdaki girdilerin do\u011fru oldu\u011funu kontrol edin.<br \/>\n*   <strong>Yetkilendirme Hatalar\u0131 (<code>ERROR: Failed to authenticate to the Chef server (http 401)<\/code>):<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle <code>.pem<\/code> anahtar dosyalar\u0131yla ilgili bir sorundur.<br \/>\n        *   <code>~\/chef-repo\/.chef\/knife.rb<\/code> dosyas\u0131ndaki <code>node_name<\/code>, <code>client_key<\/code> ve <code>chef_server_url<\/code> ayarlar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n        *   <code>admin.pem<\/code> ve <code>mycompany-validator.pem<\/code> dosyalar\u0131n\u0131n do\u011fru yolda oldu\u011fundan ve okunabilir izinlere sahip oldu\u011fundan emin olun.<br \/>\n        *   <code>knife.rb<\/code> dosyas\u0131ndaki client_key yolu genellikle <code>File.join(current_dir, \"admin.pem\")<\/code> \u015feklinde olmal\u0131d\u0131r.<br \/>\n*   <strong>Bootstrap Hatalar\u0131 (<code>ERROR: Net::SSH::AuthenticationFailed<\/code> veya <code>ERROR: Net::SSH::ConnectionTimeout<\/code>):<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle Workstation&#8217;dan Node&#8217;a SSH eri\u015fimiyle ilgilidir.<br \/>\n        *   SSH kullan\u0131c\u0131 ad\u0131n\u0131n (<code>--ssh-user<\/code>) do\u011fru oldu\u011fundan emin olun.<br \/>\n        *   Node&#8217;a Workstation&#8217;dan manuel olarak SSH ile ba\u011flanmay\u0131 deneyin.<br \/>\n        *   \u015eifresiz SSH anahtar tabanl\u0131 eri\u015fim yap\u0131land\u0131rmad\u0131n\u0131zsa, <code>knife bootstrap<\/code> komutunda <code>--ssh-password 'your_password'<\/code> se\u00e7ene\u011fini kulland\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n        *   Node&#8217;da SSH servisi \u00e7al\u0131\u015f\u0131yor mu kontrol edin (<code>sudo systemctl status ssh<\/code>).<br \/>\n*   <strong>Paket Ba\u011f\u0131ml\u0131l\u0131klar\u0131 veya Kurulum Hatalar\u0131:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>sudo apt --fix-broken install<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak eksik ba\u011f\u0131ml\u0131l\u0131klar\u0131 gidermeyi deneyin. Kurulum s\u0131ras\u0131nda internet ba\u011flant\u0131n\u0131z\u0131n stabil oldu\u011fundan emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Chef Server, Chef Workstation ve Chef Client&#8217;\u0131 (Node) Ubuntu VPS \u00f6rnekleri \u00fczerine ba\u015far\u0131yla kurman\u0131n ve yap\u0131land\u0131rman\u0131n t\u00fcm ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele ald\u0131k. Chef&#8217;in temel bile\u015fenlerini anlayarak, her birini haz\u0131rlayarak ve ad\u0131m ad\u0131m kurulum ve yap\u0131land\u0131rma s\u00fcre\u00e7lerini takip ederek, altyap\u0131 otomasyonu i\u00e7in sa\u011flam bir temel olu\u015fturmu\u015f oldunuz.<\/p>\n<p>Chef, altyap\u0131n\u0131z\u0131 kod olarak y\u00f6netmenizi sa\u011flayarak, manuel hatalar\u0131 azalt\u0131r, tutarl\u0131l\u0131\u011f\u0131 art\u0131r\u0131r ve \u00f6l\u00e7eklenebilirli\u011fi \u00f6nemli \u00f6l\u00e7\u00fcde geli\u015ftirir. Art\u0131k basit bir Nginx kurulumu ile Chef ortam\u0131n\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulad\u0131\u011f\u0131n\u0131za g\u00f6re, Chef&#8217;in sundu\u011fu geni\u015f yetenekleri ke\u015ffetmeye haz\u0131rs\u0131n\u0131z.<\/p>\n<p>Sonraki ad\u0131mlar olarak \u015funlar\u0131 d\u00fc\u015f\u00fcnebilirsiniz:<br \/>\n*   <strong>Daha Karma\u015f\u0131k Cookbook&#8217;lar Geli\u015ftirmek:<\/strong> Veritaban\u0131 sunucular\u0131, uygulama sunucular\u0131 veya y\u00fck dengeleyiciler gibi daha karma\u015f\u0131k hizmetleri otomatikle\u015ftiren cookbook&#8217;lar yazmay\u0131 \u00f6\u011frenin.<br \/>\n*   <strong>Policyfile&#8217;lar\u0131 Kullanmak:<\/strong> Cookbook ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve run list&#8217;leri y\u00f6netmek i\u00e7in daha modern ve s\u00fcr\u00fcm kontrol\u00fcne uygun bir y\u00f6ntem olan Policyfile&#8217;lar\u0131 inceleyin.<br \/>\n*   <strong>Test Etme ve Do\u011frulama:<\/strong> Test Kitchen gibi ara\u00e7larla cookbook&#8217;lar\u0131n\u0131z\u0131 geli\u015ftirmeden \u00f6nce test etmeyi \u00f6\u011frenin.<br \/>\n*   <strong>S\u00fcr\u00fcm Kontrol\u00fc:<\/strong> Cookbook&#8217;lar\u0131n\u0131z\u0131 ve <code>.chef<\/code> dizininizi Git gibi bir s\u00fcr\u00fcm kontrol sistemiyle y\u00f6neterek i\u015fbirli\u011fini ve de\u011fi\u015fiklik takibini kolayla\u015ft\u0131r\u0131n.<br \/>\n*   <strong>Chef Supermarket:<\/strong> Mevcut a\u00e7\u0131k kaynak cookbook&#8217;lardan yararlanmak i\u00e7in Chef Supermarket&#8217;i ke\u015ffedin.<\/p>\n<p>Chef ile altyap\u0131 y\u00f6netimi yolculu\u011funuzda ba\u015far\u0131lar dileriz! Bu kurulum rehberi, otomasyon d\u00fcnyas\u0131na att\u0131\u011f\u0131n\u0131z ilk g\u00fc\u00e7l\u00fc ad\u0131m olacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen ve geni\u015fleyen bili\u015fim altyap\u0131lar\u0131","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-35795","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>Chef Server, Workstation ve Client&#039;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chef Server, Workstation ve Client&#039;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Chef Server, Workstation ve Client&#039;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen ve geni\u015fleyen bili\u015fim altyap\u0131lar\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-03T20:40:54+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=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi\",\"datePublished\":\"2025-12-03T20:40:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\"},\"wordCount\":2993,\"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\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\",\"name\":\"Chef Server, Workstation ve Client'\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-03T20:40:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Chef Server, Workstation ve Client'\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Chef Server, Workstation ve Client'\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi","og_description":"Chef Server, Workstation ve Client'\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen ve geni\u015fleyen bili\u015fim altyap\u0131lar\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-03T20:40:54+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi","datePublished":"2025-12-03T20:40:54+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/"},"wordCount":2993,"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\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/","name":"Chef Server, Workstation ve Client'\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-03T20:40:54+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/chef-server-workstation-ve-clienti-ubuntu-vps-uzerine-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Chef Server, Workstation ve Client&#8217;\u0131 Ubuntu VPS \u00dczerine Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35795","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=35795"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35795\/revisions"}],"predecessor-version":[{"id":35796,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35795\/revisions\/35796"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}