• Sonuç bulunamadı

4. LINUX KÜME MĐMARĐSĐ

4.11. YÜKSEK ERĐŞĐLEBĐLĐR KÜME YAPILARI

4.11.4. Apache web sunucu konfigürasyonu

Linux sürümlerinin hepsinde bulunan KDE ve GNOME pencere yöneticileri kullanılarak Apache web sunucu konfigürasyonu görsel olarak yapılabilir.

Fedora altında Apache web sunucu konfigürasyonu görsel olarak Panel / System / Administration / Server Settings / HTTP kısayolu kullanılarak yapılabilir.

Konfigürasyon yapılırken bakılması gereken ayarlar şunlardır;

• ServerName • DocumentRoot

• BindAddress (Apache 2.0 öncesi sürümlerde) • Port (Apache 2.0 öncesi sürümler)

Şekil 4.37. Görsel APACHE konfigürasyonu

ServerName: /etc/httpd/conf/httpd.conf Apache konfigürasyon dosyasında bulunan ServerName satırı sunucu ismini belirler.

#ServerName <yourserver> satırı kaldırılarak aşağıdaki satır eklenir. ServerName www.domainadi.com

www.domainadi.com satırı yerine kümenin DNS kaydı girilir.

DocumentRoot: DocumentRoot dizini HTML dosyalarının bulunacağı varsayılan dizini belirtir. Aşağıda HTML dosyaları için varsayılan dizin bulunmaktadır.

DocumentRoot "/www/htdocs"

httpd.conf dosyasında DocumentRoot ayarını belirten satır aşağıdaki gibidir. <Directory "/www/htdocs">

Listen: Listen direktifi Apache 2.0 öncesi sürümlerde bulunan BindAddress ve Port direktiflerinin yerini almıştır. Apache web sunucunun dinlemesi gereken IP adresi ve port numarasını belirtir.

Listen 193.255.141.39:80 Listen 193.255.141.39:443

Eğer sistemde bulunan tüm IP adreslerine gelen istekler dinlenecekse Listen direktifinde IP adresleri belirtilmez.

Listen 80 Listen 443

Aşağıdaki komut kullanılarak Apache web sunucunun hangi portları dinlediği kontrol edilebilir.

#netstat -apn | more

Apache Virtual Host Konfigürasyonu: Eğer düğümler sadece tek bir DNS kaydı üzerinden hizmet sunacaksa httpd.conf dosyasında değişiklik yapmaya gerek yoktur. Ancak bir sunucu farklı host adreslerinde farklı web sayfaları yayınlayacaksa virtual host konfigürasyonu yapılmalıdır [4].

Apache IP Tabanlı Virtual Host Konfigürasyonu: Küme düğümlerinde çalışan Apache web sunucular Apache konfigürasyon dosyasındaki IP tabanlı virtual host direktifleri kullanılarak tek bir düğümde birden fazla IP tabanlı web host olarak çalışabilirler [4].

<VirtualHost Küme_sanal_IP_adresi:80 Düğüm_IP_adresi:80> # # ServerName www.domainadi.com ServerAdmin administrator@domainadi.com DocumentRoot /www/htdocs ErrorLog /var/log/httpd/error_log TransferLog /var/log/httpd/access_log </VirtualHost>

Eğer birden fazla düğüm hizmet verecekse dosya aşağıdaki şekilde düzenlenmelidir.

<VirtualHost Küme_sanal_IP_adresi:80 Düğüm1_IP_adresi:80 Düğüm2_IP_adresi:80>

# ServerName www.domainadi.com ServerAdmin administrator@domainadi.com DocumentRoot /www/htdocs ErrorLog /var/log/httpd/error_log TransferLog /var/log/httpd/access_log </VirtualHost>

Virtual Host kabının kullanım formatı aşağıdaki gibidir.

<VirtualHost VIP:Port Virtual RIP1-1:Port Virtual RIP2- 1:Port ... >

Diğer seçenekler </VirtualHost>

Apache Đsim Tabanlı Virtual Host Konfigürasyonu: Tüm web tarayıcılar host adı kullanılarak HTTP isteği gönderebilirler. Böylece IP adresleri daha az israf edilmiş ve sunucuda farklı host adları ile farklı sayfalar yayınlanmış olur.

Apache isim tabanlı virtual hostlar için http isteğindeki IP adresini ile Virtual Host kabı ile eşleştirir ve ServerName direktifine bakarak ilgili Virtual Host kabının doğru kap olup olmadığına karar verir.

Eğer birden fazla domain adında yayın yapılacaksa httpd.conf dosyası aşağıdaki gibi olmalıdır.

# Enable Name-based virtual hosts on all IP addresses. NameVirtualHost *

# First name-based virtual web: www1.domainadi.com <VirtualHost *> ServerAdmin administrator@domainadi.com UseCanonicalName off DocumentRoot /www/ww1/htdocs ServerName www1.domainadi.com ErrorLog /var/log/httpd/error_log TransferLog /var/log/httpd/access_log </VirtualHost>

# Second name-based virtual web: www2.domainadi.com <VirtualHost *> ServerAdmin administrator@domainadi.com UseCanonicalName off DocumentRoot /www/www2/htdocs ServerName www2.domainadi.com ErrorLog /var/log/httpd/error_log

TransferLog /var/log/httpd/access_log </VirtualHost>

SSL protokolü kullanılıyorsa IP tabanlı virtual host kullanma olanağı yoktur. Şifrelenmiş SSL iletişimi http bağlantısından önce kurulmalıdır. Bu problemi çözmenin bir yolu her bir virtual host kabında http portundan gelen istekler için bütün virtual hostlar tarafından paylaşılacak IP adresi tanımlamaktır.

# Enable Name-based virtual hosts for one IP address NameVirtualHost Küme_sanal_IP_adresi:80

# First name-based virtual web: www1.domainadi.com <VirtualHost Küme_sanal_IP_adresi:80> ServerAdmin administrator@domainadi.com UseCanonicalName off DocumentRoot /www/ww1/htdocs ServerName www1.domainadi.com ErrorLog /var/log/httpd/error_log TransferLog /var/log/httpd/access_log </VirtualHost>

# Second name-based virtual web: www2.domainadi.com <VirtualHost Küme_sanal_IP_adresi:80> ServerAdmin administratpr@domainadi.com UseCanonicalName off DocumentRoot /www/www2/htdocs ServerName www2.domainadi.com ErrorLog /var/log/httpd/error_log TransferLog /var/log/httpd/access_log </VirtualHost>

Virtual Host Konfigürasyonunun Doğrulanması: Konfigürasyonun tamamlanmasından sonra yapılmış olan Apache konfigürasyonu aşağıdaki komutla doğrulanabilir.

#/usr/sbin/httpd -t -DDUMP_VHOSTS

Apache versiyonlarının çoğunda aynı işlem aşağıdaki komutla da yapılabilir.

/usr/sbin/httpd –S

IP tabanlı virtual hostlarda komutların çıktıları aşağıdaki gibidir. #/usr/sbin/httpd -t -DDUMP_VHOSTS VirtualHost configuration: Düğüm_IP_adresi:80 www.domainadi.com (/etc/httpd/conf/httpd.conf:1215) Küme_sanal_IP_adresi:80 www.domainadi.com (/etc/httpd/conf/httpd.conf:1215)

httpd.conf konfigürasyon dosyasında 1215 numaralı satırda VirtualHost IP adresleri bulunmaktadır.

Đsim tabanlı virtual hostlarda komutun çıktısı aşağıdaki gibidir. #/usr/sbin/httpd -t -DDUMP_VHOSTS

VirtualHost configuration:

wildcard NameVirtualHosts and _default_ servers: *:* www1.domainadi.com

(/etc/httpd/conf/httpd.conf:1215)

*:* www2.domainadi.com (/etc/httpd/conf/httpd.conf:1225)

Benzer Belgeler