hilas
New member
- Katılım
- 28 Şub 2006
- Mesajlar
- 246
- Reaction score
- 0
- Puanları
- 0
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) ServerAdmin [email protected] DocumentRoot /www/htdocs/domains/linux ServerName www.linux.org.tr ErrorLog logs/error_linux.org.tr TransferLog logs/access_log_linux.org.tr # www.bsdlive web alanı 16 Ekim 2000 de olusturuldu (yenigul) ServerAdmin [email protected] DocumentRoot /www/htdocs/domains/bsdlive ServerName www.bsdlive.org ErrorLog logs/error_bsdlive TransferLog logs/access_log_bsdlive Ş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. ifadesindeki IP adresi web sunucusunun IP adresi olmalı. ServerAdmin [email protected] 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. 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ı ServerAdmin [email protected] DocumentRoot /www/htdocs ServerName www.rt.net.tr ErrorLog logs/error_rt.net.tr TransferLog logs/access_log_rt.net.tr 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.