Sanal Adresleme (Virtual Hosting)

Aenodin - Pazartesi, 04 Nisan 2005 - Bu yazıyı arkadaşınıza gönderin

Sanal Adresleme Nedir?

Apache web sunucusunda Sanal Adresleme (Virtual Hosting), tek bir Apache web sunucusu üzerinde birden fazla web alanı için hizmet vermek amacı ile kullanılır. Bu dökümanda isme göre sanal adresleme yapılandırması yapılacktır. Tüm web alanları için web sunucusunda tek bir IP adresi kullanılacaktır. IP’ye göre de yapılandırma yapılır ama bunun için her web alanı için ayrı ayrı IP adresi tanımlanmalıdır. Bu durumda isme göre yapılandırma yapmak daha mantıklıdır (en azından ben öyle düşünüyorum )

* Sanal Adres Yapılandırması

İlk önce Apache web sunucusunu kurmuş olmanız gerekiyor!!

EÄŸer apache yi kurmadıysanız http://apache.bilkent.edu.tr adresinden apache’nin en son sürümünü indiriniz (Åžu anki son sürüm apache-1.3.12). Apache derlemek için aÅŸagıdaki komutları sıra ile veriniz:

# tar -zxvf apache_1.3.12.tar.gz

# cd apache_1.3.12

# mkdir /www

# ./configure –prefix=/www && make && make install
–prefix=/www ifadesi apache ile ilgili tüm dosyaların /www dizini altına atılmasını saÄŸlayacaktır. Bu parametreyi vermezseniz ön tanımlı olarak /usr/local/apache dizini altına atılacaktır.

Apache sunucusunu başlatmak için:

# /www/bin/apachectl start

komutunu vermeniz yeterlidir.

Daha sonra sevdiginiz bir metin düzenleyici ile httpd.conf dosyasını açınız.

# vi /www/conf/httpd.conf

Diyelimki www.linux.org.tr, www.rt.net.tr, www.bsdlive.org için sanal adresleme yapacağız. İlk önce tüm bu alanlar için dns kaydı yapılması lazım ve dns sunucuda bu alanların IP adresi olarak apache web suncusunun IP adresi verilmelidir.

Burada apache web sunucusun IP adresi olarak 195.1.2.4 verilecektir.

Sırası ile linux.org.tr ve www.bsdlive.org için sanal adresleme bilgilerini yazalım:

NameVirtualHost 195.1.2.4:80

# www.linux.org.tr 12 Ekim 2000 de olusturuldu (yenigul)

<VirtualHost 195.1.2.4>

ServerAdmin yenigul@rt.net.tr

DocumentRoot /www/htdocs/domains/linux

ServerName www.linux.org.tr

ErrorLog logs/error_linux.org.tr

TransferLog logs/access_log_linux.org.tr

</VirtualHost>

# www.bsdlive web alanı 16 Ekim 2000 de olusturuldu (yenigul)

<VirtualHost 195.1.2.4>

ServerAdmin yenigul@rt.net.tr

DocumentRoot /www/htdocs/domains/bsdlive

ServerName www.bsdlive.org

ErrorLog logs/error_bsdlive

TransferLog logs/access_log_bsdlive

</VirtualHost>
Şimdi yukarıdaki ifadelerin ne demek olduğunu açıklayalım.

NameVirtualHost 195.1.2.4:80 İfadesindeki 195.1.2.4 Apache web sunucusunun IP adresi (IP Gerçek deÄŸil, öylesine bir IP verdim) ve 80 ile de httpd port’u belirtilmiÅŸtir.

# ile başlayan kısımlar sadece açıklama kısmıdır. Olup olmaması yapılandırmayı etkilemez.

<VirtualHost 195.1.2.4> ifadesindeki IP adresi web sunucusunun IP adresi olmalı.

ServerAdmin yenigul@rt.net.tr ifadesi ile bu web alanının yetkili kişisinin eposta adresi belirtilir.

DocumentRoot /www/htdocs/domains/linux ifadesi ile www.linux.org.tr adresinin dosyalarının bulunduğu yeri belirttik.

ServerName www.linux.org.tr ifadesiyle adından da anlaşılacağı gibi Web alanı adı belirtildi.

ErrorLog logs/error_linux.org.tr ifadesi ile de bu web alanında oluşacak hatalar (dosyaların bulunamaması, CGI hataları) logs dizini altındaki (bizim kurulumda /www/logs) error_rt.net.tr dosyasına yazılır.

TransferLog logs/access_log_linux.org.tr ifadesi ile de bu web alanına hangi IP’lerden eriÅŸildiÄŸi hangi dosyalara bakıldığı gibi bilgiler logs dizini altindaki (bizim kurulumda /www/logs) access_log.linux.org.tr dosyasına yazılır.

</VirtulHost> ifadesi ile bu alan için gerekli yapılandırmanın bittiğini belirttik.

Evet sanal adreslememizin sonuna geldik sayılır ama bir sorun var!!!

Bizim Apache Sunucumuzun IP adresi 195.1.2.4 idi. Diyelimki bu IP www.rt.net.tr isimli makinaya ait ve bu adress RT.NET web sunucu.

Şu anki yapılandırmada http://www.rt.net.tr adresine girmek isteyen birisi www.rt.net.tr yerine httpd.conf dosyasında en üstte bulunan web alanına gidecektir. Yani www.linux.org.tr adresine erişecektir.

Bu sorunu çözmek için www.rt.net.tr sunucunun adı olmasına rağmen, bu alan içinde sanal adresleme kaydı yapılmalıdır.

Aşağıdaki ifadeler yazılırsa bu sorun giderilmiş olur.

# www.rt.net.tr Web alanı kaydı

<VirtualHost 195.1.2.4>

ServerAdmin yenigul@rt.net.tr

DocumentRoot /www/htdocs

ServerName www.rt.net.tr

ErrorLog logs/error_rt.net.tr

TransferLog logs/access_log_rt.net.tr

</VirtualHost>
En son olarak

# /www/bin/apachectl restart

komutu ile deÄŸiÅŸiklikler aktif hale getirilir.

EÄŸer daha onceden apache’yi kurmuÅŸsanız (Red Hat da)

# /etc/rc.d/init.d/httpd restart

komutu ile deÄŸiÅŸikliÄŸi etkinleÅŸtirebilirsiniz.

Bu komut httpd.conf’da yapılan her deÄŸiÅŸiklikten sonra çalıştırılmalıdır yoksa yapılanlar etkin olmaz.!

Ve apache web sunucusunun her açılışta çalışması için /etc/rc.d/rc.local (Red Hat Linux için) dosyasının en sonuna

/www/bin/apachectl start

yazıyoruz.

İnternet Etiketler: , , , , , ,
Buraya ekle »   Facebook Del.icio.us Digg Google

Yorum Yapın


This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)
Lütfen, yandaki 5 karakteri aşağıdaki kutuya yazınız.
  

  Karakterleri okuyamıyorsanız, yeni karakterler oluÅŸturabilirsiniz