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ı!