{"id":31385,"date":"2025-10-09T09:40:58","date_gmt":"2025-10-09T06:40:58","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31385"},"modified":"2025-10-09T09:40:58","modified_gmt":"2025-10-09T06:40:58","slug":"ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/","title":{"rendered":"Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi<\/h2>\n<p>Bu kapsaml\u0131 teknik rehber, web geli\u015ftirme d\u00fcnyas\u0131n\u0131n en g\u00fc\u00e7l\u00fc ve \u00fcretken \u00e7er\u00e7evelerinden biri olan Ruby on Rails&#8217;i, esnek ve hafif bir Ruby versiyon y\u00f6neticisi olan rbenv kullanarak Debian 7 (Wheezy) i\u015fletim sistemi \u00fczerine nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Her ne kadar Debian 7 eski bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fc olsa da, bazen mevcut altyap\u0131lar veya belirli \u00f6\u011frenme senaryolar\u0131 gere\u011fi bu t\u00fcr eski sistemler \u00fczerinde geli\u015ftirme ortam\u0131 kurmak gerekebilir. Bu rehber, bu \u00f6zel senaryo i\u00e7in tasarlanm\u0131\u015ft\u0131r ve her ad\u0131m\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde ele alarak olas\u0131 sorunlar\u0131 minimize etmeyi ama\u00e7lamaktad\u0131r.<\/p>\n<h3>Giri\u015f<\/h3>\n<p>Ruby on Rails (genellikle &#8220;Rails&#8221; olarak an\u0131l\u0131r), David Heinemeier Hansson taraf\u0131ndan yarat\u0131lan, Ruby programlama diliyle yaz\u0131lm\u0131\u015f a\u00e7\u0131k kaynakl\u0131 bir web uygulama \u00e7er\u00e7evesidir. &#8220;Convention Over Configuration&#8221; (Yap\u0131land\u0131rma \u00dczerine Kural) ve &#8220;Don&#8217;t Repeat Yourself&#8221; (Kendini Tekrar Etme &#8211; DRY) felsefeleri \u00fczerine in\u015fa edilmi\u015ftir. Bu prensipler, geli\u015ftiricilerin h\u0131zl\u0131 bir \u015fekilde web uygulamalar\u0131 olu\u015fturmas\u0131na olanak tan\u0131r ve karma\u015f\u0131k yap\u0131land\u0131rma dosyalar\u0131yla u\u011fra\u015fmak yerine kod yazmaya odaklanmalar\u0131n\u0131 sa\u011flar. Rails, Model-View-Controller (MVC) mimarisiyle \u00e7al\u0131\u015f\u0131r ve bir\u00e7ok yerle\u015fik ara\u00e7 ve k\u00fct\u00fcphane sunarak veritaban\u0131 etkile\u015fimi, \u00f6n u\u00e7 geli\u015ftirme, test ve da\u011f\u0131t\u0131m gibi s\u00fcre\u00e7leri basitle\u015ftirir. Twitter, Shopify, GitHub gibi bir\u00e7ok pop\u00fcler platform Rails kullanmaktad\u0131r.<\/p>\n<p><strong>Neden rbenv?<\/strong><\/p>\n<p>Ruby on Rails projeleri genellikle belirli Ruby versiyonlar\u0131na ba\u011f\u0131ml\u0131d\u0131r. Bir sistemde birden fazla Ruby projesi \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z veya farkl\u0131 Ruby versiyonlar\u0131yla deneyler yap\u0131yorsan\u0131z, bu versiyonlar\u0131 y\u00f6netmek i\u00e7in bir &#8220;Ruby versiyon y\u00f6neticisine&#8221; ihtiyac\u0131n\u0131z olacakt\u0131r. Bu noktada rbenv ve RVM (Ruby Version Manager) gibi ara\u00e7lar devreye girer.<\/p>\n<p>rbenv, RVM&#8217;ye g\u00f6re daha hafif ve basit bir alternatiftir. Temel farklar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>Hafiflik:<\/strong> rbenv, Ruby&#8217;yi PATH&#8217;e eklemek i\u00e7in &#8220;shim&#8221; ad\u0131 verilen k\u00fc\u00e7\u00fck y\u00fcr\u00fct\u00fclebilir dosyalar kullan\u0131r. Bu, kabuk fonksiyonlar\u0131n\u0131 de\u011fi\u015ftirmek yerine sistem PATH&#8217;ini manip\u00fcle etti\u011fi anlam\u0131na gelir, bu da daha az m\u00fcdahaleci ve daha h\u0131zl\u0131 bir yap\u0131 sunar.<br \/>\n*   <strong>\u015eeffafl\u0131k:<\/strong> rbenv, Ruby&#8217;nin kendisinin veya gem&#8217;lerin davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftirmez. Sadece hangi Ruby versiyonunun \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 belirler.<br \/>\n*   <strong>Proje Baz\u0131nda Kontrol:<\/strong> rbenv, <code>.ruby-version<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla her proje dizini i\u00e7in farkl\u0131 bir Ruby versiyonu belirlemenize olanak tan\u0131r. Bu, farkl\u0131 projelerin farkl\u0131 Ruby gereksinimlerini sorunsuz bir \u015fekilde kar\u015f\u0131laman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Bu rehberde rbenv&#8217;i tercih etmemizin nedeni, sistem genelindeki ba\u011f\u0131ml\u0131l\u0131klar\u0131 daha az etkilemesi ve daha temiz bir kurulum sa\u011flamas\u0131d\u0131r.<\/p>\n<p><strong>Neden Debian 7 (Wheezy)?<\/strong><\/p>\n<p>Debian 7, 2013 y\u0131l\u0131nda piyasaya s\u00fcr\u00fclm\u00fc\u015f ve 2018 y\u0131l\u0131nda resmi deste\u011fi sona ermi\u015f eski bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fcd\u00fcr. G\u00fcncel web geli\u015ftirme i\u00e7in modern bir i\u015fletim sistemi kullanmak her zaman tavsiye edilse de, baz\u0131 durumlarda eski sistemler \u00fczerinde \u00e7al\u0131\u015fmak ka\u00e7\u0131n\u0131lmaz olabilir:<\/p>\n<p>*   <strong>Mevcut Altyap\u0131:<\/strong> Baz\u0131 kurulu\u015flar veya projeler, eski donan\u0131mlar \u00fczerinde \u00e7al\u0131\u015fan ve g\u00fcncellenmesi zor olan Debian 7 sunucular\u0131na sahip olabilir.<br \/>\n*   <strong>\u00d6\u011frenme ve Uyumluluk Testi:<\/strong> Geli\u015ftiriciler, eski sistemlerde yaz\u0131l\u0131mlar\u0131n\u0131n nas\u0131l davrand\u0131\u011f\u0131n\u0131 anlamak veya eski sistemler i\u00e7in \u00f6zel \u00e7\u00f6z\u00fcmler geli\u015ftirmek amac\u0131yla bu ortamlar\u0131 kullanabilirler.<br \/>\n*   <strong>Kaynak K\u0131s\u0131tlamalar\u0131:<\/strong> K\u0131s\u0131tl\u0131 kaynaklara sahip sanal makineler veya konteynerler \u00fczerinde \u00e7al\u0131\u015f\u0131rken, daha hafif ve eski bir i\u015fletim sistemi tercih edilebilir.<\/p>\n<p>Bu rehber, Debian 7&#8217;nin eski k\u00fct\u00fcphaneleri ve paket y\u00f6neticisi yap\u0131s\u0131yla uyumlu bir Rails geli\u015ftirme ortam\u0131 kurma s\u00fcrecini detayland\u0131racakt\u0131r. Hedefimiz, Ruby 2.3.8 ve Rails 5.2.8 gibi, bu eski sistemle makul bir \u015fekilde uyumlu ve hala bir\u00e7ok proje i\u00e7in ge\u00e7erli olan versiyonlar\u0131 kurmakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler ve Sistem G\u00fcncelleme<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizin belirli \u00f6n gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z:<\/p>\n<p>1.  <strong>Root Eri\u015fimi veya Sudo Yetkisi:<\/strong> Kurulum i\u00e7in sistem genelinde paketler y\u00fcklemeniz gerekecektir. Bu nedenle root kullan\u0131c\u0131s\u0131 olarak oturum a\u00e7m\u0131\u015f olman\u0131z veya <code>sudo<\/code> komutunu kullanma yetkinizin olmas\u0131 \u015fartt\u0131r.<br \/>\n2.  <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> T\u00fcm ba\u011f\u0131ml\u0131l\u0131klar ve Ruby\/Rails paketleri internet \u00fczerinden indirilecektir.<br \/>\n3.  <strong>Temel Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Linux komut sat\u0131r\u0131 ile temel d\u00fczeyde etkile\u015fime ge\u00e7ebilmek gereklidir.<\/p>\n<p>\u0130lk ad\u0131m olarak, sisteminizin paket listesini g\u00fcncelleyelim ve kurulu paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltelim. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade<\/code><\/pre>\n<p>Bu komutlar, paket y\u00f6neticisinin depolar\u0131n\u0131 g\u00fcnceller ve mevcut t\u00fcm paketleri y\u00fckseltir. Bu i\u015flem, internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ve sisteminizdeki g\u00fcncellenecek paket say\u0131s\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir.<\/p>\n<h3>Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131n Kurulumu<\/h3>\n<p>Ruby&#8217;yi rbenv ile derlemek ve Rails uygulamalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in \u00e7e\u015fitli sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131na ihtiyac\u0131m\u0131z var. Debian 7&#8217;nin eski paket versiyonlar\u0131na sahip oldu\u011funu unutmay\u0131n; bu nedenle, baz\u0131 k\u00fct\u00fcphaneler i\u00e7in belirli versiyonlar veya ek ad\u0131mlar gerekebilir.<\/p>\n<p>A\u015fa\u011f\u0131daki komut, derleme ara\u00e7lar\u0131, SSL k\u00fct\u00fcphaneleri, veritaban\u0131 geli\u015ftirme dosyalar\u0131 ve di\u011fer temel ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyecektir:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y build-essential git libssl-dev libreadline-dev zlib1g-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev libffi-dev autoconf bison<\/code><\/pre>\n<p>Bu paketleri tek tek inceleyelim:<\/p>\n<p>*   <code>build-essential<\/code>: C\/C++ derleyicisi (GCC), make ve di\u011fer derleme ara\u00e7lar\u0131n\u0131 i\u00e7eren bir pakettir. Ruby&#8217;yi kaynak koddan derlemek i\u00e7in gereklidir.<br \/>\n*   <code>git<\/code>: rbenv ve ruby-build&#8217;\u0131 GitHub depolar\u0131ndan klonlamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>libssl-dev<\/code>: OpenSSL k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131d\u0131r. Ruby&#8217;nin HTTPS ba\u011flant\u0131lar\u0131 kurabilmesi ve g\u00fcvenli ileti\u015fim sa\u011flayabilmesi i\u00e7in gereklidir. Eski Debian 7 s\u00fcr\u00fcm\u00fcnde OpenSSL versiyonu, yeni Ruby versiyonlar\u0131yla uyumluluk sorunlar\u0131na yol a\u00e7abilir, bu nedenle bu paketin do\u011fru \u015fekilde kuruldu\u011fundan emin olmak \u00f6nemlidir.<br \/>\n*   <code>libreadline-dev<\/code>: Ruby&#8217;nin interaktif konsolu (IRB) i\u00e7in komut ge\u00e7mi\u015fi ve sat\u0131r d\u00fczenleme yetenekleri sa\u011flar.<br \/>\n*   <code>zlib1g-dev<\/code>: Zlib s\u0131k\u0131\u015ft\u0131rma k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131d\u0131r. Ruby&#8217;nin baz\u0131 gem&#8217;ler taraf\u0131ndan kullan\u0131l\u0131r.<br \/>\n*   <code>libyaml-dev<\/code>: YAML ayr\u0131\u015ft\u0131rma k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131d\u0131r. Ruby&#8217;nin YAML dosyalar\u0131n\u0131 okuyabilmesi i\u00e7in gereklidir.<br \/>\n*   <code>libsqlite3-dev<\/code> ve <code>sqlite3<\/code>: SQLite veritaban\u0131 k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131 ve komut sat\u0131r\u0131 arac\u0131d\u0131r. Rails, varsay\u0131lan olarak SQLite&#8217;\u0131 kullan\u0131r, bu nedenle ba\u015flang\u0131\u00e7 i\u00e7in gereklidir.<br \/>\n*   <code>libxml2-dev<\/code> ve <code>libxslt1-dev<\/code>: XML ve XSLT i\u015fleme k\u00fct\u00fcphanelerinin geli\u015ftirme dosyalar\u0131d\u0131r. Baz\u0131 gem&#8217;ler, \u00f6zellikle HTML\/XML ayr\u0131\u015ft\u0131rma yapanlar (\u00f6rne\u011fin Nokogiri) bunlar\u0131 kullan\u0131r.<br \/>\n*   <code>libcurl4-openssl-dev<\/code>: Curl k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131d\u0131r. A\u011f istekleri yapan gem&#8217;ler taraf\u0131ndan kullan\u0131labilir.<br \/>\n*   <code>libffi-dev<\/code>: Foreign Function Interface k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131d\u0131r. Ruby&#8217;nin C k\u00fct\u00fcphaneleriyle etkile\u015fime girmesini sa\u011flar.<br \/>\n*   <code>autoconf<\/code>, <code>bison<\/code>: Baz\u0131 Ruby gem&#8217;lerini derlemek i\u00e7in gerekli olabilecek yard\u0131mc\u0131 ara\u00e7lard\u0131r.<\/p>\n<p><strong>JavaScript \u00c7al\u0131\u015fma Zaman\u0131 (Runtime) ve Node.js:<\/strong><\/p>\n<p>Rails&#8217;in Asset Pipeline \u00f6zelli\u011fi, JavaScript ve CSS dosyalar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rmak ve birle\u015ftirmek i\u00e7in bir JavaScript \u00e7al\u0131\u015fma zaman\u0131na ihtiya\u00e7 duyar. En yayg\u0131n kullan\u0131lan \u00e7al\u0131\u015fma zaman\u0131 Node.js&#8217;tir. Debian 7 depolar\u0131ndaki Node.js versiyonu \u00e7ok eski olabilir veya hi\u00e7 olmayabilir. Bu nedenle, Node.js&#8217;i manuel olarak y\u00fcklememiz gerekebilir. Ancak, bu rehberde, varsay\u0131lan olarak Node.js&#8217;in daha yeni bir versiyonuna ihtiya\u00e7 duymayan Rails 5.2.8&#8217;i hedefliyoruz. E\u011fer daha yeni bir Rails versiyonu veya modern JavaScript ara\u00e7lar\u0131 kullanacaksan\u0131z Node.js&#8217;i kurman\u0131z \u015fart olacakt\u0131r.<\/p>\n<p>Debian 7 i\u00e7in Node.js&#8217;in resmi depolar\u0131ndan g\u00fcncel bir s\u00fcr\u00fcm\u00fcn\u00fc y\u00fcklemek zordur. Genellikle NVM (Node Version Manager) gibi bir ara\u00e7la manuel kurulum \u00f6nerilir. Ancak, bu rehberin kapsam\u0131n\u0131 a\u015fmamas\u0131 ad\u0131na \u015fimdilik bu ad\u0131m\u0131 atl\u0131yoruz. E\u011fer Rails uygulamalar\u0131n\u0131zda Webpacker veya benzeri modern JavaScript ara\u00e7lar\u0131n\u0131 kullanacaksan\u0131z, Node.js&#8217;i kurman\u0131z gerekecektir. Ge\u00e7ici bir \u00e7\u00f6z\u00fcm olarak, <code>therubyracer<\/code> gem&#8217;i de bir JavaScript \u00e7al\u0131\u015fma zaman\u0131 sa\u011flayabilir, ancak genellikle Node.js tercih edilir.<\/p>\n<p><strong>\u00d6nemli Not:<\/strong> Debian 7&#8217;nin eski OpenSSL versiyonu (genellikle 1.0.1e veya benzeri), Ruby&#8217;nin daha yeni versiyonlar\u0131yla (\u00f6rne\u011fin 2.4.x ve \u00fczeri) derlenirken sorun \u00e7\u0131karabilir. Ruby 2.3.8, bu eski OpenSSL versiyonuyla daha uyumlu olma e\u011filimindedir, bu y\u00fczden bu rehberde onu hedefliyoruz.<\/p>\n<h3>rbenv Kurulumu<\/h3>\n<p>\u015eimdi rbenv&#8217;i sistemimize kural\u0131m. rbenv&#8217;i genellikle kullan\u0131c\u0131n\u0131n ana dizinindeki <code>.rbenv<\/code> dizinine kurar\u0131z.<\/p>\n<p>1.  <strong>rbenv&#8217;i Klonlama:<\/strong><br \/>\n    rbenv&#8217;i GitHub deposundan ana dizininizdeki <code>.rbenv<\/code> dizinine klonlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/rbenv\/rbenv.git ~\/.rbenv<\/code><\/pre>\n<p>2.  <strong>PATH&#8217;e Ekleme ve Ba\u015flatma:<\/strong><br \/>\n    rbenv&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in kabuk (shell) ortam\u0131n\u0131za eklenmesi gerekir. Bunun i\u00e7in <code>~\/.bashrc<\/code> (Bash kullan\u0131yorsan\u0131z) veya <code>~\/.profile<\/code> (genel bir \u00e7\u00f6z\u00fcm olarak) dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 eklemelisiniz.<\/p>\n<pre><code class=\"language-bash\">echo 'export PATH=\"$HOME\/.rbenv\/bin:$PATH\"' >> ~\/.bashrc\n    echo 'eval \"$(rbenv init -)\"' >> ~\/.bashrc<\/code><\/pre>\n<p>    E\u011fer farkl\u0131 bir kabuk kullan\u0131yorsan\u0131z (\u00f6rne\u011fin Zsh), ilgili yap\u0131land\u0131rma dosyas\u0131n\u0131 (\u00f6rne\u011fin <code>~\/.zshrc<\/code>) d\u00fczenlemeniz gerekir.<\/p>\n<p>3.  <strong>Kabu\u011fu Yeniden Ba\u015flatma:<\/strong><br \/>\n    Yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in kabu\u011fu yeniden y\u00fcklemeniz veya yeni bir terminal oturumu a\u00e7man\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>4.  <strong>rbenv Kurulumunu Do\u011frulama:<\/strong><br \/>\n    rbenv&#8217;in do\u011fru \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">type rbenv<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131 olarak <code>rbenv is a function<\/code> veya benzeri bir ifade g\u00f6rmelisiniz. Bu, rbenv&#8217;in kabuk taraf\u0131ndan tan\u0131nd\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<h3>ruby-build Kurulumu<\/h3>\n<p>rbenv&#8217;in kendisi Ruby versiyonlar\u0131n\u0131 kurmaz; bu i\u015fi <code>ruby-build<\/code> adl\u0131 bir eklenti yapar. <code>ruby-build<\/code>&#8216;\u0131 rbenv&#8217;in eklentiler dizinine klonlayarak kurmal\u0131y\u0131z.<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/rbenv\/ruby-build.git \"$(rbenv root)\"\/plugins\/ruby-build<\/code><\/pre>\n<p>Bu komut, <code>ruby-build<\/code> deposunu <code>~\/.rbenv\/plugins\/ruby-build<\/code> dizinine klonlar. Art\u0131k rbenv, <code>rbenv install<\/code> komutunu kullanarak Ruby versiyonlar\u0131n\u0131 derleyip kurma yetene\u011fine sahip olacakt\u0131r.<\/p>\n<h3>Ruby Kurulumu (rbenv ile)<\/h3>\n<p>\u015eimdi s\u0131ra Ruby&#8217;yi kurmaya geldi. Debian 7&#8217;nin eski sistem k\u00fct\u00fcphaneleri g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, daha yeni Ruby versiyonlar\u0131n\u0131 derlemek sorunlu olabilir. Bu rehber i\u00e7in Ruby 2.3.8&#8217;i se\u00e7ece\u011fiz, \u00e7\u00fcnk\u00fc Rails 5.2.x ile uyumlu ve eski sistemlerde derlenmesi daha olas\u0131d\u0131r.<\/p>\n<p>1.  <strong>Mevcut Ruby Versiyonlar\u0131n\u0131 Listeleme:<\/strong><br \/>\n    Kurulabilecek Ruby versiyonlar\u0131n\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">rbenv install --list<\/code><\/pre>\n<p>    Bu komut, <code>ruby-build<\/code>&#8216;\u0131n destekledi\u011fi t\u00fcm Ruby versiyonlar\u0131n\u0131 listeleyecektir.<\/p>\n<p>2.  <strong>Ruby 2.3.8&#8217;i Kurma:<\/strong><br \/>\n    \u015eimdi se\u00e7ti\u011fimiz Ruby versiyonunu kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">rbenv install 2.3.8<\/code><\/pre>\n<p>    Bu i\u015flem, Ruby kaynak kodunu indirip derleyecektir. Bu, sisteminizin i\u015flem g\u00fcc\u00fcne ve internet ba\u011flant\u0131n\u0131za ba\u011fl\u0131 olarak \u00f6nemli bir zaman alabilir (10-30 dakika veya daha fazla). Bu s\u00fcre\u00e7te ekrana derleme \u00e7\u0131kt\u0131lar\u0131 yans\u0131yacakt\u0131r. Herhangi bir hata mesaj\u0131 g\u00f6rmedi\u011finizden emin olun. \u00d6zellikle OpenSSL ile ilgili hatalar eski sistemlerde yayg\u0131n olabilir. E\u011fer bu t\u00fcr bir hata al\u0131rsan\u0131z, <code>libssl-dev<\/code> paketinin do\u011fru kuruldu\u011fundan emin olun ve gerekirse OpenSSL&#8217;in daha eski bir versiyonunu manuel olarak derlemeyi d\u00fc\u015f\u00fcnebilirsiniz (ancak bu, rehberin kapsam\u0131 d\u0131\u015f\u0131ndad\u0131r ve daha karma\u015f\u0131kt\u0131r).<\/p>\n<p>3.  <strong>Global Ruby Versiyonunu Ayarlama:<\/strong><br \/>\n    Kurulum tamamland\u0131ktan sonra, bu Ruby versiyonunu sisteminiz i\u00e7in varsay\u0131lan olarak ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">rbenv global 2.3.8<\/code><\/pre>\n<p>    Bu komut, t\u00fcm kabuk oturumlar\u0131n\u0131zda ve yeni projelerinizde varsay\u0131lan Ruby versiyonu olarak 2.3.8&#8217;i kullanaca\u011f\u0131n\u0131z\u0131 belirtir. Belirli bir proje i\u00e7in farkl\u0131 bir versiyon kullanmak isterseniz, <code>rbenv local <version><\/code> komutunu kullanabilirsiniz.<\/p>\n<p>4.  <strong>Kurulumu Do\u011frulama:<\/strong><br \/>\n    Ruby&#8217;nin do\u011fru \u015fekilde kuruldu\u011funu ve rbenv taraf\u0131ndan y\u00f6netildi\u011fini do\u011frulamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">ruby -v\n    which ruby<\/code><\/pre>\n<p>    \u0130lk komut <code>ruby 2.3.8p428 (2017-09-14 revision 59973) [x86_64-linux]<\/code> gibi bir \u00e7\u0131kt\u0131 vermelidir. \u0130kinci komut ise <code>~\/.rbenv\/shims\/ruby<\/code> gibi bir yol g\u00f6stermelidir. Bu, Ruby&#8217;nin rbenv taraf\u0131ndan y\u00f6netilen &#8220;shims&#8221; dizininden \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<h3>Bundler Kurulumu<\/h3>\n<p>Ruby&#8217;nin olmazsa olmaz ara\u00e7lar\u0131ndan biri de Bundler&#8217;d\u0131r. Bundler, Ruby projelerinin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 (gem&#8217;ler) y\u00f6neten bir paket y\u00f6neticisidir. Her projenin ihtiya\u00e7 duydu\u011fu belirli gem versiyonlar\u0131n\u0131 izler ve bu gem&#8217;leri izole bir \u015fekilde kurar.<\/p>\n<p>1.  <strong>Bundler&#8217;\u0131 Kurma:<\/strong><br \/>\n    Ruby 2.3.8 art\u0131k kurulu oldu\u011funa g\u00f6re, Bundler&#8217;\u0131 y\u00fckleyebiliriz:<\/p>\n<pre><code class=\"language-bash\">gem install bundler<\/code><\/pre>\n<p>    Bu komut, Bundler gem&#8217;ini global olarak (yani se\u00e7ili Ruby versiyonu i\u00e7in) kuracakt\u0131r.<\/p>\n<p>2.  <strong>rbenv shims&#8217;leri Yeniden Olu\u015fturma:<\/strong><br \/>\n    Yeni bir y\u00fcr\u00fct\u00fclebilir dosya (bu durumda <code>bundle<\/code> komutu) kurdu\u011funuzda, rbenv&#8217;in bu yeni komutu tan\u0131mas\u0131 i\u00e7in &#8220;shims&#8221;lerini yeniden olu\u015fturmas\u0131 gerekir. Bu, <code>rbenv rehash<\/code> komutuyla yap\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">rbenv rehash<\/code><\/pre>\n<p>    Bu komutu, her yeni gem (\u00f6zellikle komut sat\u0131r\u0131 arac\u0131 sa\u011flayan gem&#8217;ler) kurdu\u011funuzda \u00e7al\u0131\u015ft\u0131rmay\u0131 al\u0131\u015fkanl\u0131k haline getirmelisiniz.<\/p>\n<p>3.  <strong>Bundler Kurulumunu Do\u011frulama:<\/strong><br \/>\n    Bundler&#8217;\u0131n do\u011fru \u015fekilde kuruldu\u011funu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">bundle -v<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131 olarak <code>Bundler version 2.x.x<\/code> gibi bir versiyon numaras\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>Rails Kurulumu<\/h3>\n<p>Art\u0131k Ruby ve Bundler kurulu oldu\u011funa g\u00f6re, Ruby on Rails \u00e7er\u00e7evesini kurmaya haz\u0131r\u0131z. Yine, Debian 7 ve Ruby 2.3.8 ile uyumluluk a\u00e7\u0131s\u0131ndan Rails 5.2.8&#8217;i hedefleyece\u011fiz. Daha yeni Rails versiyonlar\u0131 (\u00f6rne\u011fin Rails 6.x veya 7.x) genellikle Ruby 2.5 veya daha yeni versiyonlar\u0131 gerektirir ve eski Debian 7 ortam\u0131nda derleme sorunlar\u0131 \u00e7\u0131karabilir.<\/p>\n<p>1.  <strong>Rails&#8217;i Kurma:<\/strong><br \/>\n    Belirli bir Rails versiyonunu kurmak i\u00e7in <code>gem install rails -v <version><\/code> komutunu kullan\u0131n.<\/p>\n<pre><code class=\"language-bash\">gem install rails -v 5.2.8<\/code><\/pre>\n<p>    Bu komut, Rails&#8217;i ve onun t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 (Action Pack, Active Record, Active Model vb.) kuracakt\u0131r. Bu i\u015flem, bir\u00e7ok gem&#8217;in indirilip kurulmas\u0131n\u0131 gerektirdi\u011fi i\u00e7in biraz zaman alabilir.<\/p>\n<p>2.  <strong>rbenv shims&#8217;leri Yeniden Olu\u015fturma:<\/strong><br \/>\n    Rails kurulumu, <code>rails<\/code> komutunu da sisteminize ekleyecektir. Bu nedenle <code>rbenv rehash<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rmam\u0131z \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">rbenv rehash<\/code><\/pre>\n<p>3.  <strong>Rails Kurulumunu Do\u011frulama:<\/strong><br \/>\n    Rails&#8217;in do\u011fru \u015fekilde kuruldu\u011funu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">rails -v<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131 olarak <code>Rails 5.2.8<\/code> gibi bir versiyon numaras\u0131 g\u00f6rmelisiniz.<\/p>\n<p>Tebrikler! Ruby on Rails geli\u015ftirme ortam\u0131n\u0131z Debian 7 \u00fczerine ba\u015far\u0131yla kurulmu\u015f olmal\u0131.<\/p>\n<h3>\u0130lk Rails Uygulamas\u0131 Olu\u015fturma<\/h3>\n<p>\u015eimdi, kurulu Rails ortam\u0131n\u0131z\u0131 test etmek i\u00e7in basit bir Rails uygulamas\u0131 olu\u015ftural\u0131m.<\/p>\n<p>1.  <strong>Uygulama Dizini Olu\u015fturma:<\/strong><br \/>\n    Uygulamalar\u0131n\u0131z\u0131 saklamak i\u00e7in bir dizin olu\u015fturun ve i\u00e7ine girin:<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/rails_projects\n    cd ~\/rails_projects<\/code><\/pre>\n<p>2.  <strong>Yeni Bir Rails Uygulamas\u0131 Olu\u015fturma:<\/strong><br \/>\n    <code>rails new<\/code> komutunu kullanarak yeni bir uygulama olu\u015fturun. Varsay\u0131lan olarak SQLite veritaban\u0131 kullan\u0131l\u0131r, bu da h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7 i\u00e7in idealdir.<\/p>\n<pre><code class=\"language-bash\">rails new my_first_app<\/code><\/pre>\n<p>    Bu komut, <code>my_first_app<\/code> ad\u0131nda yeni bir dizin olu\u015fturacak ve i\u00e7ine temel Rails uygulama yap\u0131s\u0131n\u0131 yerle\u015ftirecektir. Bu s\u00fcre\u00e7te, Rails gerekli gem&#8217;leri <code>Gemfile<\/code>&#8216;a ekleyecek ve <code>bundle install<\/code> komutunu otomatik olarak \u00e7al\u0131\u015ft\u0131rarak bu gem&#8217;leri kurmaya \u00e7al\u0131\u015facakt\u0131r. Ancak, bu otomatik <code>bundle install<\/code> i\u015flemi bazen rbenv ortam\u0131nda sorunlara yol a\u00e7abilir. Bu nedenle, genellikle <code>rails new<\/code> komutundan sonra manuel olarak <code>bundle install<\/code> \u00e7al\u0131\u015ft\u0131rmak daha g\u00fcvenlidir.<\/p>\n<p>    E\u011fer <code>rails new<\/code> komutu s\u0131ras\u0131nda <code>bundle install<\/code> ile ilgili hatalar al\u0131rsan\u0131z, endi\u015felenmeyin. Uygulama dizinine girip manuel olarak \u00e7al\u0131\u015ft\u0131raca\u011f\u0131z.<\/p>\n<p>3.  <strong>Uygulama Dizinine Girme:<\/strong><\/p>\n<pre><code class=\"language-bash\">cd my_first_app<\/code><\/pre>\n<p>4.  <strong>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme (Manuel Bundle Install):<\/strong><br \/>\n    Uygulaman\u0131n <code>Gemfile<\/code>&#8216;\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklemek i\u00e7in <code>bundle install<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">bundle install<\/code><\/pre>\n<p>    Bu komut, uygulaman\u0131z\u0131n ihtiya\u00e7 duydu\u011fu t\u00fcm gem&#8217;leri indirecek ve kuracakt\u0131r. Bu i\u015flem de biraz zaman alabilir. E\u011fer bu ad\u0131mda herhangi bir hata al\u0131rsan\u0131z (\u00f6zellikle <code>nokogiri<\/code> veya <code>sqlite3<\/code> gibi gem&#8217;lerle ilgili), genellikle eksik sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131ndan kaynaklan\u0131r. <code>libxml2-dev<\/code>, <code>libxslt1-dev<\/code> ve <code>libsqlite3-dev<\/code> gibi paketlerin kurulu oldu\u011fundan emin olun.<\/p>\n<p>5.  <strong>Veritaban\u0131n\u0131 Olu\u015fturma:<\/strong><br \/>\n    Rails uygulamalar\u0131, genellikle bir veritaban\u0131na ihtiya\u00e7 duyar. Varsay\u0131lan olarak SQLite kullan\u0131ld\u0131\u011f\u0131 i\u00e7in, veritaban\u0131n\u0131 olu\u015fturmak \u00e7ok basittir:<\/p>\n<pre><code class=\"language-bash\">rails db:create<\/code><\/pre>\n<p>6.  <strong>Rails Sunucusunu Ba\u015flatma:<\/strong><br \/>\n    Uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in Rails&#8217;in yerle\u015fik web sunucusunu (Puma veya WEBrick) ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">rails server<\/code><\/pre>\n<p>    Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, sunucu genellikle <code>http:\/\/localhost:3000<\/code> adresinde dinlemeye ba\u015flayacakt\u0131r.<\/p>\n<p>7.  <strong>Taray\u0131c\u0131dan Eri\u015fme:<\/strong><br \/>\n    Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve <code>http:\/\/localhost:3000<\/code> adresine gidin. Ba\u015far\u0131l\u0131 bir kurulum durumunda, &#8220;Yay! You&#8217;re on Rails!&#8221; yazan varsay\u0131lan bir Rails kar\u015f\u0131lama sayfas\u0131 g\u00f6rmelisiniz. Bu sayfa, Rails uygulaman\u0131z\u0131n ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>    Sunucuyu durdurmak i\u00e7in terminalde <code>Ctrl+C<\/code> tu\u015f kombinasyonunu kullanabilirsiniz.<\/p>\n<h3>Ek Bilgiler ve Sorun Giderme<\/h3>\n<p>*   <strong>Proje Baz\u0131nda Ruby Versiyonu (<code>rbenv local<\/code>):<\/strong><br \/>\n    <code>rbenv global<\/code> komutu, t\u00fcm kabuk oturumlar\u0131 i\u00e7in varsay\u0131lan Ruby versiyonunu ayarlar. Ancak, farkl\u0131 projeler farkl\u0131 Ruby versiyonlar\u0131 gerektirebilir. Bir projenin dizinindeyken <code>rbenv local <version><\/code> komutunu kullanarak o projeye \u00f6zel bir Ruby versiyonu belirleyebilirsiniz. Bu, dizinde <code>.ruby-version<\/code> ad\u0131nda bir dosya olu\u015fturur ve rbenv, bu dosyay\u0131 okuyarak o dizinde hangi Ruby versiyonunun kullan\u0131laca\u011f\u0131n\u0131 bilir.<\/p>\n<pre><code class=\"language-bash\">cd ~\/rails_projects\/my_first_app\n    rbenv local 2.3.8<\/code><\/pre>\n<p>    Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra <code>ruby -v<\/code> komutu, sadece bu dizin i\u00e7indeyken 2.3.8&#8217;i g\u00f6sterecektir. Dizin d\u0131\u015f\u0131na \u00e7\u0131kt\u0131\u011f\u0131n\u0131zda global olarak ayarlad\u0131\u011f\u0131n\u0131z Ruby versiyonu (yine 2.3.8 veya farkl\u0131 bir versiyon olabilir) aktif olacakt\u0131r.<\/p>\n<p>*   <strong>Ortak Hatalar ve \u00c7\u00f6z\u00fcmleri:<\/strong><br \/>\n    *   <strong><code>rbenv: command not found<\/code>:<\/strong> Bu genellikle <code>~\/.bashrc<\/code> veya <code>~\/.profile<\/code> dosyas\u0131na PATH ayarlar\u0131n\u0131n do\u011fru eklenmedi\u011fini veya kabu\u011fun yeniden ba\u015flat\u0131lmad\u0131\u011f\u0131n\u0131 g\u00f6sterir. <code>source ~\/.bashrc<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyin veya yeni bir terminal a\u00e7\u0131n.<br \/>\n    *   <strong>Derleme Hatalar\u0131 (\u00f6zellikle Ruby veya gem&#8217;ler i\u00e7in):<\/strong> <code>libssl-dev<\/code>, <code>build-essential<\/code>, <code>libxml2-dev<\/code>, <code>libxslt1-dev<\/code>, <code>libsqlite3-dev<\/code> gibi ba\u011f\u0131ml\u0131l\u0131klar\u0131n kurulu oldu\u011fundan emin olun. Debian 7&#8217;nin eski k\u00fct\u00fcphaneleri nedeniyle, baz\u0131 gem&#8217;lerin (\u00f6zellikle <code>nokogiri<\/code> gibi C uzant\u0131lar\u0131 olanlar) derlenmesi sorunlu olabilir. Gerekirse gem&#8217;i kurarken <code>bundle config build.nokogiri --use-system-libraries<\/code> gibi sistem k\u00fct\u00fcphanelerini kullanmaya zorlayan se\u00e7enekler deneyebilirsiniz.<br \/>\n    *   <strong>OpenSSL Hatalar\u0131:<\/strong> Ruby 2.4 ve \u00fczeri versiyonlar daha yeni OpenSSL versiyonlar\u0131na ihtiya\u00e7 duyabilir. Debian 7&#8217;deki OpenSSL 1.0.1e gibi eski versiyonlar, bu Ruby versiyonlar\u0131yla derlenirken sorun \u00e7\u0131karabilir. Bu nedenle Ruby 2.3.8&#8217;i tercih ettik. E\u011fer yine de sorun ya\u015farsan\u0131z, eski bir Ruby versiyonunu deneyin veya OpenSSL&#8217;i manuel olarak derleyip rbenv&#8217;e tan\u0131tman\u0131z gerekebilir (bu daha ileri d\u00fczey bir konudur).<br \/>\n    *   <strong>JavaScript \u00c7al\u0131\u015fma Zaman\u0131 Eksikli\u011fi:<\/strong> E\u011fer <code>rails new<\/code> veya <code>rails server<\/code> komutlar\u0131 s\u0131ras\u0131nda &#8220;JavaScript runtime is not available&#8221; gibi bir hata al\u0131rsan\u0131z, bu Node.js&#8217;in kurulu olmad\u0131\u011f\u0131n\u0131 veya Rails&#8217;in onu bulamad\u0131\u011f\u0131n\u0131 g\u00f6sterir. Debian 7 i\u00e7in Node.js&#8217;i NVM ile manuel olarak kurman\u0131z veya <code>Gemfile<\/code>&#8216;\u0131n\u0131za <code>gem 'therubyracer'<\/code> ekleyerek bir JavaScript \u00e7al\u0131\u015fma zaman\u0131 sa\u011flaman\u0131z gerekebilir. <code>therubyracer<\/code> gem&#8217;i, Ruby uygulamalar\u0131 i\u00e7inde JavaScript kodu \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir k\u00f6pr\u00fc sa\u011flar ve Node.js&#8217;e bir alternatif olabilir.<\/p>\n<p>*   <strong>Veritaban\u0131 Kurulumu (PostgreSQL\/MySQL):<\/strong><br \/>\n    Varsay\u0131lan olarak Rails, geli\u015ftirme ortam\u0131nda SQLite kullan\u0131r. Ancak, \u00fcretim ortamlar\u0131nda veya daha karma\u015f\u0131k projelerde PostgreSQL veya MySQL gibi daha g\u00fc\u00e7l\u00fc veritabanlar\u0131 tercih edilir. Bu veritabanlar\u0131n\u0131 kullanmak isterseniz:<br \/>\n    1.  \u0130lgili veritaban\u0131 sunucusunu kurun (\u00f6rn: <code>sudo apt-get install postgresql postgresql-contrib libpq-dev<\/code> veya <code>sudo apt-get install mysql-server libmysqlclient-dev<\/code>).<br \/>\n    2.  Rails uygulaman\u0131z\u0131n <code>config\/database.yml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek veritaban\u0131 ayarlar\u0131n\u0131 yap\u0131n.<br \/>\n    3.  <code>Gemfile<\/code>&#8216;\u0131n\u0131za ilgili veritaban\u0131 adapt\u00f6r gem&#8217;ini ekleyin (\u00f6rn: <code>gem 'pg'<\/code> veya <code>gem 'mysql2'<\/code>).<br \/>\n    4.  <code>bundle install<\/code> ve <code>rails db:create<\/code> komutlar\u0131n\u0131 tekrar \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<p>*   <strong>Debian 7&#8217;nin S\u0131n\u0131rlamalar\u0131:<\/strong><br \/>\n    Unutulmamal\u0131d\u0131r ki Debian 7, g\u00fcncel g\u00fcvenlik yamalar\u0131n\u0131 almayan ve modern yaz\u0131l\u0131mlarla uyumluluk sorunlar\u0131 ya\u015fayabilecek eski bir i\u015fletim sistemidir. Bu ortamda geli\u015ftirme yapmak veya uygulama da\u011f\u0131tmak, g\u00fcvenlik ve performans a\u00e7\u0131s\u0131ndan riskler ta\u015f\u0131yabilir. Bu rehber daha \u00e7ok \u00f6\u011frenme veya eski sistemleri destekleme ama\u00e7l\u0131d\u0131r. Yeni projeler i\u00e7in her zaman g\u00fcncel bir Linux da\u011f\u0131t\u0131m\u0131 (Debian 11\/12, Ubuntu LTS) kullanman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehber boyunca, Ruby on Rails geli\u015ftirme ortam\u0131n\u0131 Debian 7 (Wheezy) \u00fczerine rbenv kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Ba\u015flang\u0131\u00e7taki sistem g\u00fcncellemesinden, gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131n kurulumuna, rbenv ve ruby-build&#8217;\u0131n yap\u0131land\u0131r\u0131lmas\u0131na, Ruby ve Rails&#8217;in kurulumuna ve son olarak ilk Rails uygulaman\u0131z\u0131 olu\u015fturup \u00e7al\u0131\u015ft\u0131rmaya kadar t\u00fcm s\u00fcreci ba\u015far\u0131yla tamamlad\u0131n\u0131z.<\/p>\n<p>Bu kurulum, eski bir i\u015fletim sistemi \u00fczerinde modern bir geli\u015ftirme \u00e7er\u00e7evesi \u00e7al\u0131\u015ft\u0131rman\u0131n getirdi\u011fi zorluklar\u0131 a\u015fmak i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015ft\u0131r. Art\u0131k g\u00fc\u00e7l\u00fc bir Ruby on Rails uygulamas\u0131 geli\u015ftirmeye ba\u015flamak i\u00e7in gerekli altyap\u0131ya sahipsiniz.<\/p>\n<p>Bundan sonraki ad\u0131mlar\u0131n\u0131z \u015funlar olabilir:<\/p>\n<p>*   <strong>Rails \u00d6\u011frenimi:<\/strong> Rails&#8217;in temel bile\u015fenlerini (Model, View, Controller), y\u00f6nlendirme, Active Record, formlar ve g\u00f6r\u00fcn\u00fcmler gibi konular\u0131 \u00f6\u011frenmeye ba\u015flay\u0131n. Rails K\u0131lavuzlar\u0131 (Rails Guides) harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<br \/>\n*   <strong>Git Kullan\u0131m\u0131:<\/strong> Uygulaman\u0131z\u0131n versiyon kontrol\u00fcn\u00fc sa\u011flamak i\u00e7in Git&#8217;i etkin bir \u015fekilde kullan\u0131n.<br \/>\n*   <strong>Test Yazma:<\/strong> Rails, test odakl\u0131 geli\u015ftirmeyi te\u015fvik eder. Uygulamalar\u0131n\u0131z i\u00e7in testler yazmay\u0131 \u00f6\u011frenin.<br \/>\n*   <strong>Da\u011f\u0131t\u0131m:<\/strong> Geli\u015ftirdi\u011finiz uygulamalar\u0131 bir sunucuya (\u00f6rne\u011fin Heroku, DigitalOcean, AWS) nas\u0131l da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 ara\u015ft\u0131r\u0131n.<\/p>\n<p>Unutmay\u0131n, yaz\u0131l\u0131m geli\u015ftirme s\u00fcrekli bir \u00f6\u011frenme s\u00fcrecidir. Bu kurulum, yolculu\u011funuzda sa\u011flam bir ba\u015flang\u0131\u00e7 noktas\u0131 olacakt\u0131r. Ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi\nBu kapsaml\u0131 teknik rehber, web geli\u015ftirme d\u00fcnyas\u0131n\u0131n en g\u00fc\u00e7l\u00fc ve \u00fcretke","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":[241],"tags":[],"class_list":{"0":"post-31385","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>Ruby on Rails&#039;i rbenv ile Debian 7 (Wheezy) \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\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby on Rails&#039;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ruby on Rails&#039;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi Bu kapsaml\u0131 teknik rehber, web geli\u015ftirme d\u00fcnyas\u0131n\u0131n en g\u00fc\u00e7l\u00fc ve \u00fcretke\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-09T06:40:58+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\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi\",\"datePublished\":\"2025-10-09T06:40:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\"},\"wordCount\":3355,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\",\"name\":\"Ruby on Rails'i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-09T06:40:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \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":"Ruby on Rails'i rbenv ile Debian 7 (Wheezy) \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\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ruby on Rails'i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi","og_description":"Ruby on Rails'i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi Bu kapsaml\u0131 teknik rehber, web geli\u015ftirme d\u00fcnyas\u0131n\u0131n en g\u00fc\u00e7l\u00fc ve \u00fcretke","og_url":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-09T06:40:58+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\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi","datePublished":"2025-10-09T06:40:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/"},"wordCount":3355,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/","name":"Ruby on Rails'i rbenv ile Debian 7 (Wheezy) \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-09T06:40:58+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ruby-on-railsi-rbenv-ile-debian-7-wheezy-uzerine-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ruby on Rails&#8217;i rbenv ile Debian 7 (Wheezy) \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\/31385","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=31385"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31385\/revisions"}],"predecessor-version":[{"id":31386,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31385\/revisions\/31386"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}