{"id":32878,"date":"2025-10-26T23:41:02","date_gmt":"2025-10-26T20:41:02","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32878"},"modified":"2025-10-26T23:41:02","modified_gmt":"2025-10-26T20:41:02","slug":"debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/","title":{"rendered":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu<\/h2>\n<p>Ruby on Rails, web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve pop\u00fcler bir a\u00e7\u0131k kaynak \u00e7er\u00e7evedir. &#8220;Convention over Configuration&#8221; (Yap\u0131land\u0131rma \u00dczerine Kural) prensibi ve h\u0131zl\u0131 geli\u015ftirme yetenekleri sayesinde bir\u00e7ok geli\u015ftiricinin tercihi olmu\u015ftur. Bu kapsaml\u0131 rehberde, eski ama hala baz\u0131 sistemlerde kar\u015f\u0131la\u015fabilece\u011finiz Debian 7.0 (Wheezy) i\u015fletim sistemi y\u00fckl\u00fc bir Sanal \u00d6zel Sunucu (VPS) \u00fczerine, Ruby s\u00fcr\u00fcmlerini kolayca y\u00f6netmenizi sa\u011flayacak RVM (Ruby Version Manager) kullanarak Ruby on Rails&#8217;i ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 anlataca\u011f\u0131z.<\/p>\n<p>Debian 7.0, 2013 y\u0131l\u0131nda piyasaya s\u00fcr\u00fclm\u00fc\u015f olsa da, baz\u0131 eski projeler, \u00f6zel gereksinimler veya \u00f6\u011frenme ama\u00e7l\u0131 senaryolar i\u00e7in hala bir VPS \u00fczerinde kullan\u0131labilir. Bu rehber, eski bir ortamda modern geli\u015ftirme ara\u00e7lar\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z konusunda size yol g\u00f6sterecektir. RVM kullan\u0131m\u0131, farkl\u0131 Rails projeleri i\u00e7in farkl\u0131 Ruby versiyonlar\u0131na ihtiya\u00e7 duydu\u011funuzda size b\u00fcy\u00fck esneklik sa\u011flayacakt\u0131r. Bu sayede, sisteminizde birden fazla Ruby s\u00fcr\u00fcm\u00fcn\u00fc izole bir \u015fekilde y\u00f6netebilir ve projeleriniz aras\u0131nda kolayca ge\u00e7i\u015f yapabilirsiniz.<\/p>\n<p>Bu makale, Linux komut sat\u0131r\u0131 ve temel sunucu y\u00f6netimi hakk\u0131nda bilgi sahibi olan geli\u015ftiriciler ve sistem y\u00f6neticileri i\u00e7in haz\u0131rlanm\u0131\u015ft\u0131r. Ad\u0131mlar\u0131 dikkatlice takip ederek, Debian 7.0 Wheezy VPS&#8217;inizde eksiksiz bir Ruby on Rails geli\u015ftirme ortam\u0131 kurabileceksiniz.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>Debian 7.0 (Wheezy) y\u00fckl\u00fc bir VPS:<\/strong> Bu rehber spesifik olarak Wheezy s\u00fcr\u00fcm\u00fcn\u00fc hedef almaktad\u0131r. Farkl\u0131 Debian s\u00fcr\u00fcmlerinde (\u00f6rne\u011fin Debian 8 Jessie veya daha yenileri) baz\u0131 ad\u0131mlar veya paket isimleri farkl\u0131l\u0131k g\u00f6sterebilir.<br \/>\n*   <strong>SSH eri\u015fimi:<\/strong> VPS&#8217;inize SSH \u00fczerinden ba\u011flanabilmeniz gerekmektedir. Genellikle root kullan\u0131c\u0131 veya sudo yetkilerine sahip bir kullan\u0131c\u0131 ile ba\u011flan\u0131l\u0131r.<br \/>\n*   <strong>Temel Linux komut sat\u0131r\u0131 bilgisi:<\/strong> <code>apt-get<\/code>, <code>cd<\/code>, <code>mkdir<\/code>, <code>nano<\/code> gibi temel komutlara a\u015fina olman\u0131z beklenir.<br \/>\n*   <strong>\u0130nternet ba\u011flant\u0131s\u0131:<\/strong> VPS&#8217;inizin internete ba\u011fl\u0131 olmas\u0131, gerekli paketleri ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 indirebilmek i\u00e7in zorunludur.<\/p>\n<h3>VPS Haz\u0131rl\u0131\u011f\u0131 ve Temel Sistem G\u00fcncellemeleri<\/h3>\n<p>Kurulum s\u00fcrecine ba\u015flamadan \u00f6nce VPS&#8217;inizin g\u00fcncel oldu\u011fundan ve gerekli temel paketlere sahip oldu\u011fundan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, daha sonra kar\u015f\u0131la\u015fabilece\u011finiz ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 minimize edecektir.<\/p>\n<h4>VPS&#8217;e SSH Ba\u011flant\u0131s\u0131<\/h4>\n<p>\u0130lk ad\u0131m, VPS&#8217;inize SSH arac\u0131l\u0131\u011f\u0131yla ba\u011flanmakt\u0131r. Terminal veya komut istemcinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu kullan\u0131n (IP_ADRESINIZ yerine VPS&#8217;inizin IP adresini yaz\u0131n):<\/p>\n<pre><code class=\"language-bash\">ssh root@IP_ADRESINIZ<\/code><\/pre>\n<p>E\u011fer root kullan\u0131c\u0131s\u0131 yerine sudo yetkilerine sahip bir kullan\u0131c\u0131 kullan\u0131yorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">ssh kullanici_adi@IP_ADRESINIZ<\/code><\/pre>\n<p>Ba\u011fland\u0131ktan sonra, root yetkilerini almak i\u00e7in <code>sudo su -<\/code> komutunu kullanabilirsiniz.<\/p>\n<h4>Sistem G\u00fcncellemesi ve Temel Paketlerin Kurulumu<\/h4>\n<p>Sistemi g\u00fcncel tutmak, g\u00fcvenlik yamalar\u0131n\u0131 almak ve paket ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 do\u011fru bir \u015fekilde \u00e7\u00f6zmek i\u00e7in kritik \u00f6neme sahiptir. Debian 7.0&#8217;\u0131n depolar\u0131 eski olsa da, mevcut en g\u00fcncel paketleri \u00e7ekmek i\u00e7in sisteminizi g\u00fcncellemelisiniz.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade -y<\/code><\/pre>\n<p><code>apt-get update<\/code> komutu, paket listelerini g\u00fcncellerken, <code>apt-get upgrade -y<\/code> komutu ise mevcut paketlerin yeni versiyonlar\u0131n\u0131 otomatik olarak kurar. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermeyi sa\u011flar.<\/p>\n<p>Ruby ve Rails&#8217;in sorunsuz bir \u015fekilde \u00e7al\u0131\u015fmas\u0131 i\u00e7in \u00e7e\u015fitli geli\u015ftirme ara\u00e7lar\u0131na ve k\u00fct\u00fcphanelerine ihtiyac\u0131m\u0131z var. Bu k\u00fct\u00fcphaneler, Ruby kaynak kodundan derlenirken veya baz\u0131 Ruby gem&#8217;leri (paketleri) kurulurken gereklidir. A\u015fa\u011f\u0131daki komutla bu temel ba\u011f\u0131ml\u0131l\u0131klar\u0131 kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y build-essential curl git libssl-dev libreadline-dev zlib1g-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libgdbm-dev libncurses5-dev automake libtool bison libffi-dev imagemagick libmagickwand-dev<\/code><\/pre>\n<p>Bu komutun kurdu\u011fu \u00f6nemli paketler ve ama\u00e7lar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <code>build-essential<\/code>: C\/C++ derleyicileri ve make gibi temel geli\u015ftirme ara\u00e7lar\u0131n\u0131 i\u00e7erir. Ruby&#8217;nin kaynak koddan derlenmesi i\u00e7in gereklidir.<br \/>\n*   <code>curl<\/code>: Uzak sunuculardan dosya indirmek i\u00e7in kullan\u0131l\u0131r. RVM kurulumunda ve \u00e7e\u015fitli di\u011fer indirme i\u015flemlerinde faydal\u0131d\u0131r.<br \/>\n*   <code>git<\/code>: Versiyon kontrol sistemi. Rails projeleri genellikle Git ile y\u00f6netilir ve RVM de Git \u00fczerinden \u00e7ekilebilir.<br \/>\n*   <code>libssl-dev<\/code>: SSL\/TLS k\u00fct\u00fcphaneleri. HTTPS ba\u011flant\u0131lar\u0131 i\u00e7in gereklidir.<br \/>\n*   <code>libreadline-dev<\/code>: Etkile\u015fimli konsol i\u00e7in gereklidir (\u00f6rne\u011fin <code>irb<\/code>).<br \/>\n*   <code>zlib1g-dev<\/code>: Zlib s\u0131k\u0131\u015ft\u0131rma k\u00fct\u00fcphanesi. Baz\u0131 gem&#8217;ler ve Ruby&#8217;nin kendisi i\u00e7in gereklidir.<br \/>\n*   <code>libyaml-dev<\/code>: YAML ayr\u0131\u015ft\u0131rma k\u00fct\u00fcphanesi. Ruby&#8217;nin ve baz\u0131 gem&#8217;lerin yap\u0131land\u0131rma dosyalar\u0131n\u0131 okumas\u0131 i\u00e7in gereklidir.<br \/>\n*   <code>libsqlite3-dev<\/code>, <code>sqlite3<\/code>: SQLite veritaban\u0131 ve geli\u015ftirme dosyalar\u0131. Rails&#8217;in varsay\u0131lan veritaban\u0131 olarak SQLite&#8217;\u0131 kullanmas\u0131 i\u00e7in gereklidir.<br \/>\n*   <code>libxml2-dev<\/code>, <code>libxslt1-dev<\/code>: XML ve XSLT i\u015fleme k\u00fct\u00fcphaneleri. Nokogiri gibi pop\u00fcler gem&#8217;ler i\u00e7in gereklidir.<br \/>\n*   <code>libgdbm-dev<\/code>, <code>libncurses5-dev<\/code>: \u00c7e\u015fitli Ruby ba\u011f\u0131ml\u0131l\u0131klar\u0131 i\u00e7in gerekli ek k\u00fct\u00fcphaneler.<br \/>\n*   <code>automake<\/code>, <code>libtool<\/code>, <code>bison<\/code>: Derleme s\u00fcrecinde kullan\u0131lan yard\u0131mc\u0131 ara\u00e7lar.<br \/>\n*   <code>libffi-dev<\/code>: Foreign Function Interface k\u00fct\u00fcphanesi. Baz\u0131 gem&#8217;ler i\u00e7in gereklidir.<br \/>\n*   <code>imagemagick<\/code>, <code>libmagickwand-dev<\/code>: Resim i\u015fleme yetenekleri i\u00e7in. CarrierWave veya Paperclip gibi dosya y\u00fckleme gem&#8217;leri kullan\u0131ld\u0131\u011f\u0131nda gereklidir.<\/p>\n<p>Bu paketlerin kurulumu biraz zaman alabilir. \u0130\u015flem tamamland\u0131\u011f\u0131nda, sisteminiz Ruby on Rails kurulumuna haz\u0131r hale gelecektir.<\/p>\n<h3>RVM (Ruby Version Manager) Kurulumu<\/h3>\n<p>RVM, ayn\u0131 sistemde birden fazla Ruby s\u00fcr\u00fcm\u00fcn\u00fc kurman\u0131za, y\u00f6netmenize ve aralar\u0131nda ge\u00e7i\u015f yapman\u0131za olanak tan\u0131yan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu, \u00f6zellikle farkl\u0131 Ruby versiyonlar\u0131na ba\u011f\u0131ml\u0131 birden fazla Rails projesi \u00fczerinde \u00e7al\u0131\u015f\u0131yorsan\u0131z \u00e7ok faydal\u0131d\u0131r.<\/p>\n<h4>GPG Anahtar\u0131n\u0131n \u0130\u00e7e Aktar\u0131lmas\u0131<\/h4>\n<p>RVM&#8217;i g\u00fcvenli bir \u015fekilde kurmak i\u00e7in, RVM&#8217;in GPG anahtar\u0131n\u0131 sisteminize eklemeniz gerekir. Bu, indirdi\u011finiz RVM paketinin orijinal ve de\u011fi\u015ftirilmemi\u015f oldu\u011funu do\u011frulamaya yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">gpg --keyserver hkp:\/\/keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3<\/code><\/pre>\n<p>Bu komut, RVM&#8217;in GPG anahtar\u0131n\u0131 <code>keys.gnupg.net<\/code> anahtar sunucusundan al\u0131r ve yerel GPG anahtar halk\u0131n\u0131za ekler. \u0130nternet ba\u011flant\u0131n\u0131za ba\u011fl\u0131 olarak bu i\u015flem birka\u00e7 saniye s\u00fcrebilir. E\u011fer anahtar sunucusuna ba\u011flanmada sorun ya\u015farsan\u0131z, farkl\u0131 bir anahtar sunucusu deneyebilir veya alternatif bir y\u00f6ntem kullanabilirsiniz (ancak bu genellikle gerekli de\u011fildir).<\/p>\n<h4>RVM Kurulum Komutu<\/h4>\n<p>GPG anahtar\u0131n\u0131 i\u00e7e aktard\u0131ktan sonra, RVM&#8217;i kurabiliriz. Resmi RVM web sitesinde belirtilen kurulum komutunu kullanmak en g\u00fcvenli yoldur. Bu komut, RVM&#8217;in kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc indirir ve kurar.<\/p>\n<pre><code class=\"language-bash\">\\curl -sSL https:\/\/get.rvm.io | bash -s stable<\/code><\/pre>\n<p><code>\\curl<\/code> kullan\u0131m\u0131, sisteminizde kurulu olabilecek <code>curl<\/code> alias&#8217;lar\u0131n\u0131 (takma adlar\u0131n\u0131) atlamay\u0131 sa\u011flar ve komutun direkt olarak <code>curl<\/code> ikili dosyas\u0131n\u0131 kullanmas\u0131n\u0131 garantiler. <code>-sSL<\/code> bayraklar\u0131 s\u0131ras\u0131yla &#8220;silent&#8221; (sessiz), &#8220;show error&#8221; (hatalar\u0131 g\u00f6ster) ve &#8220;follow redirects&#8221; (y\u00f6nlendirmeleri takip et) anlamlar\u0131na gelir. Bu komut, RVM kurulum beti\u011fini indirir ve <code>bash<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131r. Kurulum s\u00fcresi, internet h\u0131z\u0131n\u0131za ve sunucunuzun performans\u0131na ba\u011fl\u0131 olarak de\u011fi\u015febilir.<\/p>\n<h4>RVM Ortam\u0131n\u0131n Y\u00fcklenmesi<\/h4>\n<p>RVM kurulumu tamamland\u0131ktan sonra, RVM komutlar\u0131n\u0131n kullan\u0131labilmesi i\u00e7in mevcut kabuk oturumunuza RVM ortam\u0131n\u0131 y\u00fcklemeniz gerekir. Bu genellikle RVM&#8217;in kurulum beti\u011fi taraf\u0131ndan otomatik olarak <code>.bashrc<\/code> veya <code>.bash_profile<\/code> gibi kabuk yap\u0131land\u0131rma dosyalar\u0131na eklenir. Ancak, yeni bir terminal oturumu a\u00e7ana kadar veya manuel olarak kaynak g\u00f6stermedi\u011finiz s\u00fcrece mevcut oturumda hemen etkin olmayabilir.<\/p>\n<pre><code class=\"language-bash\">source ~\/.rvm\/scripts\/rvm<\/code><\/pre>\n<p>Bu komut, RVM&#8217;in betiklerini mevcut kabuk oturumunuza y\u00fckler. Her yeni SSH oturumunda bu komutu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekmez; RVM genellikle bunu sizin i\u00e7in otomatik olarak yapar. Ancak, kurulumdan hemen sonra RVM komutlar\u0131n\u0131 kullanmak i\u00e7in bu ad\u0131m\u0131 atmak \u00f6nemlidir.<\/p>\n<h4>RVM Kurulumunun Do\u011frulanmas\u0131<\/h4>\n<p>RVM&#8217;in ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">rvm -v<\/code><\/pre>\n<p>Bu komut, kurulu RVM s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir. \u00d6rne\u011fin, <code>rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski [https:\/\/rvm.io]<\/code> gibi bir \u00e7\u0131kt\u0131 almal\u0131s\u0131n\u0131z. E\u011fer komut bulunamad\u0131 hatas\u0131 al\u0131rsan\u0131z, <code>source ~\/.rvm\/scripts\/rvm<\/code> komutunu do\u011fru \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan veya yeni bir SSH oturumu a\u00e7t\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h3>Ruby Kurulumu (RVM ile)<\/h3>\n<p>RVM kurulu oldu\u011funa g\u00f6re, \u015fimdi istedi\u011fimiz Ruby s\u00fcr\u00fcm\u00fcn\u00fc kurabiliriz. Debian 7.0 (Wheezy) eski bir i\u015fletim sistemi oldu\u011fu i\u00e7in, \u00e7ok yeni Ruby s\u00fcr\u00fcmlerini derlemekte zorluk ya\u015fayabiliriz. Bu nedenle, Ruby 2.1.x veya 2.2.x gibi daha eski ama kararl\u0131 bir s\u00fcr\u00fcm\u00fc tercih etmek daha g\u00fcvenli olacakt\u0131r. Bu rehber i\u00e7in Ruby 2.1.10 s\u00fcr\u00fcm\u00fcn\u00fc kullanaca\u011f\u0131z, \u00e7\u00fcnk\u00fc bu s\u00fcr\u00fcm Rails 4.x ile uyumludur ve Wheezy \u00fczerinde derlenmesi daha olas\u0131d\u0131r.<\/p>\n<h4>Gerekli Ruby Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n Kontrol\u00fc<\/h4>\n<p>RVM, Ruby&#8217;yi derlemek i\u00e7in gerekli olan t\u00fcm sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 otomatik olarak kontrol edebilir ve size eksik olanlar\u0131 bildirebilir. Bu, \u00f6zellikle eski sistemlerde faydal\u0131d\u0131r. A\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak RVM&#8217;in ba\u011f\u0131ml\u0131l\u0131klar\u0131 kontrol etmesini sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">rvm requirements<\/code><\/pre>\n<p>Bu komut, sisteminizde eksik olan ba\u011f\u0131ml\u0131l\u0131klar\u0131 listeleyecektir. E\u011fer herhangi bir eksiklik bildirirse, <code>sudo apt-get install -y <eksik_paketler><\/code> komutu ile bunlar\u0131 kurman\u0131z gerekebilir. Genellikle, ilk ba\u015fta kurdu\u011fumuz <code>build-essential<\/code> ve di\u011fer k\u00fct\u00fcphaneler \u00e7o\u011fu gereksinimi kar\u015f\u0131lar.<\/p>\n<h4>Ruby Versiyonunun Y\u00fcklenmesi<\/h4>\n<p>\u015eimdi Ruby&#8217;yi RVM kullanarak kural\u0131m. Bu i\u015flem, Ruby kaynak kodunu indirir, derler ve RVM&#8217;in y\u00f6netti\u011fi dizine kurar. Bu i\u015flem, sunucunuzun i\u015flem g\u00fcc\u00fcne ve internet h\u0131z\u0131na ba\u011fl\u0131 olarak olduk\u00e7a zaman alabilir (10-30 dakika).<\/p>\n<pre><code class=\"language-bash\">rvm install ruby-2.1.10<\/code><\/pre>\n<p>E\u011fer farkl\u0131 bir Ruby s\u00fcr\u00fcm\u00fc kurmak isterseniz, <code>ruby-2.1.10<\/code> yerine istedi\u011finiz s\u00fcr\u00fcm\u00fc yazabilirsiniz (\u00f6rne\u011fin <code>ruby-2.2.10<\/code>). Kurulum s\u0131ras\u0131nda derleyici \u00e7\u0131kt\u0131lar\u0131n\u0131 g\u00f6receksiniz. Herhangi bir hata olu\u015fursa, genellikle eksik bir ba\u011f\u0131ml\u0131l\u0131ktan kaynaklan\u0131r. Hata mesajlar\u0131n\u0131 dikkatlice okuyarak sorunu te\u015fhis edebilirsiniz.<\/p>\n<h4>Varsay\u0131lan Ruby Versiyonunun Ayarlanmas\u0131<\/h4>\n<p>Birden fazla Ruby s\u00fcr\u00fcm\u00fcn\u00fcz oldu\u011funda, RVM&#8217;e hangi s\u00fcr\u00fcm\u00fcn varsay\u0131lan olarak kullan\u0131laca\u011f\u0131n\u0131 s\u00f6yleyebilirsiniz. Bu, yeni bir terminal oturumu a\u00e7t\u0131\u011f\u0131n\u0131zda veya <code>rvm use<\/code> komutunu a\u00e7\u0131k\u00e7a belirtmedi\u011finizde kullan\u0131lacak s\u00fcr\u00fcmd\u00fcr.<\/p>\n<pre><code class=\"language-bash\">rvm use ruby-2.1.10 --default<\/code><\/pre>\n<p>Bu komut, <code>ruby-2.1.10<\/code> s\u00fcr\u00fcm\u00fcn\u00fc varsay\u0131lan olarak ayarlar. Art\u0131k her yeni kabuk oturumunda bu Ruby s\u00fcr\u00fcm\u00fc otomatik olarak etkinle\u015ftirilecektir.<\/p>\n<h4>Gemset Olu\u015fturma (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h4>\n<p>RVM&#8217;in g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri de &#8220;gemset&#8221;lerdir. Gemsetler, her Ruby s\u00fcr\u00fcm\u00fc i\u00e7in izole edilmi\u015f gem koleksiyonlar\u0131 olu\u015fturman\u0131za olanak tan\u0131r. Bu, farkl\u0131 Rails projelerinin farkl\u0131 gem versiyonlar\u0131na ihtiya\u00e7 duymas\u0131 durumunda \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler. \u00d6rne\u011fin, bir proje Rails 4 kullan\u0131rken, di\u011feri Rails 3 kullanabilir ve her biri kendi ba\u011f\u0131ml\u0131l\u0131k setine sahip olabilir.<\/p>\n<p>Ruby 2.1.10 i\u00e7in &#8220;rails4&#8221; ad\u0131nda bir gemset olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">rvm gemset create rails4\nrvm use ruby-2.1.10@rails4 --default<\/code><\/pre>\n<p>\u0130lk komut, <code>rails4<\/code> ad\u0131nda yeni bir gemset olu\u015fturur. \u0130kinci komut ise hem <code>ruby-2.1.10<\/code> s\u00fcr\u00fcm\u00fcn\u00fc hem de <code>rails4<\/code> gemsetini varsay\u0131lan olarak ayarlar. Art\u0131k bu gemset i\u00e7inde kuraca\u011f\u0131n\u0131z t\u00fcm gem&#8217;ler di\u011fer gemsetlerden veya di\u011fer Ruby s\u00fcr\u00fcmlerinden izole edilmi\u015f olacakt\u0131r.<\/p>\n<h4>Ruby Kurulumunun Do\u011frulanmas\u0131<\/h4>\n<p>Ruby&#8217;nin do\u011fru bir \u015fekilde kuruldu\u011funu ve varsay\u0131lan olarak ayarland\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">ruby -v\ngem -v\nwhich ruby\nwhich gem<\/code><\/pre>\n<p><code>ruby -v<\/code> komutu, kurdu\u011funuz Ruby s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin <code>ruby 2.1.10p424 (2014-05-14 revision 45840) [x86_64-linux]<\/code>) g\u00f6stermelidir. <code>gem -v<\/code> komutu, kurulu Gem y\u00f6neticisinin s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir. <code>which ruby<\/code> ve <code>which gem<\/code> komutlar\u0131 ise RVM taraf\u0131ndan y\u00f6netilen Ruby ve Gem ikili dosyalar\u0131n\u0131n yolunu (\u00f6rne\u011fin <code>\/home\/kullanici_adi\/.rvm\/rubies\/ruby-2.1.10\/bin\/ruby<\/code>) g\u00f6stermelidir.<\/p>\n<h3>Rails Kurulumu<\/h3>\n<p>Ruby ba\u015far\u0131yla kuruldu\u011funa ve yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131na g\u00f6re, \u015fimdi Ruby on Rails \u00e7er\u00e7evesini kurabiliriz. Rails, bir Ruby gem&#8217;idir, bu y\u00fczden <code>gem install<\/code> komutu ile kurulur. Debian 7.0 ve Ruby 2.1.10 i\u00e7in Rails 4.x serisi uygun bir se\u00e7im olacakt\u0131r. Rails 5.x ve \u00fczeri, genellikle Ruby 2.2.2 veya daha yeni s\u00fcr\u00fcmleri gerektirir.<\/p>\n<h4>Bundler Kurulumu<\/h4>\n<p>Rails uygulamalar\u0131 genellikle ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netmek i\u00e7in Bundler kullan\u0131r. Rails&#8217;i kurmadan \u00f6nce Bundler&#8217;\u0131 kurmak iyi bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-bash\">gem install bundler<\/code><\/pre>\n<p>Bu komut, Bundler gem&#8217;ini mevcut gemsetinize (veya varsay\u0131lan gemsetinize) kurar.<\/p>\n<h4>Rails Gem&#8217;inin Kurulumu<\/h4>\n<p>\u015eimdi Rails gem&#8217;ini kural\u0131m. Rails 4.x serisinin son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in belirli bir s\u00fcr\u00fcm belirtebiliriz. \u00d6rne\u011fin, Rails 4.2.11.1 son kararl\u0131 Rails 4 s\u00fcr\u00fcm\u00fcd\u00fcr.<\/p>\n<pre><code class=\"language-bash\">gem install rails -v 4.2.11.1<\/code><\/pre>\n<p>Bu komut, belirtilen Rails s\u00fcr\u00fcm\u00fcn\u00fc ve t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kuracakt\u0131r. Bu i\u015flem, bir\u00e7ok gem&#8217;in indirilip kurulmas\u0131n\u0131 gerektirdi\u011fi i\u00e7in biraz zaman alabilir. Kurulum s\u0131ras\u0131nda ilerleme durumunu ve kurulan gem&#8217;leri g\u00f6receksiniz.<\/p>\n<p>E\u011fer belirli bir s\u00fcr\u00fcm belirtmezseniz (<code>gem install rails<\/code>), RVM&#8217;in kurulu Ruby s\u00fcr\u00fcm\u00fcyle uyumlu olan en son Rails s\u00fcr\u00fcm\u00fcn\u00fc kurmaya \u00e7al\u0131\u015facakt\u0131r. Ancak eski bir Ruby s\u00fcr\u00fcm\u00fcyle \u00e7al\u0131\u015f\u0131rken belirli bir Rails s\u00fcr\u00fcm\u00fcn\u00fc hedeflemek genellikle daha g\u00fcvenlidir.<\/p>\n<h4>Rails Kurulumunun Do\u011frulanmas\u0131<\/h4>\n<p>Rails&#8217;in ba\u015far\u0131yla kuruldu\u011funu do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">rails -v<\/code><\/pre>\n<p>Bu komut, kurdu\u011funuz Rails s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin <code>Rails 4.2.11.1<\/code>) g\u00f6stermelidir. E\u011fer <code>rails<\/code> komutu bulunamad\u0131 hatas\u0131 al\u0131rsan\u0131z, RVM ortam\u0131n\u0131z\u0131n do\u011fru y\u00fcklendi\u011finden ve Rails gem&#8217;inin do\u011fru gemset&#8217;e kuruldu\u011fundan emin olun.<\/p>\n<h3>\u0130lk Rails Uygulamas\u0131n\u0131n Olu\u015fturulmas\u0131 ve \u00c7al\u0131\u015ft\u0131r\u0131lmas\u0131<\/h3>\n<p>Tebrikler! Ruby, RVM ve Rails ba\u015far\u0131yla kuruldu. \u015eimdi ilk Rails uygulaman\u0131z\u0131 olu\u015fturabilir ve \u00e7al\u0131\u015ft\u0131rarak kurulumunuzu test edebilirsiniz.<\/p>\n<h4>Yeni Bir Rails Uygulamas\u0131 Olu\u015fturma<\/h4>\n<p>\u0130lk olarak, uygulamalar\u0131n\u0131z\u0131 depolamak i\u00e7in bir dizin olu\u015fturun ve bu dizine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/rails_apps\ncd ~\/rails_apps<\/code><\/pre>\n<p>\u015eimdi <code>myapp<\/code> ad\u0131nda yeni bir Rails uygulamas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">rails new myapp<\/code><\/pre>\n<p>Bu komut, <code>myapp<\/code> ad\u0131nda yeni bir dizin olu\u015fturacak ve i\u00e7ine temel bir Rails uygulama yap\u0131s\u0131 kuracakt\u0131r. Varsay\u0131lan olarak SQLite veritaban\u0131 ile gelir. \u0130\u015flem tamamland\u0131\u011f\u0131nda, yeni olu\u015fturulan uygulama dizinine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd myapp<\/code><\/pre>\n<h4>Veritaban\u0131 Yap\u0131land\u0131rmas\u0131 (SQLite)<\/h4>\n<p>Yeni bir Rails uygulamas\u0131 olu\u015fturuldu\u011funda, <code>Gemfile<\/code> dosyas\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 (gem&#8217;leri) kurmak i\u00e7in <code>bundle install<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmak \u00f6nemlidir. Bu, uygulaman\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli t\u00fcm gem&#8217;lerin do\u011fru versiyonlar\u0131n\u0131n kurulmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">bundle install<\/code><\/pre>\n<p><code>bundle install<\/code> komutu, <code>Gemfile.lock<\/code> dosyas\u0131n\u0131 olu\u015fturur veya g\u00fcnceller ve uygulaman\u0131n t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurar. Bu i\u015flem de biraz zaman alabilir.<\/p>\n<p>Ard\u0131ndan, veritaban\u0131n\u0131 olu\u015ftural\u0131m. Rails&#8217;in varsay\u0131lan olarak SQLite kulland\u0131\u011f\u0131n\u0131 varsayarsak:<\/p>\n<pre><code class=\"language-bash\">rake db:create<\/code><\/pre>\n<p>Bu komut, uygulaman\u0131z i\u00e7in geli\u015ftirme ve test veritabanlar\u0131n\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>Rails Sunucusunu Ba\u015flatma<\/h4>\n<p>Uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmak ve web taray\u0131c\u0131n\u0131zdan eri\u015fmek i\u00e7in Rails sunucusunu ba\u015flatman\u0131z gerekir. VPS \u00fczerinde \u00e7al\u0131\u015f\u0131rken, sunucunun d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 i\u00e7in belirli bir IP adresine ba\u011flanmas\u0131n\u0131 sa\u011flamal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">rails server -b 0.0.0.0<\/code><\/pre>\n<p><code>-b 0.0.0.0<\/code> bayra\u011f\u0131, Rails sunucusunun t\u00fcm a\u011f aray\u00fczlerinden gelen ba\u011flant\u0131lar\u0131 dinlemesini sa\u011flar. Bu, VPS&#8217;inizin genel IP adresini kullanarak uygulaman\u0131za eri\u015febilece\u011finiz anlam\u0131na gelir. Varsay\u0131lan olarak Rails sunucusu 3000 portunda \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>Sunucu ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131nda, terminalde <code>WEBrick::HTTPServer#start: pid=... port=3000<\/code> gibi bir \u00e7\u0131kt\u0131 g\u00f6receksiniz.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131 (Uygulaman\u0131n Eri\u015filebilirli\u011fi \u0130\u00e7in)<\/h4>\n<p>E\u011fer VPS&#8217;inizde bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin <code>iptables<\/code> veya <code>ufw<\/code>) etkinse, 3000 numaral\u0131 portun d\u0131\u015far\u0131dan eri\u015fime a\u00e7\u0131k oldu\u011fundan emin olman\u0131z gerekir. Aksi takdirde, web taray\u0131c\u0131n\u0131zdan uygulaman\u0131za eri\u015femezsiniz.<\/p>\n<p><strong>\u00d6rnek iptables komutu (Dikkatli Kullan\u0131n!):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT\nsudo iptables-save | sudo tee \/etc\/iptables\/rules.v4<\/code><\/pre>\n<p>Bu komutlar, 3000 portuna gelen TCP ba\u011flant\u0131lar\u0131na izin verir. G\u00fcvenlik duvar\u0131 yap\u0131land\u0131rman\u0131z VPS sa\u011flay\u0131c\u0131n\u0131za veya kendi ayarlar\u0131n\u0131za g\u00f6re de\u011fi\u015febilir. Bu ad\u0131m\u0131 atlamadan \u00f6nce g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 kontrol etti\u011finizden emin olun.<\/p>\n<h4>Uygulamay\u0131 Taray\u0131c\u0131da G\u00f6r\u00fcnt\u00fcleme<\/h4>\n<p>Rails sunucusu \u00e7al\u0131\u015f\u0131rken, web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve VPS&#8217;inizin IP adresini ve 3000 portunu kullanarak uygulaman\u0131za eri\u015fin:<\/p>\n<pre><code class=\"language-\">http:\/\/IP_ADRESINIZ:3000<\/code><\/pre>\n<p>E\u011fer her \u015fey do\u011fru kurulduysa, Rails&#8217;in varsay\u0131lan &#8220;Yay! You\u2019re on Rails!&#8221; kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu, Ruby on Rails uygulaman\u0131z\u0131n ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<h3>Ek Veritabanlar\u0131 ve Di\u011fer Bile\u015fenler (PostgreSQL\/MySQL)<\/h3>\n<p>Rails&#8217;in varsay\u0131lan veritaban\u0131 SQLite olsa da, \u00fcretim ortamlar\u0131nda veya daha karma\u015f\u0131k projelerde genellikle PostgreSQL veya MySQL gibi daha g\u00fc\u00e7l\u00fc veritabanlar\u0131 tercih edilir. Bu b\u00f6l\u00fcmde, bu veritabanlar\u0131n\u0131 nas\u0131l kurup Rails uygulaman\u0131zla entegre edece\u011finizi \u00f6zetleyece\u011fiz.<\/p>\n<h4>PostgreSQL Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>PostgreSQL, g\u00fc\u00e7l\u00fc, a\u00e7\u0131k kaynakl\u0131 bir ili\u015fkisel veritaban\u0131 sistemidir ve Rails geli\u015ftiricileri aras\u0131nda pop\u00fclerdir.<\/p>\n<p>1.  <strong>PostgreSQL ve Geli\u015ftirme K\u00fct\u00fcphanelerini Kurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y postgresql postgresql-client libpq-dev<\/code><\/pre>\n<p>    <code>libpq-dev<\/code> paketi, Ruby&#8217;nin PostgreSQL ile etkile\u015fime girmesi i\u00e7in gerekli olan geli\u015ftirme dosyalar\u0131n\u0131 i\u00e7erir.<\/p>\n<p>2.  <strong>PostgreSQL Kullan\u0131c\u0131s\u0131 ve Veritaban\u0131 Olu\u015fturma:<\/strong><br \/>\n    PostgreSQL, varsay\u0131lan olarak <code>postgres<\/code> ad\u0131nda bir s\u00fcper kullan\u0131c\u0131 hesab\u0131 olu\u015fturur. Bu hesapla veritaban\u0131 i\u015flemleri yapabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres createuser -s kullanici_adi # Kendi kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 yaz\u0131n\n    sudo -u postgres createdb myapp_development # Uygulaman\u0131z\u0131n veritaban\u0131 ad\u0131<\/code><\/pre>\n<p>    \u0130ste\u011fe ba\u011fl\u0131 olarak, olu\u015fturdu\u011funuz kullan\u0131c\u0131 i\u00e7in bir parola belirleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres psql\n    ALTER USER kullanici_adi WITH PASSWORD 'sifre';\n    \\q<\/code><\/pre>\n<p>3.  <strong>Rails Uygulamas\u0131nda <code>database.yml<\/code> Ayarlar\u0131:<\/strong><br \/>\n    Uygulaman\u0131z\u0131n <code>config\/database.yml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek PostgreSQL&#8217;i kullanmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-yaml\"># config\/database.yml\n    development:\n      adapter: postgresql\n      encoding: unicode\n      database: myapp_development\n      pool: 5\n      username: kullanici_adi\n      password: sifre\n      host: localhost\n    \n    test:\n      adapter: postgresql\n      encoding: unicode\n      database: myapp_test\n      pool: 5\n      username: kullanici_adi\n      password: sifre\n      host: localhost\n    \n    production:\n      adapter: postgresql\n      encoding: unicode\n      database: myapp_production\n      pool: 5\n      username: kullanici_adi\n      password: sifre\n      host: localhost<\/code><\/pre>\n<p>    <code>username<\/code> ve <code>password<\/code> alanlar\u0131n\u0131 kendi olu\u015fturdu\u011funuz bilgilerle de\u011fi\u015ftirin.<\/p>\n<p>4.  <strong><code>pg<\/code> Gem&#8217;ini Kurma:<\/strong><br \/>\n    <code>Gemfile<\/code> dosyan\u0131zda <code>gem 'pg'<\/code> sat\u0131r\u0131n\u0131n yorum sat\u0131r\u0131 olmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n (veya ekleyin) ve <code>bundle install<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ruby\"># Gemfile\n    gem 'pg'<\/code><\/pre>\n<pre><code class=\"language-bash\">bundle install\n    rake db:create<\/code><\/pre>\n<h4>MySQL Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>MySQL, bir di\u011fer pop\u00fcler a\u00e7\u0131k kaynakl\u0131 ili\u015fkisel veritaban\u0131 y\u00f6netim sistemidir.<\/p>\n<p>1.  <strong>MySQL Sunucusu ve Geli\u015ftirme K\u00fct\u00fcphanelerini Kurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y mysql-server libmysqlclient-dev<\/code><\/pre>\n<p>    Kurulum s\u0131ras\u0131nda sizden <code>root<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in bir parola belirlemeniz istenecektir. Bu parolay\u0131 unutmay\u0131n. <code>libmysqlclient-dev<\/code> paketi, Ruby&#8217;nin MySQL ile etkile\u015fime girmesi i\u00e7in gereklidir.<\/p>\n<p>2.  <strong>MySQL Kullan\u0131c\u0131s\u0131 ve Veritaban\u0131 Olu\u015fturma:<\/strong><br \/>\n    MySQL&#8217;e <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>    Parolan\u0131z\u0131 girdikten sonra MySQL komut istemcisine d\u00fc\u015feceksiniz. Burada yeni bir kullan\u0131c\u0131 ve veritaban\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE myapp_development;\n    CREATE USER 'kullanici_adi'@'localhost' IDENTIFIED BY 'sifre';\n    GRANT ALL PRIVILEGES ON myapp_development.* TO 'kullanici_adi'@'localhost';\n    FLUSH PRIVILEGES;\n    EXIT;<\/code><\/pre>\n<p>    <code>myapp_development<\/code>, <code>kullanici_adi<\/code> ve <code>sifre<\/code> de\u011ferlerini kendi tercihlerinizle de\u011fi\u015ftirin.<\/p>\n<p>3.  <strong>Rails Uygulamas\u0131nda <code>database.yml<\/code> Ayarlar\u0131:<\/strong><br \/>\n    Uygulaman\u0131z\u0131n <code>config\/database.yml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek MySQL&#8217;i kullanmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-yaml\"># config\/database.yml\n    development:\n      adapter: mysql2\n      encoding: utf8\n      database: myapp_development\n      pool: 5\n      username: kullanici_adi\n      password: sifre\n      host: localhost\n    \n    test:\n      adapter: mysql2\n      encoding: utf8\n      database: myapp_test\n      pool: 5\n      username: kullanici_adi\n      password: sifre\n      host: localhost\n    \n    production:\n      adapter: mysql2\n      encoding: utf8\n      database: myapp_production\n      pool: 5\n      username: kullanici_adi\n      password: sifre\n      host: localhost<\/code><\/pre>\n<p>    <code>username<\/code> ve <code>password<\/code> alanlar\u0131n\u0131 kendi olu\u015fturdu\u011funuz bilgilerle de\u011fi\u015ftirin.<\/p>\n<p>4.  <strong><code>mysql2<\/code> Gem&#8217;ini Kurma:<\/strong><br \/>\n    <code>Gemfile<\/code> dosyan\u0131zda <code>gem 'mysql2'<\/code> sat\u0131r\u0131n\u0131n yorum sat\u0131r\u0131 olmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n (veya ekleyin) ve <code>bundle install<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ruby\"># Gemfile\n    gem 'mysql2'<\/code><\/pre>\n<pre><code class=\"language-bash\">bundle install\n    rake db:create<\/code><\/pre>\n<p>Bu ad\u0131mlarla, Rails uygulaman\u0131z\u0131 PostgreSQL veya MySQL gibi daha g\u00fc\u00e7l\u00fc veritabanlar\u0131 ile kullanmaya ba\u015flayabilirsiniz.<\/p>\n<h3>Yayg\u0131n Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Kurulum s\u00fcreci boyunca veya sonras\u0131nda baz\u0131 sorunlarla kar\u015f\u0131la\u015fman\u0131z olas\u0131d\u0131r. \u0130\u015fte s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan baz\u0131 sorunlar ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>Ba\u011f\u0131ml\u0131l\u0131k Hatalar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> Ruby&#8217;yi veya baz\u0131 gem&#8217;leri kurarken derleme hatalar\u0131 al\u0131yorsunuz (\u00f6rne\u011fin <code>missing header files<\/code>, <code>cannot find -lz<\/code>, <code>undefined reference to ...<\/code>).<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle eksik sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131ndan kaynaklan\u0131r. <code>build-essential<\/code>, <code>libssl-dev<\/code>, <code>zlib1g-dev<\/code>, <code>libyaml-dev<\/code>, <code>libsqlite3-dev<\/code>, <code>libxml2-dev<\/code>, <code>libxslt1-dev<\/code>, <code>libffi-dev<\/code> gibi paketlerin y\u00fckl\u00fc oldu\u011fundan emin olun. Gerekirse <code>rvm requirements<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak eksik paketleri kontrol edin ve <code>sudo apt-get install -y <eksik_paketler><\/code> ile kurun. \u00d6zellikle eski Debian s\u00fcr\u00fcmlerinde baz\u0131 k\u00fct\u00fcphanelerin daha yeni versiyonlar\u0131 i\u00e7in manuel derleme gerekebilir, ancak bu nadiren olur.<\/p>\n<h4>RVM Ortam Sorunlar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>rvm<\/code> veya <code>ruby<\/code> komutlar\u0131 &#8220;command not found&#8221; hatas\u0131 veriyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> RVM ortam\u0131n\u0131n mevcut kabuk oturumunuza y\u00fcklenmemi\u015f olmas\u0131 muhtemeldir. <code>source ~\/.rvm\/scripts\/rvm<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. Ayr\u0131ca, RVM&#8217;in <code>.bashrc<\/code> veya <code>.bash_profile<\/code> dosyan\u0131za otomatik olarak ekledi\u011fi sat\u0131rlar\u0131n do\u011fru oldu\u011fundan ve dosyan\u0131n y\u00fcklendi\u011finden emin olun. Yeni bir terminal oturumu a\u00e7mak da genellikle bu sorunu \u00e7\u00f6zer.<\/p>\n<h4>Gem Kurulum Hatalar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>gem install<\/code> veya <code>bundle install<\/code> komutlar\u0131 s\u0131ras\u0131nda a\u011f hatalar\u0131, SSL sorunlar\u0131 veya gem&#8217;lerin indirilememesi.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>A\u011f Ba\u011flant\u0131s\u0131:<\/strong> VPS&#8217;inizin internete ba\u011fl\u0131 oldu\u011fundan emin olun.<br \/>\n    *   <strong>SSL Sertifikalar\u0131:<\/strong> Debian 7.0&#8217;\u0131n eski SSL\/TLS k\u00fct\u00fcphaneleri, <code>rubygems.org<\/code> gibi modern HTTPS siteleriyle ileti\u015fimde sorun ya\u015fayabilir. <code>gem update --system<\/code> komutunu deneyerek gem y\u00f6neticinizi g\u00fcncellemeyi deneyin. E\u011fer hala sorun ya\u015farsan\u0131z, <code>rvm reinstall 2.1.10 --with-rubylib<\/code> veya <code>rvm reinstall 2.1.10 --disable-binary<\/code> gibi komutlarla Ruby&#8217;yi yeniden kurmay\u0131 deneyebilirsiniz. Nadiren de olsa, <code>gem source --add http:\/\/rubygems.org\/<\/code> ile HTTP kayna\u011f\u0131 eklemek ge\u00e7ici bir \u00e7\u00f6z\u00fcm olabilir, ancak g\u00fcvenlik nedeniyle \u00f6nerilmez.<br \/>\n    *   <strong>\u0130zinler:<\/strong> Gem&#8217;leri kurmak i\u00e7in yeterli izne sahip oldu\u011funuzdan emin olun. RVM kullan\u0131yorsan\u0131z, genellikle kullan\u0131c\u0131 dizininize kuruldu\u011fu i\u00e7in izin sorunu ya\u015famazs\u0131n\u0131z.<\/p>\n<h4>Rails Sunucusu Ba\u011flant\u0131 Sorunlar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> Rails sunucusu \u00e7al\u0131\u015f\u0131yor olmas\u0131na ra\u011fmen taray\u0131c\u0131dan uygulamaya eri\u015filemiyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>IP Ba\u011flant\u0131s\u0131:<\/strong> Rails sunucusunu <code>rails server -b 0.0.0.0<\/code> ile ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun. Varsay\u0131lan olarak <code>localhost<\/code>&#8216;a ba\u011flan\u0131r ve d\u0131\u015far\u0131dan eri\u015filemez.<br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> VPS&#8217;inizin g\u00fcvenlik duvar\u0131n\u0131n (iptables, ufw vb.) 3000 numaral\u0131 porta gelen ba\u011flant\u0131lara izin verdi\u011finden emin olun. Gerekirse g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 d\u00fczenleyin.<br \/>\n    *   <strong>Port \u00c7ak\u0131\u015fmas\u0131:<\/strong> Ba\u015fka bir uygulaman\u0131n 3000 portunu kullan\u0131p kullanmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>netstat -tulnp | grep 3000<\/code> komutuyla kontrol edebilirsiniz.<\/p>\n<p>Bu sorun giderme ipu\u00e7lar\u0131, kurulum s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz \u00e7o\u011fu problemi \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Debian 7.0 (Wheezy) y\u00fckl\u00fc bir VPS \u00fczerine RVM kullanarak Ruby on Rails&#8217;i ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. Sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurmaktan, RVM&#8217;i y\u00fcklemeye, belirli bir Ruby s\u00fcr\u00fcm\u00fcn\u00fc ve Rails&#8217;i kurmaya ve hatta ilk Rails uygulaman\u0131z\u0131 olu\u015fturup \u00e7al\u0131\u015ft\u0131rmaya kadar t\u00fcm s\u00fcreci ba\u015far\u0131yla tamamlad\u0131n\u0131z. Ayr\u0131ca, PostgreSQL ve MySQL gibi ek veritabanlar\u0131n\u0131 nas\u0131l entegre edece\u011finizi ve yayg\u0131n sorunlar\u0131 nas\u0131l giderece\u011finizi de g\u00f6rd\u00fcn\u00fcz.<\/p>\n<p>RVM kullan\u0131m\u0131 sayesinde, sisteminizde birden fazla Ruby s\u00fcr\u00fcm\u00fcn\u00fc ve gemset&#8217;i izole bir \u015fekilde y\u00f6netme yetene\u011fine sahip oldunuz. Bu, farkl\u0131 projelerle \u00e7al\u0131\u015f\u0131rken veya Ruby ve Rails ekosistemindeki g\u00fcncellemeleri y\u00f6netirken size b\u00fcy\u00fck esneklik sa\u011flayacakt\u0131r. Debian 7.0 gibi eski bir platformda bile modern bir geli\u015ftirme ortam\u0131 kurman\u0131n m\u00fcmk\u00fcn oldu\u011funu g\u00f6stermi\u015f olduk.<\/p>\n<p>Art\u0131k, Debian 7.0 VPS&#8217;inizde Ruby on Rails projeleri geli\u015ftirmeye ba\u015flayabilir, yeni \u00f6zellikler ekleyebilir ve web uygulamalar\u0131n\u0131z\u0131 hayata ge\u00e7irebilirsiniz. Unutmay\u0131n ki, sunucu y\u00f6netimi ve g\u00fcvenlik konular\u0131 s\u00fcrekli dikkat gerektirir. Uygulaman\u0131z\u0131 \u00fcretim ortam\u0131na ta\u015f\u0131madan \u00f6nce g\u00fcvenlik duvar\u0131, SSL sertifikalar\u0131 ve sunucu yap\u0131land\u0131rmas\u0131 gibi konulara \u00f6zel \u00f6nem vermeniz \u00f6nerilir. Bu rehber, sa\u011flam bir temel olu\u015fturman\u0131za yard\u0131mc\u0131 olmu\u015ftur; \u015fimdi s\u0131ra ke\u015ffetme ve yaratma zaman\u0131!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu\nRuby on Rails, web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve po","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-32878","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>Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu - 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\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu Ruby on Rails, web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve po\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-26T20:41:02+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu\",\"datePublished\":\"2025-10-26T20:41:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\"},\"wordCount\":3651,\"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\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\",\"name\":\"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-26T20:41:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu\"}]},{\"@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":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu - 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\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu","og_description":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu Ruby on Rails, web uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc ve po","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-26T20:41:02+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu","datePublished":"2025-10-26T20:41:02+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/"},"wordCount":3651,"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\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/","name":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-26T20:41:02+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-0-wheezy-vps-uzerine-rvm-kullanarak-ruby-on-rails-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 7.0 (Wheezy) VPS \u00dczerine RVM Kullanarak Ruby on Rails Kurulumu"}]},{"@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\/32878","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=32878"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32878\/revisions"}],"predecessor-version":[{"id":32879,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32878\/revisions\/32879"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}