LangTurk | Ruby on Rails ve Apache (Web Sunucusu) Ayarları

Ruby on Rails ve Apache (Web Sunucusu) Ayarları

21 Ağustos 2007, Salı 3 pm | Yazan : webdr | 28 okunma |

| 28 okunma

Ruby on Rails deneyenler acaba neden varsayılan web sunucusu webrick diye düşünebilirler, apache kadar yaygın deÄŸil ve lighttp kadar hızlı deÄŸil aynı zamanda hali hazırda kendi sunucunuzda (VPS ya da benzeri) apache kullanıyor olabilirsiniz ve neden sadece RoR için deÄŸiÅŸtirmek isteyesiniz. ÇoÄŸu ruby anlatımı webrick sunucularına göre yapılsa da apache’nin nasıl ayarlanacağını bilmek bu ve bunun gibi noktalarda önem arz etmektedir. Lafı fazla uzatmadan çok kısa bir biçimde bu ayarı nasıl yapacağınızı anlatayım.

Öncelike sisteminizde apache ve ruby ve rails kurulu olmalı. Bunları nerden edineceğinizi biliyorsunuz ya da çoktan sisteminizde kurulu. Bu örnekteki dizinler vs.. windows içindir eğer linux bir sunucu kullanıyorsanız dizin adlarına dikkat etmeniz gerekebilir.

Apache yapılandırma dosyası olan httpd.conf dosyasını bir meti editörü ile açalım (e-texteditor, psbad ve notepad++ benim başlıca kullandığım metin editörleri), bu dosya conf klasörü içinde bulunmaktadır.

a-)

#LoadModule rewrite_module modules/mod_rewrite.so

satırını bulup başındaki # sembolünü silelim.

b-)httpd.conf dosyasının en alt kısmına aşağıdaki satırı kopyalayıp yapıştıralım. Bu bölümdeki document root ve directory kısımlarını RoR uygulamanızın public klasörüne göre girmeniz gerekli.

c-) Yine httpd.conf dosyası içerisinde DocumentRoot ve Directory ile ilgili kelimeleri aratarak (Ctrl+F) bulalım ve bu satırlardaki dizinleri de, ror uygulamasının public dizinine denk gelecek şekilde değiştirelim.

Dosyayı kaydedip apache web sunucusunu başlatalım ve bu sefer webrick kullanırken girdiğimiz 3000 portunu girmeden sadece http://localhost aracılığı ile web uygulamamızın başlangıç sayfasına ulaşabiliriz.

Bu yapılandırma buraya kadar amaa ilave bilgiler vermezsem kendimi birşey anlatmış saymayacağım :) için, nedir bu public klasörü biraz açalım.

Public klasörü; teknik vs… anlatımları gözardı edersek. Kullanıcıların doÄŸrudan ulaÅŸabileceÄŸi yegane klasördür. Yani sitenizi (ror uygulamanızı) ziyaret eden kullanıcılar, sizin app ya da tmp gibi klasörlerinize ve ordaki verilerinize kodlarınıza doÄŸrudan ulaÅŸamazlar, doÄŸrudan ulaÅŸabildikleri tek yer public klasörüdür. Bu noktada insanın aklına soru takılıyor? Peki o zaman app klasöründe girdiÄŸim kodları nasıl iÅŸleme alıyor, iÅŸin bu kısmının anlatımı biraz uzun sürse de buna routing denir. Kullanıcı verdiÄŸiniz linke tıklar önce public klasörüne gelir daha sonra uygulamadaki routing bilgisine göre ya doÄŸrudan public klasöründeki index.html gibi bir dosyaya ulaşır ya da controller aracılığı ile action, id … gibi iÅŸlemlere ulaşır.

Diğer taraftan bir web uygulaması geliştirdiğinizde bu uygulama içinde resim, css ya da javascript kullanabilirsiniz, bu kullanacağınız dosyalarda bu dizine yerleşecektir. Örneğin siteniz için kullanacağınız .css dosyanızı yine buradaki css klasörüne atarsınız ve ror sizin için bu klasörleri kontrol eder.

BaÅŸka RoR ve Ruby anlatımlarında görüşmek üzere…

Kolay gelsin,
webdr

Bu Yazıyı Paylaşın: Bağcık |Webiket |Oyyla |LinkiBol |Favorri |Tusul |del.icio.us |

Şansımı denemek istiyorum



Yorumlarınızı bekliyoruz!