{"id":37250,"date":"2025-12-29T12:41:38","date_gmt":"2025-12-29T09:41:38","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37250"},"modified":"2025-12-29T12:41:38","modified_gmt":"2025-12-29T09:41:38","slug":"centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/","title":{"rendered":"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu<\/h2>\n<p>Ruby on Rails (genellikle &#8220;Rails&#8221; olarak an\u0131l\u0131r), Ruby programlama dili ile yaz\u0131lm\u0131\u015f, web uygulamalar\u0131 geli\u015ftirmek i\u00e7in a\u00e7\u0131k kaynakl\u0131 bir sunucu taraf\u0131 web uygulama \u00e7at\u0131s\u0131d\u0131r. &#8220;Convention over Configuration&#8221; (Yap\u0131land\u0131rma \u00dczerine Anla\u015fma) ve &#8220;Don&#8217;t Repeat Yourself&#8221; (Kendini Tekrar Etme) prensipleriyle h\u0131zl\u0131 ve verimli geli\u015ftirme imkan\u0131 sunar. Bu rehberde, CentOS 7 i\u015fletim sistemi \u00fczerine, farkl\u0131 Ruby versiyonlar\u0131n\u0131 kolayca y\u00f6netmenizi sa\u011flayan <code>rbenv<\/code> arac\u0131yla Ruby on Rails&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<p><code>rbenv<\/code>, sisteminizde birden fazla Ruby versiyonunu izole bir \u015fekilde kurman\u0131za ve projelerinize \u00f6zel Ruby versiyonlar\u0131n\u0131 belirlemenize olanak tan\u0131yan hafif bir Ruby versiyon y\u00f6neticisidir. Bu, farkl\u0131 Rails projelerinin farkl\u0131 Ruby versiyonlar\u0131 gerektirdi\u011fi durumlarda b\u00fcy\u00fck bir kolayl\u0131k sa\u011flar. CentOS 7 ise, stabilite ve g\u00fcvenlik odakl\u0131, kurumsal d\u00fczeyde bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r ve sunucu ortamlar\u0131nda s\u0131k\u00e7a tercih edilir.<\/p>\n<p>Bu rehberin sonunda, CentOS 7 sunucunuzda \u00e7al\u0131\u015fan bir Ruby on Rails ortam\u0131na sahip olacak ve ilk Rails projenizi ba\u015flatmaya haz\u0131r hale geleceksiniz.<\/p>\n<h3>Sistem Haz\u0131rl\u0131\u011f\u0131 ve Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131n Kurulumu<\/h3>\n<p>Rails ve Ruby&#8217;yi derlemek ve \u00e7al\u0131\u015ft\u0131rmak i\u00e7in \u00e7e\u015fitli sistem ara\u00e7lar\u0131na ve k\u00fct\u00fcphanelerine ihtiyac\u0131m\u0131z var. \u0130lk ad\u0131m olarak, sisteminizi g\u00fcncelleyelim ve gerekli paketleri kural\u0131m.<\/p>\n<p>\u00d6ncelikle, sisteminizdeki paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son versiyonlar\u0131na y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y\n<\/code><\/pre>\n<p>Ard\u0131ndan, Ruby&#8217;yi kaynak koddan derlemek i\u00e7in gerekli olan &#8220;Development Tools&#8221; grubunu ve di\u011fer temel k\u00fct\u00fcphaneleri kural\u0131m. Bu ara\u00e7lar, derleme i\u015flemi s\u0131ras\u0131nda ihtiya\u00e7 duyulan C\/C++ derleyicilerini ve ilgili ara\u00e7lar\u0131 i\u00e7erir.<\/p>\n<pre><code class=\"language-bash\">sudo yum groupinstall \"Development Tools\" -y\n<\/code><\/pre>\n<p>\u015eimdi de Ruby&#8217;nin ve baz\u0131 Ruby gem&#8217;lerinin (paketlerinin) d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in kritik olan ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyelim. Bu k\u00fct\u00fcphaneler, OpenSSL (g\u00fcvenli ba\u011flant\u0131lar i\u00e7in), YAML (yap\u0131land\u0131rma dosyalar\u0131 i\u00e7in), FFI (harici fonksiyon aray\u00fcz\u00fc), Readline (konsol etkile\u015fimi i\u00e7in), zlib (s\u0131k\u0131\u015ft\u0131rma i\u00e7in) gibi temel bile\u015fenleri sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo yum install openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel git -y\n<\/code><\/pre>\n<p><code>git<\/code> paketi, <code>rbenv<\/code> ve <code>ruby-build<\/code> eklentisini GitHub&#8217;dan klonlamak i\u00e7in gereklidir. Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, sisteminiz Ruby kurulumu i\u00e7in gerekli temel altyap\u0131ya sahip olacakt\u0131r.<\/p>\n<h3>rbenv Kurulumu ve Kabuk Yap\u0131land\u0131rmas\u0131<\/h3>\n<p><code>rbenv<\/code>, sisteminizde birden fazla Ruby versiyonunu y\u00f6netmenin en iyi yollar\u0131ndan biridir. Her projenin kendi Ruby versiyonuna sahip olmas\u0131n\u0131 sa\u011flayarak ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler.<\/p>\n<h4>rbenv ve ruby-build&#8217;in Y\u00fcklenmesi<\/h4>\n<p><code>rbenv<\/code> ve onun en \u00f6nemli eklentisi olan <code>ruby-build<\/code>&#8216;i (Ruby versiyonlar\u0131n\u0131 derlemek i\u00e7in kullan\u0131l\u0131r) kullan\u0131c\u0131n\u0131n ana dizinine klonlayaca\u011f\u0131z. Bu, <code>rbenv<\/code>&#8216;in sadece bu kullan\u0131c\u0131 i\u00e7in eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/rbenv\/rbenv.git ~\/.rbenv\ngit clone https:\/\/github.com\/rbenv\/ruby-build.git ~\/.rbenv\/plugins\/ruby-build\n<\/code><\/pre>\n<h4>Kabuk Ortam\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131<\/h4>\n<p><code>rbenv<\/code>&#8216;i kullanabilmek i\u00e7in, kabu\u011funuzun (shell) <code>rbenv<\/code> komutlar\u0131n\u0131 tan\u0131yacak \u015fekilde yap\u0131land\u0131r\u0131lmas\u0131 gerekir. Bu genellikle <code>~\/.bash_profile<\/code> veya <code>~\/.bashrc<\/code> dosyas\u0131na baz\u0131 sat\u0131rlar ekleyerek yap\u0131l\u0131r. CentOS&#8217;ta genellikle <code>~\/.bash_profile<\/code> kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">echo 'export PATH=\"$HOME\/.rbenv\/bin:$PATH\"' >> ~\/.bash_profile\necho 'eval \"$(rbenv init -)\"' >> ~\/.bash_profile\n<\/code><\/pre>\n<p>Bu komutlar, <code>rbenv<\/code> y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n yolunu <code>PATH<\/code> de\u011fi\u015fkeninize ekler ve <code>rbenv init -<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak kabu\u011funuzu <code>rbenv<\/code> ile ba\u015flat\u0131r. De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in mevcut kabuk oturumunuzu yeniden y\u00fcklemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bash_profile\n<\/code><\/pre>\n<p>Kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulamak i\u00e7in <code>rbenv<\/code>&#8216;in versiyonunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">rbenv --version\n<\/code><\/pre>\n<p>E\u011fer bir versiyon numaras\u0131 g\u00f6r\u00fcyorsan\u0131z, <code>rbenv<\/code> ba\u015far\u0131yla kurulmu\u015ftur.<\/p>\n<h3>Ruby ve Rails Kurulumu<\/h3>\n<p><code>rbenv<\/code> ve <code>ruby-build<\/code> haz\u0131r oldu\u011funa g\u00f6re, art\u0131k Ruby&#8217;yi kurabilir ve ard\u0131ndan Rails&#8217;i y\u00fckleyebiliriz.<\/p>\n<h4>Ruby Versiyonunun Kurulumu<\/h4>\n<p>\u0130lk olarak, <code>ruby-build<\/code>&#8216;in kurabilece\u011fi t\u00fcm mevcut Ruby versiyonlar\u0131n\u0131 listeleyelim:<\/p>\n<pre><code class=\"language-bash\">rbenv install -l\n<\/code><\/pre>\n<p>Bu liste aras\u0131ndan, projeniz i\u00e7in uygun olan veya en g\u00fcncel stabil Ruby versiyonunu se\u00e7in. Bu rehber i\u00e7in, \u00f6rne\u011fin Ruby 3.2.2 versiyonunu kuraca\u011f\u0131z. Kurulum i\u015flemi, Ruby&#8217;yi kaynak koddan derleyece\u011fi i\u00e7in biraz zaman alabilir (10-20 dakika veya daha fazla, sunucunuzun performans\u0131na ba\u011fl\u0131 olarak).<\/p>\n<pre><code class=\"language-bash\">rbenv install 3.2.2\n<\/code><\/pre>\n<p>Kurulum tamamland\u0131\u011f\u0131nda, bu Ruby versiyonunu sistem genelinde veya belirli bir proje dizininde varsay\u0131lan olarak ayarlayabilirsiniz. Biz \u015fimdilik global olarak ayarlayaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">rbenv global 3.2.2\n<\/code><\/pre>\n<p>De\u011fi\u015fikliklerin uyguland\u0131\u011f\u0131ndan emin olmak i\u00e7in <code>rbenv rehash<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. Bu komut, <code>rbenv<\/code>&#8216;in yeni y\u00fcr\u00fct\u00fclebilir dosyalar i\u00e7in shim&#8217;leri (ge\u00e7ici dosyalar\u0131) olu\u015fturmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">rbenv rehash\n<\/code><\/pre>\n<p>\u015eimdi Ruby&#8217;nin do\u011fru versiyonunun y\u00fcklendi\u011fini do\u011frulayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">ruby -v\n<\/code><\/pre>\n<p>Komutun \u00e7\u0131kt\u0131s\u0131 <code>ruby 3.2.2p...<\/code> \u015feklinde olmal\u0131d\u0131r.<\/p>\n<h4>Bundler ve Rails&#8217;in Kurulumu<\/h4>\n<p>Ruby gem&#8217;lerini (paketlerini) kurarken, dok\u00fcmantasyon olu\u015fturma i\u015flemini atlamak, kurulum s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131rabilir. Bunu <code>~\/.gemrc<\/code> dosyas\u0131na bir ayar ekleyerek yapabiliriz:<\/p>\n<pre><code class=\"language-bash\">echo \"gem: --no-document\" > ~\/.gemrc\n<\/code><\/pre>\n<p>\u015eimdi s\u0131ra Bundler ve Rails&#8217;i kurmaya geldi. Bundler, Ruby projelerinin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netmek i\u00e7in kullan\u0131lan bir gem y\u00f6neticisidir. Rails projeleri i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<pre><code class=\"language-bash\">gem install bundler\n<\/code><\/pre>\n<p>Bundler kurulduktan sonra, Rails gem&#8217;ini kurabiliriz. En son stabil versiyonu kurmak i\u00e7in basit\u00e7e <code>gem install rails<\/code> komutunu kullanabilirsiniz. Belirli bir Rails versiyonunu kurmak isterseniz (\u00f6rne\u011fin Rails 7.0.4), komutu <code>gem install rails -v 7.0.4<\/code> \u015feklinde kullanabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">gem install rails\n<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Rails&#8217;in do\u011fru versiyonunun y\u00fcklendi\u011fini do\u011frulayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">rails -v\n<\/code><\/pre>\n<p>E\u011fer bir Rails versiyon numaras\u0131 g\u00f6r\u00fcyorsan\u0131z (\u00f6rne\u011fin <code>Rails 7.x.x<\/code>), Ruby on Rails ba\u015far\u0131yla kurulmu\u015ftur!<\/p>\n<h3>Veritaban\u0131 Kurulumu ve \u0130lk Rails Projesi<\/h3>\n<p>Rails uygulamalar\u0131 genellikle bir veritaban\u0131na ihtiya\u00e7 duyar. PostgreSQL, Rails ile s\u0131k\u00e7a kullan\u0131lan g\u00fc\u00e7l\u00fc ve a\u00e7\u0131k kaynakl\u0131 bir veritaban\u0131 sistemidir. Bu b\u00f6l\u00fcmde PostgreSQL&#8217;i kuracak ve basit bir Rails projesi olu\u015fturarak kurulumu test edece\u011fiz.<\/p>\n<h4>PostgreSQL Veritaban\u0131n\u0131n Kurulumu<\/h4>\n<p>CentOS 7 \u00fczerine PostgreSQL sunucusunu ve ilgili ara\u00e7lar\u0131 kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo yum install postgresql-server postgresql-contrib -y\n<\/code><\/pre>\n<p>Veritaban\u0131 k\u00fcmesini ba\u015flat\u0131n ve PostgreSQL servisini ba\u015flat\u0131p sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo postgresql-setup initdb\nsudo systemctl start postgresql\nsudo systemctl enable postgresql\n<\/code><\/pre>\n<p>Rails uygulamalar\u0131n\u0131n PostgreSQL ile ileti\u015fim kurabilmesi i\u00e7in <code>pg<\/code> gem&#8217;inin derlenmesi s\u0131ras\u0131nda gerekli olan geli\u015ftirme k\u00fct\u00fcphanesine ihtiyac\u0131m\u0131z var:<\/p>\n<pre><code class=\"language-bash\">sudo yum install postgresql-devel -y\n<\/code><\/pre>\n<p>Varsay\u0131lan olarak, PostgreSQL yerel kimlik do\u011frulama i\u00e7in <code>ident<\/code> veya <code>peer<\/code> kimlik do\u011frulama y\u00f6ntemlerini kullan\u0131r. Rails uygulamalar\u0131 genellikle <code>password<\/code> kimlik do\u011frulamas\u0131 bekler. Bu ayar\u0131 <code>pg_hba.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek de\u011fi\u015ftirebiliriz. Ancak, ilk kurulumda genellikle bir Rails uygulamas\u0131 i\u00e7in varsay\u0131lan <code>postgres<\/code> kullan\u0131c\u0131s\u0131 yeterli olur.<\/p>\n<p>\u0130ste\u011fe ba\u011fl\u0131 olarak, <code>postgres<\/code> kullan\u0131c\u0131s\u0131na bir parola atayabilir veya yeni bir veritaban\u0131 kullan\u0131c\u0131s\u0131 olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo -u postgres psql\nALTER USER postgres WITH PASSWORD 'sifreniz';\n\\q\n<\/code><\/pre>\n<p><code>sifreniz<\/code> yerine g\u00fc\u00e7l\u00fc bir parola belirlemeyi unutmay\u0131n.<\/p>\n<h4>\u0130lk Rails Projesinin Olu\u015fturulmas\u0131 ve Test Edilmesi<\/h4>\n<p>\u015eimdi yeni bir Rails projesi olu\u015ftural\u0131m ve veritaban\u0131 olarak PostgreSQL&#8217;i belirtelim:<\/p>\n<pre><code class=\"language-bash\">rails new myapp -d postgresql\n<\/code><\/pre>\n<p>Olu\u015fturulan proje dizinine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd myapp\n<\/code><\/pre>\n<p>Rails uygulamas\u0131n\u0131n <code>Gemfile<\/code>&#8216;\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">bundle install\n<\/code><\/pre>\n<p>Bu ad\u0131m, <code>pg<\/code> gem&#8217;ini ve di\u011fer t\u00fcm Rails ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kuracakt\u0131r.<\/p>\n<p>Veritaban\u0131n\u0131 olu\u015fturun. Rails, <code>config\/database.yml<\/code> dosyas\u0131ndaki ayarlara g\u00f6re veritaban\u0131n\u0131 olu\u015fturacakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">rails db:create\n<\/code><\/pre>\n<p>Son olarak, Rails sunucusunu ba\u015flat\u0131n. Bir sunucu ortam\u0131nda \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z i\u00e7in, uygulaman\u0131n d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 i\u00e7in <code>0.0.0.0<\/code> IP adresine ba\u011flanmas\u0131n\u0131 sa\u011flamal\u0131y\u0131z:<\/p>\n<pre><code class=\"language-bash\">rails s -b 0.0.0.0\n<\/code><\/pre>\n<p>CentOS 7&#8217;de g\u00fcvenlik duvar\u0131 (firewalld) varsay\u0131lan olarak etkindir. Rails uygulaman\u0131za d\u0131\u015far\u0131dan eri\u015febilmek i\u00e7in 3000 numaral\u0131 portu a\u00e7man\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --add-port=3000\/tcp --permanent\nsudo firewall-cmd --reload\n<\/code><\/pre>\n<p>Art\u0131k sunucunuzun IP adresini veya alan ad\u0131n\u0131 (\u00f6rne\u011fin, <code>http:\/\/sunucu_ip_adresi:3000<\/code>) bir web taray\u0131c\u0131s\u0131nda ziyaret ederek Rails uygulaman\u0131z\u0131n ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rebilirsiniz. &#8220;Yay! You\u2019re on Rails!&#8221; mesaj\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p>Bu rehberde, CentOS 7 i\u015fletim sistemi \u00fczerine <code>rbenv<\/code> kullanarak Ruby ve Ruby on Rails&#8217;i ba\u015far\u0131l\u0131 bir \u015fekilde kurdunuz. Ayr\u0131ca PostgreSQL veritaban\u0131n\u0131 entegre ettiniz ve ilk Rails projenizi \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z. Bu kurulum, Rails projelerinizi geli\u015ftirmek ve da\u011f\u0131tmak i\u00e7in sa\u011flam bir temel sa\u011flar. <code>rbenv<\/code> sayesinde, farkl\u0131 projeler i\u00e7in farkl\u0131 Ruby versiyonlar\u0131n\u0131 kolayca y\u00f6netebilir, b\u00f6ylece ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nleyebilirsiniz.<\/p>\n<p>Geli\u015ftirme s\u00fcrecinizde bu yap\u0131land\u0131rman\u0131n size esneklik ve verimlilik kataca\u011f\u0131ndan emin olabilirsiniz. Unutmay\u0131n ki, Rails ekosistemi s\u00fcrekli geli\u015fmektedir, bu nedenle g\u00fcncel kalmak ve yeni versiyonlar\u0131 takip etmek \u00f6nemlidir.<\/p>\n<h4>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h4>\n<p><strong>Q: <code>rbenv install<\/code> komutu neden \u00e7ok uzun s\u00fcr\u00fcyor?<\/strong><br \/>\nA: <code>rbenv install<\/code> komutu, Ruby&#8217;nin kaynak kodunu indirir ve sisteminizde derler. Bu i\u015flem, sunucunuzun i\u015flemci g\u00fcc\u00fcne ve internet h\u0131z\u0131na ba\u011fl\u0131 olarak 10-20 dakika veya daha fazla s\u00fcrebilir. Bu normal bir durumdur.<\/p>\n<p><strong>Q: Farkl\u0131 Ruby versiyonlar\u0131n\u0131 nas\u0131l kullan\u0131r\u0131m?<\/strong><br \/>\nA: <code>rbenv global <versiyon><\/code> komutu ile t\u00fcm sistem i\u00e7in varsay\u0131lan Ruby versiyonunu ayarlayabilirsiniz. Belirli bir proje dizini i\u00e7in farkl\u0131 bir versiyon kullanmak isterseniz, o dizine gidip <code>rbenv local <versiyon><\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bu, dizinde <code>.ruby-version<\/code> ad\u0131nda bir dosya olu\u015fturur.<\/p>\n<p><strong>Q: <code>gem install<\/code> komutu hata veriyor, ne yapmal\u0131y\u0131m?<\/strong><br \/>\nA: Genellikle bu t\u00fcr hatalar eksik sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131ndan kaynaklan\u0131r. Rehberin &#8220;Sistem Haz\u0131rl\u0131\u011f\u0131 ve Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131n Kurulumu&#8221; b\u00f6l\u00fcm\u00fcndeki t\u00fcm <code>yum install<\/code> komutlar\u0131n\u0131 tekrar \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zdan emin olun. \u00d6zellikle <code>openssl-devel<\/code>, <code>libffi-devel<\/code> ve veritaban\u0131 i\u00e7in <code>postgresql-devel<\/code> gibi paketlerin y\u00fckl\u00fc oldu\u011fundan emin olun. Ayr\u0131ca <code>rbenv rehash<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyin.<\/p>\n<p><strong>Q: Rails sunucusuna uzaktan eri\u015femiyorum?<\/strong><br \/>\nA: \u0130ki ana nedeni olabilir:<br \/>\n1.  Rails sunucusunu <code>rails s -b 0.0.0.0<\/code> komutuyla ba\u015flatmad\u0131n\u0131z. Varsay\u0131lan olarak Rails, yaln\u0131zca yerel makineden eri\u015filebilir olan <code>localhost<\/code>&#8216;a ba\u011flan\u0131r.<br \/>\n2.  CentOS g\u00fcvenlik duvar\u0131 (firewalld) 3000 numaral\u0131 portu engelliyor. Rehberdeki <code>firewall-cmd<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p><strong>Q: Veritaban\u0131 ba\u011flant\u0131 hatas\u0131 al\u0131yorum?<\/strong><br \/>\nA: Bu sorun genellikle \u015fu nedenlerden kaynaklan\u0131r:<br \/>\n1.  PostgreSQL servisi \u00e7al\u0131\u015fm\u0131yor. <code>sudo systemctl status postgresql<\/code> komutuyla durumunu kontrol edin ve gerekirse <code>sudo systemctl start postgresql<\/code> ile ba\u015flat\u0131n.<br \/>\n2.  <code>config\/database.yml<\/code> dosyas\u0131ndaki veritaban\u0131 yap\u0131land\u0131rmas\u0131 yanl\u0131\u015f. Kullan\u0131c\u0131 ad\u0131, parola veya host ayarlar\u0131n\u0131 kontrol edin. Varsay\u0131lan olarak Rails, <code>postgres<\/code> kullan\u0131c\u0131s\u0131n\u0131 parola olmadan kullanmaya \u00e7al\u0131\u015fabilir. E\u011fer <code>postgres<\/code> kullan\u0131c\u0131s\u0131na parola atad\u0131ysan\u0131z, bu bilgiyi <code>database.yml<\/code>&#8216;e eklemeniz gerekir.<br \/>\n3.  <code>postgresql-devel<\/code> paketi y\u00fckl\u00fc de\u011fil, bu da <code>pg<\/code> gem&#8217;inin do\u011fru derlenmesini engeller. Tekrar y\u00fckledi\u011finizden emin olun ve <code>bundle install<\/code>&#8216;\u0131 tekrar \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu\nRuby on Rails (genellikle &#8220;Rails&#8221; olarak an\u0131l\u0131r), Ruby programlama dili ile yaz\u0131lm\u0131\u015f, web u","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-37250","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>CentOS 7 \u00dczerine rbenv ile 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\/centos-7-uzerine-rbenv-ile-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=\"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu\" \/>\n<meta property=\"og:description\" content=\"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu Ruby on Rails (genellikle &quot;Rails&quot; olarak an\u0131l\u0131r), Ruby programlama dili ile yaz\u0131lm\u0131\u015f, web u\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-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-12-29T09:41:38+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=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu\",\"datePublished\":\"2025-12-29T09:41:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/\"},\"wordCount\":1685,\"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\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/\",\"name\":\"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-29T09:41:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CentOS 7 \u00dczerine rbenv ile 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":"CentOS 7 \u00dczerine rbenv ile 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\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu","og_description":"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu Ruby on Rails (genellikle \"Rails\" olarak an\u0131l\u0131r), Ruby programlama dili ile yaz\u0131lm\u0131\u015f, web u","og_url":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-29T09:41:38+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu","datePublished":"2025-12-29T09:41:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/"},"wordCount":1685,"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\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/","name":"CentOS 7 \u00dczerine rbenv ile Ruby on Rails Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-29T09:41:38+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-rbenv-ile-ruby-on-rails-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CentOS 7 \u00dczerine rbenv ile 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\/37250","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=37250"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37250\/revisions"}],"predecessor-version":[{"id":37251,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37250\/revisions\/37251"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}