Takip et

Debian 7.0 (Wheezy) VPS Üzerine RVM Kullanarak Ruby on Rails Kurulumu

Debian 7.0 (Wheezy) VPS Üzerine RVM Kullanarak Ruby on Rails Kurulumu Ruby on Rails, web uygulamaları geliştirmek için kullanılan güçlü ve po

Debian 7.0 (Wheezy) VPS Üzerine RVM Kullanarak Ruby on Rails Kurulumu

Ruby on Rails, web uygulamaları geliştirmek için kullanılan güçlü ve popüler bir açık kaynak çerçevedir. “Convention over Configuration” (Yapılandırma Üzerine Kural) prensibi ve hızlı geliştirme yetenekleri sayesinde birçok geliştiricinin tercihi olmuştur. Bu kapsamlı rehberde, eski ama hala bazı sistemlerde karşılaşabileceğiniz Debian 7.0 (Wheezy) işletim sistemi yüklü bir Sanal Özel Sunucu (VPS) üzerine, Ruby sürümlerini kolayca yönetmenizi sağlayacak RVM (Ruby Version Manager) kullanarak Ruby on Rails’i adım adım nasıl kuracağınızı anlatacağız.

Debian 7.0, 2013 yılında piyasaya sürülmüş olsa da, bazı eski projeler, özel gereksinimler veya öğrenme amaçlı senaryolar için hala bir VPS üzerinde kullanılabilir. Bu rehber, eski bir ortamda modern geliştirme araçlarını nasıl kuracağınız konusunda size yol gösterecektir. RVM kullanımı, farklı Rails projeleri için farklı Ruby versiyonlarına ihtiyaç duyduğunuzda size büyük esneklik sağlayacaktır. Bu sayede, sisteminizde birden fazla Ruby sürümünü izole bir şekilde yönetebilir ve projeleriniz arasında kolayca geçiş yapabilirsiniz.

Bu makale, Linux komut satırı ve temel sunucu yönetimi hakkında bilgi sahibi olan geliştiriciler ve sistem yöneticileri için hazırlanmıştır. Adımları dikkatlice takip ederek, Debian 7.0 Wheezy VPS’inizde eksiksiz bir Ruby on Rails geliştirme ortamı kurabileceksiniz.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

* Debian 7.0 (Wheezy) yüklü bir VPS: Bu rehber spesifik olarak Wheezy sürümünü hedef almaktadır. Farklı Debian sürümlerinde (örneğin Debian 8 Jessie veya daha yenileri) bazı adımlar veya paket isimleri farklılık gösterebilir.
* SSH erişimi: VPS’inize SSH üzerinden bağlanabilmeniz gerekmektedir. Genellikle root kullanıcı veya sudo yetkilerine sahip bir kullanıcı ile bağlanılır.
* Temel Linux komut satırı bilgisi: apt-get, cd, mkdir, nano gibi temel komutlara aşina olmanız beklenir.
* İnternet bağlantısı: VPS’inizin internete bağlı olması, gerekli paketleri ve bağımlılıkları indirebilmek için zorunludur.

VPS Hazırlığı ve Temel Sistem Güncellemeleri

Kurulum sürecine başlamadan önce VPS’inizin güncel olduğundan ve gerekli temel paketlere sahip olduğundan emin olmalıyız. Bu adımlar, daha sonra karşılaşabileceğiniz bağımlılık sorunlarını minimize edecektir.

VPS’e SSH Bağlantısı

İlk adım, VPS’inize SSH aracılığıyla bağlanmaktır. Terminal veya komut istemcinizi açın ve aşağıdaki komutu kullanın (IP_ADRESINIZ yerine VPS’inizin IP adresini yazın):

ssh root@IP_ADRESINIZ

Eğer root kullanıcısı yerine sudo yetkilerine sahip bir kullanıcı kullanıyorsanız:

ssh kullanici_adi@IP_ADRESINIZ

Bağlandıktan sonra, root yetkilerini almak için sudo su - komutunu kullanabilirsiniz.

Sistem Güncellemesi ve Temel Paketlerin Kurulumu

Sistemi güncel tutmak, güvenlik yamalarını almak ve paket bağımlılıklarını doğru bir şekilde çözmek için kritik öneme sahiptir. Debian 7.0’ın depoları eski olsa da, mevcut en güncel paketleri çekmek için sisteminizi güncellemelisiniz.

sudo apt-get update
sudo apt-get upgrade -y

apt-get update komutu, paket listelerini güncellerken, apt-get upgrade -y komutu ise mevcut paketlerin yeni versiyonlarını otomatik olarak kurar. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vermeyi sağlar.

Ruby ve Rails’in sorunsuz bir şekilde çalışması için çeşitli geliştirme araçlarına ve kütüphanelerine ihtiyacımız var. Bu kütüphaneler, Ruby kaynak kodundan derlenirken veya bazı Ruby gem’leri (paketleri) kurulurken gereklidir. Aşağıdaki komutla bu temel bağımlılıkları kurun:

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

Bu komutun kurduğu önemli paketler ve amaçları şunlardır:

* build-essential: C/C++ derleyicileri ve make gibi temel geliştirme araçlarını içerir. Ruby’nin kaynak koddan derlenmesi için gereklidir.
* curl: Uzak sunuculardan dosya indirmek için kullanılır. RVM kurulumunda ve çeşitli diğer indirme işlemlerinde faydalıdır.
* git: Versiyon kontrol sistemi. Rails projeleri genellikle Git ile yönetilir ve RVM de Git üzerinden çekilebilir.
* libssl-dev: SSL/TLS kütüphaneleri. HTTPS bağlantıları için gereklidir.
* libreadline-dev: Etkileşimli konsol için gereklidir (örneğin irb).
* zlib1g-dev: Zlib sıkıştırma kütüphanesi. Bazı gem’ler ve Ruby’nin kendisi için gereklidir.
* libyaml-dev: YAML ayrıştırma kütüphanesi. Ruby’nin ve bazı gem’lerin yapılandırma dosyalarını okuması için gereklidir.
* libsqlite3-dev, sqlite3: SQLite veritabanı ve geliştirme dosyaları. Rails’in varsayılan veritabanı olarak SQLite’ı kullanması için gereklidir.
* libxml2-dev, libxslt1-dev: XML ve XSLT işleme kütüphaneleri. Nokogiri gibi popüler gem’ler için gereklidir.
* libgdbm-dev, libncurses5-dev: Çeşitli Ruby bağımlılıkları için gerekli ek kütüphaneler.
* automake, libtool, bison: Derleme sürecinde kullanılan yardımcı araçlar.
* libffi-dev: Foreign Function Interface kütüphanesi. Bazı gem’ler için gereklidir.
* imagemagick, libmagickwand-dev: Resim işleme yetenekleri için. CarrierWave veya Paperclip gibi dosya yükleme gem’leri kullanıldığında gereklidir.

Bu paketlerin kurulumu biraz zaman alabilir. İşlem tamamlandığında, sisteminiz Ruby on Rails kurulumuna hazır hale gelecektir.

RVM (Ruby Version Manager) Kurulumu

RVM, aynı sistemde birden fazla Ruby sürümünü kurmanıza, yönetmenize ve aralarında geçiş yapmanıza olanak tanıyan güçlü bir araçtır. Bu, özellikle farklı Ruby versiyonlarına bağımlı birden fazla Rails projesi üzerinde çalışıyorsanız çok faydalıdır.

GPG Anahtarının İçe Aktarılması

RVM’i güvenli bir şekilde kurmak için, RVM’in GPG anahtarını sisteminize eklemeniz gerekir. Bu, indirdiğiniz RVM paketinin orijinal ve değiştirilmemiş olduğunu doğrulamaya yardımcı olur.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

Bu komut, RVM’in GPG anahtarını keys.gnupg.net anahtar sunucusundan alır ve yerel GPG anahtar halkınıza ekler. İnternet bağlantınıza bağlı olarak bu işlem birkaç saniye sürebilir. Eğer anahtar sunucusuna bağlanmada sorun yaşarsanız, farklı bir anahtar sunucusu deneyebilir veya alternatif bir yöntem kullanabilirsiniz (ancak bu genellikle gerekli değildir).

RVM Kurulum Komutu

GPG anahtarını içe aktardıktan sonra, RVM’i kurabiliriz. Resmi RVM web sitesinde belirtilen kurulum komutunu kullanmak en güvenli yoldur. Bu komut, RVM’in kararlı sürümünü indirir ve kurar.

\curl -sSL https://get.rvm.io | bash -s stable

\curl kullanımı, sisteminizde kurulu olabilecek curl alias’larını (takma adlarını) atlamayı sağlar ve komutun direkt olarak curl ikili dosyasını kullanmasını garantiler. -sSL bayrakları sırasıyla “silent” (sessiz), “show error” (hataları göster) ve “follow redirects” (yönlendirmeleri takip et) anlamlarına gelir. Bu komut, RVM kurulum betiğini indirir ve bash ile çalıştırır. Kurulum süresi, internet hızınıza ve sunucunuzun performansına bağlı olarak değişebilir.

RVM Ortamının Yüklenmesi

RVM kurulumu tamamlandıktan sonra, RVM komutlarının kullanılabilmesi için mevcut kabuk oturumunuza RVM ortamını yüklemeniz gerekir. Bu genellikle RVM’in kurulum betiği tarafından otomatik olarak .bashrc veya .bash_profile gibi kabuk yapılandırma dosyalarına eklenir. Ancak, yeni bir terminal oturumu açana kadar veya manuel olarak kaynak göstermediğiniz sürece mevcut oturumda hemen etkin olmayabilir.

source ~/.rvm/scripts/rvm

Bu komut, RVM’in betiklerini mevcut kabuk oturumunuza yükler. Her yeni SSH oturumunda bu komutu çalıştırmanız gerekmez; RVM genellikle bunu sizin için otomatik olarak yapar. Ancak, kurulumdan hemen sonra RVM komutlarını kullanmak için bu adımı atmak önemlidir.

RVM Kurulumunun Doğrulanması

RVM’in başarıyla kurulduğunu ve çalıştığını doğrulamak için aşağıdaki komutu kullanın:

rvm -v

Bu komut, kurulu RVM sürümünü göstermelidir. Örneğin, rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski [https://rvm.io] gibi bir çıktı almalısınız. Eğer komut bulunamadı hatası alırsanız, source ~/.rvm/scripts/rvm komutunu doğru çalıştırdığınızdan veya yeni bir SSH oturumu açtığınızdan emin olun.

Ruby Kurulumu (RVM ile)

RVM kurulu olduğuna göre, şimdi istediğimiz Ruby sürümünü kurabiliriz. Debian 7.0 (Wheezy) eski bir işletim sistemi olduğu için, çok yeni Ruby sürümlerini derlemekte zorluk yaşayabiliriz. Bu nedenle, Ruby 2.1.x veya 2.2.x gibi daha eski ama kararlı bir sürümü tercih etmek daha güvenli olacaktır. Bu rehber için Ruby 2.1.10 sürümünü kullanacağız, çünkü bu sürüm Rails 4.x ile uyumludur ve Wheezy üzerinde derlenmesi daha olasıdır.

Gerekli Ruby Bağımlılıklarının Kontrolü

RVM, Ruby’yi derlemek için gerekli olan tüm sistem bağımlılıklarını otomatik olarak kontrol edebilir ve size eksik olanları bildirebilir. Bu, özellikle eski sistemlerde faydalıdır. Aşağıdaki komutu çalıştırarak RVM’in bağımlılıkları kontrol etmesini sağlayın:

rvm requirements

Bu komut, sisteminizde eksik olan bağımlılıkları listeleyecektir. Eğer herhangi bir eksiklik bildirirse, sudo apt-get install -y komutu ile bunları kurmanız gerekebilir. Genellikle, ilk başta kurduğumuz build-essential ve diğer kütüphaneler çoğu gereksinimi karşılar.

Ruby Versiyonunun Yüklenmesi

Şimdi Ruby’yi RVM kullanarak kuralım. Bu işlem, Ruby kaynak kodunu indirir, derler ve RVM’in yönettiği dizine kurar. Bu işlem, sunucunuzun işlem gücüne ve internet hızına bağlı olarak oldukça zaman alabilir (10-30 dakika).

rvm install ruby-2.1.10

Eğer farklı bir Ruby sürümü kurmak isterseniz, ruby-2.1.10 yerine istediğiniz sürümü yazabilirsiniz (örneğin ruby-2.2.10). Kurulum sırasında derleyici çıktılarını göreceksiniz. Herhangi bir hata oluşursa, genellikle eksik bir bağımlılıktan kaynaklanır. Hata mesajlarını dikkatlice okuyarak sorunu teşhis edebilirsiniz.

Varsayılan Ruby Versiyonunun Ayarlanması

Birden fazla Ruby sürümünüz olduğunda, RVM’e hangi sürümün varsayılan olarak kullanılacağını söyleyebilirsiniz. Bu, yeni bir terminal oturumu açtığınızda veya rvm use komutunu açıkça belirtmediğinizde kullanılacak sürümdür.

rvm use ruby-2.1.10 --default

Bu komut, ruby-2.1.10 sürümünü varsayılan olarak ayarlar. Artık her yeni kabuk oturumunda bu Ruby sürümü otomatik olarak etkinleştirilecektir.

Gemset Oluşturma (İsteğe Bağlı ama Önerilir)

RVM’in güçlü özelliklerinden biri de “gemset”lerdir. Gemsetler, her Ruby sürümü için izole edilmiş gem koleksiyonları oluşturmanıza olanak tanır. Bu, farklı Rails projelerinin farklı gem versiyonlarına ihtiyaç duyması durumunda çakışmaları önler. Örneğin, bir proje Rails 4 kullanırken, diğeri Rails 3 kullanabilir ve her biri kendi bağımlılık setine sahip olabilir.

Ruby 2.1.10 için “rails4” adında bir gemset oluşturalım:

rvm gemset create rails4
rvm use ruby-2.1.10@rails4 --default

İlk komut, rails4 adında yeni bir gemset oluşturur. İkinci komut ise hem ruby-2.1.10 sürümünü hem de rails4 gemsetini varsayılan olarak ayarlar. Artık bu gemset içinde kuracağınız tüm gem’ler diğer gemsetlerden veya diğer Ruby sürümlerinden izole edilmiş olacaktır.

Ruby Kurulumunun Doğrulanması

Ruby’nin doğru bir şekilde kurulduğunu ve varsayılan olarak ayarlandığını doğrulamak için aşağıdaki komutları kullanın:

ruby -v
gem -v
which ruby
which gem

ruby -v komutu, kurduğunuz Ruby sürümünü (örneğin ruby 2.1.10p424 (2014-05-14 revision 45840) [x86_64-linux]) göstermelidir. gem -v komutu, kurulu Gem yöneticisinin sürümünü göstermelidir. which ruby ve which gem komutları ise RVM tarafından yönetilen Ruby ve Gem ikili dosyalarının yolunu (örneğin /home/kullanici_adi/.rvm/rubies/ruby-2.1.10/bin/ruby) göstermelidir.

Rails Kurulumu

Ruby başarıyla kurulduğuna ve yapılandırıldığına göre, şimdi Ruby on Rails çerçevesini kurabiliriz. Rails, bir Ruby gem’idir, bu yüzden gem install komutu ile kurulur. Debian 7.0 ve Ruby 2.1.10 için Rails 4.x serisi uygun bir seçim olacaktır. Rails 5.x ve üzeri, genellikle Ruby 2.2.2 veya daha yeni sürümleri gerektirir.

Bundler Kurulumu

Rails uygulamaları genellikle bağımlılıklarını yönetmek için Bundler kullanır. Rails’i kurmadan önce Bundler’ı kurmak iyi bir uygulamadır.

gem install bundler

Bu komut, Bundler gem’ini mevcut gemsetinize (veya varsayılan gemsetinize) kurar.

Rails Gem’inin Kurulumu

Şimdi Rails gem’ini kuralım. Rails 4.x serisinin son kararlı sürümünü kurmak için belirli bir sürüm belirtebiliriz. Örneğin, Rails 4.2.11.1 son kararlı Rails 4 sürümüdür.

gem install rails -v 4.2.11.1

Bu komut, belirtilen Rails sürümünü ve tüm bağımlılıklarını kuracaktır. Bu işlem, birçok gem’in indirilip kurulmasını gerektirdiği için biraz zaman alabilir. Kurulum sırasında ilerleme durumunu ve kurulan gem’leri göreceksiniz.

Eğer belirli bir sürüm belirtmezseniz (gem install rails), RVM’in kurulu Ruby sürümüyle uyumlu olan en son Rails sürümünü kurmaya çalışacaktır. Ancak eski bir Ruby sürümüyle çalışırken belirli bir Rails sürümünü hedeflemek genellikle daha güvenlidir.

Rails Kurulumunun Doğrulanması

Rails’in başarıyla kurulduğunu doğrulamak için aşağıdaki komutu kullanın:

rails -v

Bu komut, kurduğunuz Rails sürümünü (örneğin Rails 4.2.11.1) göstermelidir. Eğer rails komutu bulunamadı hatası alırsanız, RVM ortamınızın doğru yüklendiğinden ve Rails gem’inin doğru gemset’e kurulduğundan emin olun.

İlk Rails Uygulamasının Oluşturulması ve Çalıştırılması

Tebrikler! Ruby, RVM ve Rails başarıyla kuruldu. Şimdi ilk Rails uygulamanızı oluşturabilir ve çalıştırarak kurulumunuzu test edebilirsiniz.

Yeni Bir Rails Uygulaması Oluşturma

İlk olarak, uygulamalarınızı depolamak için bir dizin oluşturun ve bu dizine geçin:

mkdir ~/rails_apps
cd ~/rails_apps

Şimdi myapp adında yeni bir Rails uygulaması oluşturalım:

rails new myapp

Bu komut, myapp adında yeni bir dizin oluşturacak ve içine temel bir Rails uygulama yapısı kuracaktır. Varsayılan olarak SQLite veritabanı ile gelir. İşlem tamamlandığında, yeni oluşturulan uygulama dizinine geçin:

cd myapp

Veritabanı Yapılandırması (SQLite)

Yeni bir Rails uygulaması oluşturulduğunda, Gemfile dosyasında belirtilen tüm bağımlılıkları (gem’leri) kurmak için bundle install komutunu çalıştırmak önemlidir. Bu, uygulamanın düzgün çalışması için gerekli tüm gem’lerin doğru versiyonlarının kurulmasını sağlar.

bundle install

bundle install komutu, Gemfile.lock dosyasını oluşturur veya günceller ve uygulamanın tüm bağımlılıklarını kurar. Bu işlem de biraz zaman alabilir.

Ardından, veritabanını oluşturalım. Rails’in varsayılan olarak SQLite kullandığını varsayarsak:

rake db:create

Bu komut, uygulamanız için geliştirme ve test veritabanlarını oluşturacaktır.

Rails Sunucusunu Başlatma

Uygulamanızı çalıştırmak ve web tarayıcınızdan erişmek için Rails sunucusunu başlatmanız gerekir. VPS üzerinde çalışırken, sunucunun dışarıdan erişilebilir olması için belirli bir IP adresine bağlanmasını sağlamalısınız.

rails server -b 0.0.0.0

-b 0.0.0.0 bayrağı, Rails sunucusunun tüm ağ arayüzlerinden gelen bağlantıları dinlemesini sağlar. Bu, VPS’inizin genel IP adresini kullanarak uygulamanıza erişebileceğiniz anlamına gelir. Varsayılan olarak Rails sunucusu 3000 portunda çalışır.

Sunucu başarıyla başladığında, terminalde WEBrick::HTTPServer#start: pid=... port=3000 gibi bir çıktı göreceksiniz.

Güvenlik Duvarı Ayarları (Uygulamanın Erişilebilirliği İçin)

Eğer VPS’inizde bir güvenlik duvarı (örneğin iptables veya ufw) etkinse, 3000 numaralı portun dışarıdan erişime açık olduğundan emin olmanız gerekir. Aksi takdirde, web tarayıcınızdan uygulamanıza erişemezsiniz.

Örnek iptables komutu (Dikkatli Kullanın!):

sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Bu komutlar, 3000 portuna gelen TCP bağlantılarına izin verir. Güvenlik duvarı yapılandırmanız VPS sağlayıcınıza veya kendi ayarlarınıza göre değişebilir. Bu adımı atlamadan önce güvenlik duvarı kurallarınızı kontrol ettiğinizden emin olun.

Uygulamayı Tarayıcıda Görüntüleme

Rails sunucusu çalışırken, web tarayıcınızı açın ve VPS’inizin IP adresini ve 3000 portunu kullanarak uygulamanıza erişin:

http://IP_ADRESINIZ:3000

Eğer her şey doğru kurulduysa, Rails’in varsayılan “Yay! You’re on Rails!” karşılama sayfasını görmelisiniz. Bu, Ruby on Rails uygulamanızın başarıyla çalıştığı anlamına gelir.

Ek Veritabanları ve Diğer Bileşenler (PostgreSQL/MySQL)

Rails’in varsayılan veritabanı SQLite olsa da, üretim ortamlarında veya daha karmaşık projelerde genellikle PostgreSQL veya MySQL gibi daha güçlü veritabanları tercih edilir. Bu bölümde, bu veritabanlarını nasıl kurup Rails uygulamanızla entegre edeceğinizi özetleyeceğiz.

PostgreSQL Kurulumu ve Yapılandırması

PostgreSQL, güçlü, açık kaynaklı bir ilişkisel veritabanı sistemidir ve Rails geliştiricileri arasında popülerdir.

1. PostgreSQL ve Geliştirme Kütüphanelerini Kurma:

sudo apt-get install -y postgresql postgresql-client libpq-dev

libpq-dev paketi, Ruby’nin PostgreSQL ile etkileşime girmesi için gerekli olan geliştirme dosyalarını içerir.

2. PostgreSQL Kullanıcısı ve Veritabanı Oluşturma:
PostgreSQL, varsayılan olarak postgres adında bir süper kullanıcı hesabı oluşturur. Bu hesapla veritabanı işlemleri yapabilirsiniz.

sudo -u postgres createuser -s kullanici_adi # Kendi kullanıcı adınızı yazın
    sudo -u postgres createdb myapp_development # Uygulamanızın veritabanı adı

İsteğe bağlı olarak, oluşturduğunuz kullanıcı için bir parola belirleyebilirsiniz:

sudo -u postgres psql
    ALTER USER kullanici_adi WITH PASSWORD 'sifre';
    \q

3. Rails Uygulamasında database.yml Ayarları:
Uygulamanızın config/database.yml dosyasını düzenleyerek PostgreSQL’i kullanmasını sağlayın:

# config/database.yml
    development:
      adapter: postgresql
      encoding: unicode
      database: myapp_development
      pool: 5
      username: kullanici_adi
      password: sifre
      host: localhost
    
    test:
      adapter: postgresql
      encoding: unicode
      database: myapp_test
      pool: 5
      username: kullanici_adi
      password: sifre
      host: localhost
    
    production:
      adapter: postgresql
      encoding: unicode
      database: myapp_production
      pool: 5
      username: kullanici_adi
      password: sifre
      host: localhost

username ve password alanlarını kendi oluşturduğunuz bilgilerle değiştirin.

4. pg Gem’ini Kurma:
Gemfile dosyanızda gem 'pg' satırının yorum satırı olmadığını doğrulayın (veya ekleyin) ve bundle install komutunu çalıştırın:

# Gemfile
    gem 'pg'
bundle install
    rake db:create

MySQL Kurulumu ve Yapılandırması

MySQL, bir diğer popüler açık kaynaklı ilişkisel veritabanı yönetim sistemidir.

1. MySQL Sunucusu ve Geliştirme Kütüphanelerini Kurma:

sudo apt-get install -y mysql-server libmysqlclient-dev

Kurulum sırasında sizden root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parolayı unutmayın. libmysqlclient-dev paketi, Ruby’nin MySQL ile etkileşime girmesi için gereklidir.

2. MySQL Kullanıcısı ve Veritabanı Oluşturma:
MySQL’e root kullanıcısı olarak bağlanın:

mysql -u root -p

Parolanızı girdikten sonra MySQL komut istemcisine düşeceksiniz. Burada yeni bir kullanıcı ve veritabanı oluşturun:

CREATE DATABASE myapp_development;
    CREATE USER 'kullanici_adi'@'localhost' IDENTIFIED BY 'sifre';
    GRANT ALL PRIVILEGES ON myapp_development.* TO 'kullanici_adi'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

myapp_development, kullanici_adi ve sifre değerlerini kendi tercihlerinizle değiştirin.

3. Rails Uygulamasında database.yml Ayarları:
Uygulamanızın config/database.yml dosyasını düzenleyerek MySQL’i kullanmasını sağlayın:

# config/database.yml
    development:
      adapter: mysql2
      encoding: utf8
      database: myapp_development
      pool: 5
      username: kullanici_adi
      password: sifre
      host: localhost
    
    test:
      adapter: mysql2
      encoding: utf8
      database: myapp_test
      pool: 5
      username: kullanici_adi
      password: sifre
      host: localhost
    
    production:
      adapter: mysql2
      encoding: utf8
      database: myapp_production
      pool: 5
      username: kullanici_adi
      password: sifre
      host: localhost

username ve password alanlarını kendi oluşturduğunuz bilgilerle değiştirin.

4. mysql2 Gem’ini Kurma:
Gemfile dosyanızda gem 'mysql2' satırının yorum satırı olmadığını doğrulayın (veya ekleyin) ve bundle install komutunu çalıştırın:

# Gemfile
    gem 'mysql2'
bundle install
    rake db:create

Bu adımlarla, Rails uygulamanızı PostgreSQL veya MySQL gibi daha güçlü veritabanları ile kullanmaya başlayabilirsiniz.

Yaygın Sorunlar ve Çözümleri

Kurulum süreci boyunca veya sonrasında bazı sorunlarla karşılaşmanız olasıdır. İşte sıkça karşılaşılan bazı sorunlar ve olası çözümleri:

Bağımlılık Hataları

* Sorun: Ruby’yi veya bazı gem’leri kurarken derleme hataları alıyorsunuz (örneğin missing header files, cannot find -lz, undefined reference to ...).
* Çözüm: Bu genellikle eksik sistem bağımlılıklarından kaynaklanır. build-essential, libssl-dev, zlib1g-dev, libyaml-dev, libsqlite3-dev, libxml2-dev, libxslt1-dev, libffi-dev gibi paketlerin yüklü olduğundan emin olun. Gerekirse rvm requirements komutunu çalıştırarak eksik paketleri kontrol edin ve sudo apt-get install -y ile kurun. Özellikle eski Debian sürümlerinde bazı kütüphanelerin daha yeni versiyonları için manuel derleme gerekebilir, ancak bu nadiren olur.

RVM Ortam Sorunları

* Sorun: rvm veya ruby komutları “command not found” hatası veriyor.
* Çözüm: RVM ortamının mevcut kabuk oturumunuza yüklenmemiş olması muhtemeldir. source ~/.rvm/scripts/rvm komutunu çalıştırın. Ayrıca, RVM’in .bashrc veya .bash_profile dosyanıza otomatik olarak eklediği satırların doğru olduğundan ve dosyanın yüklendiğinden emin olun. Yeni bir terminal oturumu açmak da genellikle bu sorunu çözer.

Gem Kurulum Hataları

* Sorun: gem install veya bundle install komutları sırasında ağ hataları, SSL sorunları veya gem’lerin indirilememesi.
* Çözüm:
* Ağ Bağlantısı: VPS’inizin internete bağlı olduğundan emin olun.
* SSL Sertifikaları: Debian 7.0’ın eski SSL/TLS kütüphaneleri, rubygems.org gibi modern HTTPS siteleriyle iletişimde sorun yaşayabilir. gem update --system komutunu deneyerek gem yöneticinizi güncellemeyi deneyin. Eğer hala sorun yaşarsanız, rvm reinstall 2.1.10 --with-rubylib veya rvm reinstall 2.1.10 --disable-binary gibi komutlarla Ruby’yi yeniden kurmayı deneyebilirsiniz. Nadiren de olsa, gem source --add http://rubygems.org/ ile HTTP kaynağı eklemek geçici bir çözüm olabilir, ancak güvenlik nedeniyle önerilmez.
* İzinler: Gem’leri kurmak için yeterli izne sahip olduğunuzdan emin olun. RVM kullanıyorsanız, genellikle kullanıcı dizininize kurulduğu için izin sorunu yaşamazsınız.

Rails Sunucusu Bağlantı Sorunları

* Sorun: Rails sunucusu çalışıyor olmasına rağmen tarayıcıdan uygulamaya erişilemiyor.
* Çözüm:
* IP Bağlantısı: Rails sunucusunu rails server -b 0.0.0.0 ile başlattığınızdan emin olun. Varsayılan olarak localhost‘a bağlanır ve dışarıdan erişilemez.
* Güvenlik Duvarı: VPS’inizin güvenlik duvarının (iptables, ufw vb.) 3000 numaralı porta gelen bağlantılara izin verdiğinden emin olun. Gerekirse güvenlik duvarı kurallarınızı düzenleyin.
* Port Çakışması: Başka bir uygulamanın 3000 portunu kullanıp kullanmadığını kontrol edin. netstat -tulnp | grep 3000 komutuyla kontrol edebilirsiniz.

Bu sorun giderme ipuçları, kurulum sırasında veya sonrasında karşılaşabileceğiniz çoğu problemi çözmenize yardımcı olacaktır.

Sonuç

Bu kapsamlı rehberde, Debian 7.0 (Wheezy) yüklü bir VPS üzerine RVM kullanarak Ruby on Rails’i adım adım nasıl kuracağınızı öğrendiniz. Sistem bağımlılıklarını kurmaktan, RVM’i yüklemeye, belirli bir Ruby sürümünü ve Rails’i kurmaya ve hatta ilk Rails uygulamanızı oluşturup çalıştırmaya kadar tüm süreci başarıyla tamamladınız. Ayrıca, PostgreSQL ve MySQL gibi ek veritabanlarını nasıl entegre edeceğinizi ve yaygın sorunları nasıl gidereceğinizi de gördünüz.

RVM kullanımı sayesinde, sisteminizde birden fazla Ruby sürümünü ve gemset’i izole bir şekilde yönetme yeteneğine sahip oldunuz. Bu, farklı projelerle çalışırken veya Ruby ve Rails ekosistemindeki güncellemeleri yönetirken size büyük esneklik sağlayacaktır. Debian 7.0 gibi eski bir platformda bile modern bir geliştirme ortamı kurmanın mümkün olduğunu göstermiş olduk.

Artık, Debian 7.0 VPS’inizde Ruby on Rails projeleri geliştirmeye başlayabilir, yeni özellikler ekleyebilir ve web uygulamalarınızı hayata geçirebilirsiniz. Unutmayın ki, sunucu yönetimi ve güvenlik konuları sürekli dikkat gerektirir. Uygulamanızı üretim ortamına taşımadan önce güvenlik duvarı, SSL sertifikaları ve sunucu yapılandırması gibi konulara özel önem vermeniz önerilir. Bu rehber, sağlam bir temel oluşturmanıza yardımcı olmuştur; şimdi sıra keşfetme ve yaratma zamanı!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version