"Enter"a basıp içeriğe geçin

DigitalOcean Ruby on Rails Server Kurulumu Nasıl Yapılır?

Merhaba arkadaşlar, VPS sunucuya Ruby on Rails kurulumu ile alakalı kurulum notlarımı sizlerle paylaşacağım. Ben kurulumu DigitalOcean’dan Ubuntu 16.04.3 x64 imajıyla aldığım 5$’lık Droplet’e yaptım. Siz isterseniz başka bir Ubuntu kurulu sunucuya da kurulum yapabilirsiniz.

Ruby on Rails Server Kurulumuna geçmeden önce bir kaç şeyden bahsetmek istiyorum. Rails projelerinde Ruby ve Rails sürümlerinde farklılıklar olması durumunda hatalar ile karşılaşabilirsiniz.

Yani projeyi kendi lokalinizde hangi sürümle geliştirdiyseniz serverda da bu sürümün kurulu olması yaşayacağınız sorunları minimize edecektir. Ben Ruby 2.5.0 ve Rails 5.1.4 sürümlerinde kurulumu anlatacağım ama yazının sonunda diğer sürümlerin kurulumu için de kaynak linkini paylaşacağım.

Hadi başlayalım.

Ruby Kurulumu

Bağımlılıkların Kurulumu

İlk aşamada Ruby on Rails bağımlıklarını sunuyuca kurmakla başlıyoruz. Putty vb. programlar ile sunucumuza root olarak login olup aşağıdaki komutları çalıştırıyoruz.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs yarn

Rbenv ile Ruby Kurulumu

Ruby geliştirme ortamını hazırlamak için rbenv aracını kullanacağız ve bu araç ile ruby kurulumunu tamamlayacağız. Bunun içine aşağıda vereceğim komutları sunucu terminalinde çalıştırıyoruz.

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL</pre>
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.5.0
rbenv global 2.5.0
ruby -v

Son olarak da bundler’ı kuruyoruz.

gem install bundler 
rbenv rehash

Ruby kurulumuna tamamladık şimdi Ruby on Rails kurulumuna geçebiliriz.

Rails Kurulumu

Rails için sunucumuza NodeJS kurmamız gerekiyor. Bunun için önce resmi repo’yu ekliyoruz.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Şimdi rails’i kurabiliriz.

gem install rails -v 5.1.4
rbenv rehash

DigitalOcean Ruby on Rails server kurulumu bitti ama önce yapmamız gereken bir kaç iş daha var.

SFTP Erişimi İçin Kullanıcı Ekleme

Lokalimizdeki rails projesini sunucumuza taşımamız için sunucuda bir kullanıcı oluşturup şifre belirlememiz gerekiyor. Çünkü root kullanıcısı ile sftp’ye erişimezsiniz.

Kullanıcı oluşturmak için gerekli komutumuz şu:


adduser rails

Kullanıcımızı oluşturduk ve şifremizi belirledik. Şimdi FileZilla ile bağlanıp proje dosyalarımızı yükleyebiliriz.

FileZilla ile bağlanmak için:


Sunucu: server ip adresi

Kullanıcı adı: rails

Şifre: adduser komutu ile kullanıcı eklerken belirlediğimiz kullanıcının şifresi

Port: 22 bu kısım önemli çünkü FTP protokolü ile değil SFTP protokolü ile bağlanıyoruz.

Server’ı Başlatmak ve Arkaplanda Çalıştırmak

Rails dosyalarını da sunucuya attıktan sonra sunucumuzu,


rails s

komutu ile başlatabiliriz. Fakat bu şekilde başlatırsak terminal ekranını kapattığınız zaman server kapanacaktır ve sitenize erişemeyeceksiniz. Bu yüzden sunucuyu arkaplanda çalıştırmak zorundasınız.

Bunun için de rails projenizin bulunduğu dizine gidin ve /config/puma.rb dosyasını düzenleyin. Bunu şu komutla yapabilirsiniz.


cd /home/rails

nano /config/puma.rb

Nano ile puma.rb dosyanızı açtıktan sonra,


port ENV.fetch("PORT") { 3000 }

satırının altına şu kodu yapıştırıyoruz


daemonize true

Bu satırı ekledikten sonra, rails s komutunu çalıştırdığımızda server otomatik olarak arkaplanda çalışacaktır.

Rails Server Portunu Değiştirme

Rails server varsayılan olarak 3000 portu üzerinden yayın yapar. Bunu web tarayıcılarından girildiğinde ekstradan port girilmesini istemediğimizden varsayılan http portu olan 80 portuyla değiştiririz. Bunu yapabilmek için ise /config/puma.rb dosyamızı tekrar açıyoruz ve


port ENV.fetch("PORT") { 3000 }

satırını bulup 3000 yazan kısmı silip 80 yazıyoruz.

Evet arkadaşlar, DigitalOcean Ruby on Rails kurulumu yazımızın sonuna geldik. Yaşadığınız sorunları bu yazının altına yorum olarak yazabilirsiniz. Kolay gelsin.

Diğer ruby ve rails sürümleri için yararlanabileceğiniz kaynak: https://gorails.com/setup/ubuntu/16.04

Paylaş

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir