Türkçe (Turkish) Smf Teknik Destek Sitesi - smf.gen.tr

Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz
Elektrikli Arabalar
Gelişmiş Arama  


Smf.Gen.Tr Reklam Alanları
çiçekçi çiçekçi Webmaster Forumu çiçekçi Sitene Ekle
www.nettencicek.com
İnternetten Çiçek Göndermenin
En Kolay Yolu..
www.cicekal.net
Tüm Türkiye'ye online ve hızlı
çiçek siparişi. 0216 418 45 35
www.webmastersitesi.com
Artık Link Değişimi Çok Kolay Gelin Link Değişimi yapalım!
www.ozencicek.com
Türkiye'nin her yerine online ve hızlı
çiçek siparişi. 0216 418 45 35
www.seosta.net
Sitene haber, saat, pagerank, hava durumu alexa butonu ekle webmaster araçları!
Reklam Alanı Reklam Alanı Reklam Alanı Reklam Alanı Reklam Alanı
  Malumat İçin
Başvuru İçin
  Malumat İçin
Başvuru İçin
  Malumat İçin
Başvuru İçin
  Malumat İçin
Başvuru İçin
  Malumat İçin
Başvuru İçin

Malumat için... Malumat için...
reklam reklam

Gönderen Konu: D*035 - Apache Web Server ın Kurulumu  (Okunma sayısı 2864 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

galeriaforum.org

  • youness
  • Trader Puani: (0)
  • *
  • Karma: 374
  • Çevrimdışı Çevrimdışı
  • Cinsiyet: Bay
  • İleti: 4.772
D*035 - Apache Web Server ın Kurulumu
« : 10 Mart 2007, 21:45:52 »

Temel Apache Konfigurasyonu :
Bu bolumde, basit yapiya sahip bir apache web sunucusunu yonetmeyi,gerekli temel ayarlamalari yapmayi ogrenecegiz.Tum ayarlamalari www.turk-php.com alan adina gore yapacagiz.Bu nedenle kendi alan adinizi kullanirken herhangi bir problemle karsilasmadan, ayarlari kendinize uygun hale getirebileceksiniz…

Ilk olarak istedigimiz ozelliklerin ne olmasi gerektigine karar verecegiz.Ardindan yaptigimiz ayarlamalar ile apachenin tam olarak istedigimiz sekilde calismasini saglayacagiz.
Bu makalede sizlere guvenli baglantilar,sanal web sunucular vb. gibi ileri seviye ayarlamalar hakkinda bilgi verilmeyecektir.Bu konularin herbirisi bir ayri makale konusudur.
Cok fazla detaya girilmeden sadece ana ayarlamalar ve secenekler anlatilacaktir.
Kararlar
Apache ayar dosyalarina dokunmadan once bazi temel kararlari vermis olmaniz gereklidir :
Bu web sunucusunun adi ne olacak,
Hangi ag arayuzlerine cevap verecek,
Web sunucusu ayar ve kayit (log) dosyalari nerede (hangi klasorde) yer alacak,
Bu web sunucusu'nun ziyaretcilere sunacagi dokumanlar hangi klasorde yer alacak,
Web Sunucusunun Adi
Apache, kendisine gelen HTTP isteklerine cevap verirken kendini tanitmak icin bu isimi kullanir.Bu isim genelde www.ornek-domain..com formatindadir.Cok yaygin bir yanlis anlama veya bilgilendirme, apache'nin buraya yazilan isime cevap verecegidir.Bu dogru degildir…
Apache, "dinlemeye" devam ettigi herhangi bir network arayuzunden ve herhangi bir porta gelen butun isteklere cevap verebilir.
Apache ongorulen olarak host uzerindeki o anda uygun olan butun aglari dinlemeye ayarlanmistir.
Sunucu adi iste bu isteklere cevap veririken, apache'nin bir cok cevap bilgisinin beraberinde kullandigi, kenidisini tanitan bir bilgisel isimdir.
ServerName www.turk-php.com
Servis verilecek IP adresi
Apache'nin HTTP isteklerini alacagi IP adresidir.Bu adres aslinda apache'nin degilde host makinenin genel network konfigurasyonuna baglidir.Bu ayarin girilmesi zorunlu degildir.
Sunucumuz icin 192.168.1.1 IP adresini secelim.Bu adres gordugunuz gibi ozel bir IP araliginda ve internet uzerinde herhangi bir doger host makineyi bu sekilde rahatsiz etmis olmayacagiz.
Intranet icin sunucularda bu IP adresi kullanilabilir ama eger Internet uzerinde bir sunucu kuruluyorsa daha uygun ve gecerli bir IP adresi alinmali ve makineye bu adres verilmelidir.
Bunlar bu yazinin konusu disindadir.
Apache web sunucusu sadece belirli IP adreslerini dinlemeye zorlanabilir.Bunun icin BindAddress ve Listen direktifleri kullanilir.Bu direktifler ornegin makinemizde birden fazla network arayuzu varsa cok kullanisilidir.Bu durumda bizim tayin ettigimiz arayuz dinelenecek ve bu sekilde diger arayuzlere servis verilmeyecektir.
Apache ongorulen olarak, makine uzerindeki butun network arayuzlerini dinler :
BindAddress *
Ornegin apachenin bizim verdigimiz bir IP adresini (dolayisi ile bir network arayuzunu) dinlemesini istiyorsak asagidaki sekilde bu direktif kullanilabilir :
BindAddress 192.168.1.1
Veya ornegin yanlizca host makinenin uzerindeki istemcilere cevap verecek sekilde yapilandirmak icin :
BindAddress 127.0.0.1
Hangi port/portlar'a servis verilecek
Gelenege gore HTTP sunuculari icin ongorulen port 80'dir.Eger degistirmek istiyorsak Port direktifi ile bunu saglayabiliriz :
Port 80
Bununla beraber Listen direktifide bu amacla kullanilabilir.Listen direktifi cok yeni bir direktiftir.BindAddress ve Port direktiflerinin yerine gecmesi icin tasarlanmistir.BindAddress direktifi yanlizca bir tek IP adresi tanimlamaniza izin vermektedir.Bu durumda ikinci,ucuncu BindAddress kullanimlari bir onceki direktifin uzerine yazacaktir.
Listen ile birden fazla kez kullanilabilir.Bu durumda bir adres listesi/port listesi belirlenebilir.
BindAddress ve Port kullanmadan sadece Listen ile asagidaki sekilde kolayca dinlenmesini istedigimiz IP adresini ve Port numarasini belirleyebiliriz :
Listen 192.168.1.1:80
Standalone veya inetd secimi
Apache iki mod da calisabilir :
Standalone
inetd
Birinci secenek genel olarak kullanilan moddur.Bu mod ile apache kendi network baglantilarini kendisi ayarlar, kendisi icin ayarlanmis portu/portlari kendisi dinler.Tam bir basina buyruk program gibi davranir.Bu mod apache icin ongorulen moddur.Degistirlmek istenirse ServerType direktifi kullanilabilir :
ServerType standalone
Ikinci mod ise (Yanlizca UNIX sistemler icin) 'inetd' modudur.Bu durumda apache 'inetd' tarafindan calistirilir.Ayarlanan porta bir istek geldiginde, bu istek 'inetd' sunucusu tarafindan apacheye yonlendirilir…
Biz kendi sunucumuzu standalone modda calistiracagiz.Zira 'inetd' secenegi verimli degildir.
Kullanici ve Grup
UNIX sistemlerde apache, belirli bir kullanici ve grup kimligi altinda calisacak sekilde yapilandirilabilir.
Apache "root" kullanicisi tarafindan calistirildiginda, gelen isteklere cevap verecek, boyle kendi altinda dallanan cocuk surecler olusturur.Buna gelenek olarak "catallanma" denilmektedir.
Iste bu noktada cocuk surecler, -eger User ve Group direktiflerinde belirli bir kullanici ID ve Grup ID belirlenmis ise- ellerindeki bu "root" haklarini belirlenen "kullanici" ve "grup" ile degis tokus ederler.Bir nevi o kullaniciyi evlat edinirler.
Bu sunucu guvenligi acisindan cok onemlidir.Sunucuyu saldirilarin etkisinden uzaklastirmaktadir.
Apache neden root kullanici olarak baslatiliyor? sorusuna cevap ise 1024 un altindaki port numaralarinin yanlizca yuksek seviye izinlerle calistirilabilir olmasidir.Bu nedenle acilista apache "root" kullanicisi haklarina sahip olmalidir.Gordugunuz gibi HTTP portu 80 ise 1024 un altinda bir port numarasidir.
Biz kendi sunucumuz icin "nobody" yetkisiz kullanicisini, bu amacla kullanacagiz.Cogu UNIX sisteminde bu kullanici zaten ongorulen olarak yaratilmistir.
User nobody
Group nobody
Windows uzerinde bu direktifer kullanilamaz.Kullanilsa dahi apache bunlari gozardi edecek kadar zekice tasarlanmistir.Bu nedenle apache herhangi bir hata mesaji vermeyecektir.
Admin icin eposta adresinin belirlenmesi
Kullanicilarin, sunucu uzerindeki hatalari rapor etmesi icin bir eposta adresi belirlenmesi cok kullanislidir.Bu admin eposta adresi yaratilan hata sayfalarinda kullanilabilir.Eposta adresi ServerAdmin direktifi ile belirlenir :
ServerAdmin webmaster@turk-php.com
Sunucu kok klasorunun belirlenmesi
ServerRoot direktifi ile apache'nin kendisi icin gerekli dosyalarini nerede tutacagi belirlenir.Bu yol ayni zamanda apache'nin diger direktiflerinde "gorece" tanimlanmis yollar icin bir kok niteligindedir.
Ornegin ErrorLog ve DocumentRoot direktifleri bu sekilde gorece tanimlanmis yollar icermektedir.
ServerRoot /usr/local/apache
Gordugunuz gibi yolun onunde bir adet "/" isareti bulunmaktadir.Bu nedenle bu tip yollar "kesin yollar" olarak isimlendirilir.Dosya agacinda kok dizinden itibaren bastan sona dogru ilgili klasore ulasilir.
Ongorulen hata kayit dosyasinin secilmesi
Apache ile cok degisik bilgi kayitlari yaratilabilir.Bunlara ornek olarak erisim kayitlari, ziyaretci gonderen site adreslerinin kayitlari, hata kayitlari vb. sayilabilir.
Erisim kayitlari veya diger tip bilgi kayitlari ile ugrasip ugrasmayacaginizi bilemeyiz ama hata kayitlari bir sunucu icin cok onemlidir.Erisim kayitlari,gonderen kayitlari vb. kayitlar hem islem zamani alirlar hemde sabit surucu uzerinde bir suru yer kaplarlar.
Butun hatalarin rapor edilip kayida gercirilmesi icin apache web sunucusu ErrorLog direktifini kullanmaktadir.Bu kayit dosyasi ongorulen olarak UNIX sistemler icin logs/error_log olarak, windows icin ise logs/error.log belirlenmistir.
Yukaridaki yollar gordugunuz gibi "goreceli yollardir".Eger "kesin yol" ile bunlari belirlemek isterseniz asagidaki gibi sunucu kokunden itibaren tum yolu belirtmeniz gereklidir :
ErrorLog /usr/local/apache/logs/error_log
veya alternetif olarak "gorece yol " ile :
ErrorLog logs/error_log
Bu durumda bir onceki direktifte gordugumuz ServerRoot yolu bu gorece yolun onune eklenecektir.
Sunulacak web dokumanlarinin tutulacagi klasorun tayin edilmesi
Son olarak sunacagimiz web sayfalarini hangi klasore koyacagimizi tayin ediyoruz.Bu herhangi bir dosya klasoru olabilir.Buradaki tek sinirlama apache'nin bu klasore olan erisiminin olmasi gerekliligidir.Apachenin calistigi makine uzerinde bulunma zorunlulugu yoktur.Ornegin NFS ile erisilebilen bir dosya klasoru bile olabilir…
Boyle ag servisleri icin http://www.netapp.com adresine bakabilirsiniz.
Ongorulen olarak apache sunacagi dosyalarin ServerRoot ile belirlenen klasor altinda, htdocs isimli klasorde oldugunu kabul eder.Bunu degistirmek icin DocumentRoot direktifi kullanilir.Bu direktif ile belirlenen klasor gorece veya kesin yola sahip olabilir.Gorece yol girildiginde ServerRoot ile belirlenen klasor bu yolun onune eklenecektir.
Asagidaki iki ayar satirinin birincisinde gorece yol ikincisinde ise kesin yol kullanilarak iki ornek yapilmistir.Secim tamamen size kalmistir.Dosya sisteminde istediginiz bir klasor secerek bu direktifle asagidaki gibi web klasorunuzu belirleyebilirisiniz :
DocumentRoot htdocs
DocumentRoot /usr/local/apache/htdocs
Biz kendi web sunucumuz icin ServerRoot klasorunun disinda (Bu sekilde ayar dosyalarinin yer aldigi klasorden , web klasorunu ayirmak iyi bir guvenlik onlemidir.) /home klasorunun altindaki webler isimli bir klasore koyacagiz : Diger kullanicilardan bizim dosyalarimizi ayirmak icin bir de turk-php
isimli klasor actim.Iste bu klasor icine konulacak her dosya web ile ulasilabilir hale geliyor...
DocumentRoot /home/webler/turk-php
Sonuc olarak asagidaki gibi bir web sunucu konfigurasyonu yapmis olduk :
ServerName www.turk-php.com
BindAddress 192.168.1.1
#Port 80
User nobody
Group nobody
ServerAdmin webmaster@turk-php.com
ServerRoot /usr/local/apache
ErrorLog logs/error_log
DocumentRoot /home/webler/turk-php
Yukarida yer alan butun direktifler aciklamalari ile beraber (ingilizce olarak) httpd.conf dosyasinda yer almaktadir.Burada # ile bir satir "yorum" haline getirilip etkisiz hale getirilmektedir.Satiri silmekten daha iyi bir yol bu sekilde ongorulen ayarlari unutmamak icin onune # isareti getirerek yorum haline getirmektir.
Serkan Hadi Ceylani
« Son Düzenleme: 23 Nisan 2007, 17:53:37 Gönderen: RockAndRap.NeT »
Kayıtlı