22
İrfan MACİT Bölüm 4 Apache Web Sunucusu Bölüm 4 Apache Web Sunucu 1. Giriş Hizmet sunucuları işlevini görecek bilgisayarlar iki alt grupta toplanabilir. Birincisi Internet erişimini sağlayan diğer bir deyişle Internet bağlantı hizmetini verecek olan bilgisayar,diğeri ise hizmet sunucu bilgisayar buna da web servislerinin verildiği bilgisayar olarak tanımlayabiliriz. Değişik firmaların ürettiği çeşitli web sunucu yazılımları bulunmaktadır. Dünyadaki web servislerinin yarısından fazlasını apache web sunucuları vermektedir. Bu sunucular güvenli erişim ve web üzerinde yönetim sağlayan cgi (Common Gateway Interface) yapısında web arayüzlerini de sağlamaktadır. Bu proje kapsamında apache web sunucusu kurulumu ve yapılandırmasında bahsedilecektir. Apache web sunucusunun tercih edilmesinin ana sebebi geniş uygulama ve kullanım alanı yanı sıra değişik işletim sistemi platformlarında çalışabilmesidir. Internet erişiminin sağlanması işlevini yine Linux işletim sistemi veya FreeBSD/OpenBSD işletim sistemlerinden birisi tarafından verilmesi tasarlanmaktadır. Projenin maliyetlerinin düşürülmesi için daha çok herkes tarafından kolayca bulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih edilmektedir. Internet erişiminin sağlanacağı işletim sistemin olarak belirlenen Linux işletim sisteminin yanı sıra güvenlik testlerinden uzmanların tercih ettiği ve önerdiği bir diğer işletim sistemin ise OpenBSD Unix’tir. OpenBSD Berkeley üniversitesindeki bir araştırma projesi sonucunda ortaya çıkan ve Unix çekirdeğini kullanan güvenli bir işletim sisteminin. Profesyonel güvenlik sağlayıcı şirketlerinde önerdiği bu sistemin geliştirilme amaçlarından birisi güvenli Internet erişiminin sağlanmasıdır. Kurulumu ve yapılandırması bir güç olan bu sistemin kurulduktan sonra herhangi bir ek yapılmaya ihtiyaç kalmadan güvenli olarak çalışması ise güvenilirliğinin artmasını sağlamıştır. 59

Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Bölüm 4

Apache Web Sunucu 1. Giriş

Hizmet sunucuları işlevini görecek bilgisayarlar iki alt grupta toplanabilir. Birincisi

Internet erişimini sağlayan diğer bir deyişle Internet bağlantı hizmetini verecek olan

bilgisayar,diğeri ise hizmet sunucu bilgisayar buna da web servislerinin verildiği bilgisayar

olarak tanımlayabiliriz. Değişik firmaların ürettiği çeşitli web sunucu yazılımları

bulunmaktadır. Dünyadaki web servislerinin yarısından fazlasını apache web sunucuları

vermektedir. Bu sunucular güvenli erişim ve web üzerinde yönetim sağlayan cgi (Common

Gateway Interface) yapısında web arayüzlerini de sağlamaktadır. Bu proje kapsamında apache

web sunucusu kurulumu ve yapılandırmasında bahsedilecektir. Apache web sunucusunun

tercih edilmesinin ana sebebi geniş uygulama ve kullanım alanı yanı sıra değişik işletim

sistemi platformlarında çalışabilmesidir. Internet erişiminin sağlanması işlevini yine Linux

işletim sistemi veya FreeBSD/OpenBSD işletim sistemlerinden birisi tarafından verilmesi

tasarlanmaktadır. Projenin maliyetlerinin düşürülmesi için daha çok herkes tarafından kolayca

bulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

edilmektedir.

Internet erişiminin sağlanacağı işletim sistemin olarak belirlenen Linux işletim

sisteminin yanı sıra güvenlik testlerinden uzmanların tercih ettiği ve önerdiği bir diğer işletim

sistemin ise OpenBSD Unix’tir. OpenBSD Berkeley üniversitesindeki bir araştırma projesi

sonucunda ortaya çıkan ve Unix çekirdeğini kullanan güvenli bir işletim sisteminin.

Profesyonel güvenlik sağlayıcı şirketlerinde önerdiği bu sistemin geliştirilme amaçlarından

birisi güvenli Internet erişiminin sağlanmasıdır. Kurulumu ve yapılandırması bir güç olan bu

sistemin kurulduktan sonra herhangi bir ek yapılmaya ihtiyaç kalmadan güvenli olarak

çalışması ise güvenilirliğinin artmasını sağlamıştır.

59

Page 2: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Apache web sunucusu hakkında detaylı bilgi ve belgelere ulaşmak için

URL:http://httpd.apache.org/docs-2.0/ adresini veya URL:http://www.belgeler.org adresi

kullanılabilir.

2. Windows İşletim Sisteminde Apache Web Sunucu Servisinin Kurulması ve

Yapılandırılması

Apache web servisi ilk olarak Microsoft Windows işletim sistemi üzerinde nasıl

kurulacağından bahsedilecektir. Apache web sunucusunu Internet üzerinde

http://www.apache.org/dist/httpd/binaries/win32 adresinden güncel sürümünü temin

edebiliriz. Bu web sitesinde çalıştırılabilir kod uzantılı (.exe), derlenmiş Windows dosyası

(.msi) ve sıkıştırılmış (.zip) apache web sunucusunun hangisini sistemimize kurmak istiyorsak

bilgisayarımıza indirip kurabiliriz. Kurulumun Microsoft Windows versiyonu kurulumu

sırasında bir Windows bilgisayar programının kurulumu gibidir. Apache web sunucusun

kurulumu sırasında sunulan seçeneklerden yararlanılarak kolayca kurulabilmektedir. Kurulum

başladıktan sonra ilk gelen pencere Şekil 1’deki gibidir. Bu pencereden web sunucusunun

sürümü ile ilgili bilgiler gelecektir. Burası web sunucusunun kurulumunun ilk aşamasıdır.

“Next” düğmesi işaretlenerek kurulumun bir sonraki aşamaya geçmesi sağlanır.

Şekil 3.1. Apache web sunucusu kurulum başlangıcı

İkinci aşamada web sunucusunun ilgili firmanın lisans anlaşması görüntüsü Şekil 2’de

gelmektedir. Bu aşamada lisans anlaşmasının kabul edilip edilmediği sorulu ve kurulum

60

Page 3: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

yapan kullanıcıdan burayı dikkat ile okuması istenir. "I accept the terms in the license

agreement" işaretlendikten sonra “Next” düğmesi ile kuruluma devam edilir. Eğer ikinci

seçenek olan “I do not accept the term in the license agreement ” seçilirse kurulum kesilmesi

istenip istenmediği sorulur. Bu soruya “yes” cevabı verilir ise kurulum yarıda kesilir ve

programın kurulumu durdurulur.

Şekil 3.2. Lisans anlaşması metni

Üçüncü aşamaya gelindiğinde apache web sunucusu ile ilgili teknik bilgilerin

bulunduğu Şekil 3’teki görüntü ekrana gelir. Burada geliştiricilerin yaptığı yenilikler veya

apache web sunucusunun sürümü ile ilgili kısa kurulum bilgileri verilmektedir. “Next”

düğmesini işaretleyerek kurulumun diğer aşamasında geçilmesi sağlanır.

61

Page 4: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Şekil 3.3. Apache web sunucusu kısa kurulum bilgisi.

Diğer aşama olan dördüncü aşamada apache web sunucusu ve kullanıcı ile ilgili bilgilerin

girilmesi beklenir. “Network Domain” kutusu apache web sunucusunun çalışacağı bilgisayar

ağının bölge ağ adı verilir. Burada kişisel bir bilgisayar yüklenmesi durumunda “localhost”

olarak girilmesi istenir. Eğer bir “DNS” kaydı olan bir ağ kullanılıyor ise örneğin

“bizimsirket.com” gibi ağ kaydı yapılmış ise buraya kaydı bulunan bu ağ adının girilmesi

beklenir.

“Server Name” kutusuna apache web sunucusunun çalışacağı ağ kaydı yapılmış olan

bilgisayarın adı tamamı ile girilir, örneğin bilgisayarın ismi “www” ise buraya girilecek olan

adres “www.bizimsirket.com” seklindedir. Bu adres bize Internet üzerinden erişecek olan

bilgisayarların bu adresi yazdığında ulaşmasını ve ağ üzerinde tanımlı olmasını sağlar. En alt

kutucukta “Administrator’s E-mail Adress” kısmında apache web sunucunun cevap bekleyen

kullanıcıya hata mesajı vermesi durumunda iletişimde bulunacağı yönetici e-posta adresidir.

En altta bulunan "Install Apache HTTP Server programs and shortcuts to" seçimilik

düğme ise bilgisayarımızın çalıştığı işletim sisteminin özelliğinden kaynaklanan bir duruma

göre yapılandırma yapmamızı sağlar. Microsoft Windows XP,NT ve 2000üzeri işletim

sistemlerinde kullanıcıları ayrı olarak açılması sağlandığından her kullanıcı sisteme kendi adı

ile açılış sağlar. Bu durumda kullanıcılar aynı bilgisayarı kullansalar bile kendilerine ait olan

hesaplara ait haklar ile işlem yapabilirler. Bu durumda yönetici olmayan birisi bu bilgisayarı

açması durumunda apache web sunucusunu çalıştıramayacaktır. Eğer bu bilgisayarı kullanan

tüm kullanıcıların web sunucusunu çalıştırması isteniyor ise ilk seçenek olan “Run as a

service for All Users -- Recommended” seçeneğin işaretlenmesi istenir. Bu kutucuğun

işaretlenmesi durumunda apache web sunucusu bir Windows işletim sistemin servisi gibi

çalışacaktır . Diğer seçenek olan “Run when started manually, only for me (kişi)”

işaretlenmesi durumunda apache web sunucusu sadece bilgisayar kullanıcısı olan “kişi”

tarafından çalıştırılabilir.

62

Page 5: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Şekil 3.4. Kurulum ve kullanıcı bilgileri

Kurulum tipinin seçildiği beşinci aşamada kurulumun nasıl yapılması istendiği sorulur

bu aşamada kurulumu yapan kişi kendi isteğine göre bir takım değişiklikler yapmak istiyor ise

buradaki “Custom” seçeneğini seçerek kendine özel kurulum yapabilir. Eğer kurulum yapan

kişi “Complete” seçeneğini seçerek devam eder ise kurulum standart olarak daha önce

geliştiriciler tarafından belirlenen tüm ayarları ile kurulur Şekil 5. “Custom” seçeneği ile

kurulum yapan kullanıcı kurulum sırasında apache web sunucusuna ait dokümanları veya

“Runtime” olarak bahsedilen apache web sunucusunun çalıştırma dosyalarını seçmesi

beklenir. Apache web sunucusu “Runtime” dosyaları programın çalışması için gerekli olan

tüm dosyaları içerdiğinden kurulması gerekir kurulmadığı durumda web sunucusu

çalışmayacaktır. Dokümantasyon apache web sunucusunun sürümüne göre yaklaşık olarak 5

megabyte disk alanı kaplamaktadır. Yardım ve yapılandırma ayarları sabit olarak kalacak ve

geliştirilme işlemi yapılmayacak ise dokümanların kurulması işlemi iptal edilebilir.

Günümüzde web sunucularının disk alanları kısıtlı olmadığı için kurulması tavsiye

edilmektedir.

63

Page 6: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Şekil 3.5. Kurulum tipinin seçilmesi

Şekil 6’da kurulum seçeneği “Custom” olarak seçildiği durumda sunucu

bilgisayardaki kurulum yolu değiştirilmek isteniyor ise “Change” düğmesi ile disk üzerindeki

programın kurulacağı dizin değiştirilebilir. Ayrıca “Custom” seçeneği seçildiğinde kurulum

sırasında yardım dosyaları da kurulumu sağlanmaktadır.

Şekil 3.6. Kurulum yeri ve yardım dosyalarının yerleşiminin seçimi

Kurulum yerinin seçimi web sunucusunun kullanacağı dosyalarının

yerleşiminin belirlenmesi amacıyla düzenlenmektedir. Genellikle kurulum yeri

“C:\Program Files\Apache2 Group” dizini içerisindedir. Beşinci aşamada kurulum

64

Page 7: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

seçeneği “Complete” olarak seçilirse kurulum dizini belirtilen yol olarak kalır. Eğer

farklı bir kurulum yeri belirlenecek ise “Change” düğmesine basılarak Şekil 7’deki

gibi kurulum dizininin yeri değiştirilebilir.

Şekil 3.7 Kurulum dizininin değiştirilmesi.

Kurulum yerinin değiştirilmesinin tercih nedeni kurulum yapılacak disk alanı her

zaman bilgisayarın kendi disk alanı üzerinde olmayabilir. Bazı durumlarda dağıtık dosya

sistemi kullanılabilir. Bu durumlarda disk yerinin seçimi önem kazanmaktadır. ”change”

düğmesi kullanılarak bu durum düzeltilir.

Şekil 3.8. Kurulumun başlatılması.

65

Page 8: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Kurulum ayarları tamamlandıktan sonra artık bilgisayara web sunucusunun kurulması

işlemi başlayacaktır. Şekil 8’de “Install” düğmesine basılarak kurulum aşamasına geçilir.

Şekil 3.9 Kurulum işlemi.

Kurulum işlemi başladıktan sonra disk alanına kurulum için gerekli dosyalar

kopyalanmaya başlar. Bu aşamada kurulum programı web sunucusuna ait dosyaları

bilgisayarda daha önce ayarladığımız yerlere kopyalanmaya başlamıştır. En son aşamada

kopyalanma işlemi bitmiştir. Şekil 10’da “Finish” düğmesine basılarak kurulum işleminin

bitirilmesi sağlanır.

Şekil 3.10. Kurulumun sonlandırılması.

66

Page 9: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Kurulum işlemi bittikten sonra Windows gezgini ile “C:\Program Files\Apache2

Group” dizinine gidilerek apache web sunucusu kontrol paneli çalıştırılarak web

sunucusunun durumu kontrol edilebilir. Bu kontrol panelinde daha sonradan ihtiyaç duyulur

ise web sunucusu “stop” düğmesi ile durdurulur. Kontrol panelinde bulunan “start” düğmesi

daha önceden durdurulmuş olan web sunucusu yeniden başlatır. Kontrol paneli bize web

sunucusunun durumu hakkında bilgi verir. Eğer web sunucusu herhangi bir nedenden dolayı

durmuş veya çalışmıyor ise yeniden çalıştırmak için veya diğer araçlar yardımıyla durma

nedenini araştırmamıza yardımcı olmaktadır. Windows 2000 veya Windows XP işletim

sistemleri Windows NT çekirdeği üzerinde çalıştığından “services” Windows yönetim

modülünden servis olarak kontrol edilebilir.

Windows 2000 veya Windows XP işletim sistemlerinde yönetimsel araçlar veya

bilgisayarımdan yönet mönüsüne girilerek “services” araçlarının bulunduğu mönüye ulaşılır

burada Windows işletim sistemi servisi olarak görünen “apache” servisi ile web

sunucusunun çalışması kontrol edilebilir. Eğer istenirse Windows bilgisayar programlama

araçları ile servislere ek yazılımlar geliştirilerek web sunucunun kontrol edilmesi sağlanır. Bu

sistem yöneticisine bulunmadığı başka bir ortama gsm mesajı gönderilmesini veya çağrı

bırakılmasını sağlayan mekanizmaların çalışmasını sağlar. Yüksek bulunurluluk gerektiren

çalışma durumlarında bu programlama araçları sistem yöneticilerinin işlerini oldukça

kolaylaştırmaktadır.

Şekil 3.11. Windows Servis Penceresinde Apache web Sunucu Servisi

67

Page 10: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Apache web sunucusu ayarlarının yapılması işlemi kurulum işleminin hemen ardından

yapılması beklenir. Genellikle Windows işletim sisteminde kurulum sonrası ayarlamalara

gerek duyulmamaktadır. Bir betik dili desteği verilecek ise bu kurulum yapılan dizindeki

“conf” dizini içerisinde bulunan httpd.conf dosyası bir kelime işlemci ile açılarak gerekli

düzeltmelerin yapılması gerekir. Bu düzeltmeler öncelikle sunucunun çalışacağı port

numarası sunucu ismi ve bağlantı kurulacak e-posta adresleri gibidir.

Windows işletim sisteminde olduğu gibi httpd.conf dosyası bir kelime işlemci ile

açılarak gerekli düzeltmelerin yapılması gerekir. Bu yapılandırma dosyasının bir çok ayarı

Windows işletim sisteminin aynısıdır. Farkları sadece dizin yapılarında değişmektedir. Dizin

yapısı Windows işletim sisteminde “C:\Program Files\Apache2 Group” şeklindedir. Linux

veya unix işletim sisteminde dizin yapısı ise “/usr/var/www” veya “/home/www” şeklindedir.

Daha sonra betik dili veya veritabanı desteği gibi verilecek desteklere göre yapılandırma

ayarları oluşturulur. Burada daha çok PHP betik dili ile ilgili ayarların nasıl yapılacağından

bahsedilecektir. PHP betik dili ile geniş açıklama ayrı bir bölümde ele alınacaktır.

PHP betik dili kurulumu için gerekli dosyaları http://www.php.net/downloads.php

adresinden indirilebilir. bu web adresinde bulunan zip uzantılı dosya bilgisayarın kök

dizininde açılacak olan “C:\PHP” dizinine kopyalanarak sıkıştırılmış dosya açılır. Bu dizin

içerisine açılan dosyalar içerisinde bulunan “php.ini-dist” isimli dosyayı “php.ini” olarak

ismini değiştirerek Windows işletim sisteminizin bulunduğu dizine kopyalayınız. Bu dosya

içerisinde kullanmak istediğimiz satırları aktif hale getirmek için satır başlarında bulunan ;

işaretini kaldırmamız yeterlidir. Bu dizin kullanmakta olduğunuz işletim sisteminin özelliğine

göre değişmektedir. Windows işletim sistemini kurduğunuz kök dizi “C:\windows” veya

“C:\winnt” şeklinde olabilir. Kopyalama işleminden sonra “php.ini” dosyasını bir kelime

işlemci ile açarak “extention_dir” satırını bulunuz. Bu satır php yorumlayıcısının hangi

uzantılar ile ilişkili olarak çalışacağını gösteren ayarların olduğu dizini işaret eder. Bu dizin

“php_xxx” ile başlayan dll uzantılı dosyaların olduğu dizindir. Php betik dili ile ilişkili olarak

kullanmak istediğimiz php uzantısından başka bir uzantıda olan betiklerin ilişkili olduğu

dosyaları bu dizine kopyalamamız gerekir. Bu satırdaki ayarlama aşağıdaki gibi olmalıdır.

extention_dir = C:\PHP\extention

Bu dizinde php betik dilinin görüntü (images) dosyaları ile ilgili olarak kullanılan

fonksiyonları kullanmak için “php.ini” dosyasında bulunan bir satıra extention=php_gd.dll

yazmak yeterlidir. Bu satır yazıldıktan sonra artık php ile görüntülere ait olan fonksiyonları

68

Page 11: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

kullanabiliriz. Aşağıdaki satırlar ise Windows işletim sisteminde çalışan apache web

sunucusunun çalıştırılmasını sağlayan dll dosyasının dizin yerini göstererek yükleyen ve

php’nin bir uygulama olduğunu belirten tanımlamadır. Bu tanımlama sonucunda php uzantılı

dosyalar apache web sunucusu tarafından Windows işletim sisteminden bir uygulama gibi

çağrılacaktır.

LoadModule php4_module c:/php/sapi/php4apache2.dll AddType application/x-httpd-php .php

Diğer değişiklikler ve yapılandırma ayarlarının bir çoğu Linux işletim sistemindeki

gibi yapılandırılmaktadır. Sanal web sunucusunun oluşturulması işlemine “virtual hosting”

denmektedir. İki türlü olarak yapılandırılabilir. İlki IP (Internet Protokolü) numarası tabanlı

yapılandırma, ikincisi dns (Domain Name Server) tabanlı yapılandırmadır. Detaylı bilgi Linux

işletim sistemindekinin aynısı olarak yapılandırılmaktadır. Unutulmaması gereken önemli bir

nokta apache web sunucusunun yapılandırma dosyalarında bir değişiklik yapıldığında

değişikliğin geçerli olabilmesi için sunucuyu tekrar çalıştırmak gerekir. Bu durumda web

sunucu yapılandırma dosyasını tekrar okuyarak değişikliğe göre yeniden başlatılacaktır.

3.3 Linux İşletim Sisteminde Apache Web Sunucu Servisinin Kurulması ve

Yapılandırılması

Önceki bölümde web sunucusunun daha önceden var Windows işletim sistemi altında

kurulması ve yapılandırmasından bahsedilmişti. Linux veya unix işletim sisteminde web

sunucusu işletim sistemi kurulurken sunucu olarak yapılandırıldığında kendiliğinden

bilgisayara yüklenir. Bu işlem işletim sistemi kurulan bilgisayarın sunucu olarak kullanılması

durumunda geçerlidir. Eğer bilgisayarımızı masa üstü olarak kurulu ise yine Apache web

sunucusunu yükleyebiliriz bunun için yapılması gereken kullandığımız Linux dağıtımının

cdrom medyasına sahip olmamız veya bilgisayarımızın internet’e bağlı olması yeterlidir.

Kullanılan dağıtımlarda çok değişiklik yoktur. Unix işletim sistemi kullanılıyor ise burada

önemli olan bilgisayarın mimarisine bağlı olarak değişmektedir. Aynı durum Linux

dağıtımlarını da ilgilendirir örneğin sun microsystem ultra sparc 4 veya 5 işlemcili bir

bilgisayara Linux (RedHat, Gentoo, Gelecek, SuSE v.s) veya unix (Solaris, FreeBSD,

OpenBSD, SCO v.s.) dağıtımı kurmak istiyorsak bu mimariye uygun bir dağıtım seçmemiz

69

Page 12: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

gerekmektedir. Birçok dağıtım firması bunları göz önüne alarak dağıtımlarını medya üzerine

yerleştirmektedir.

Bu kitapta intel işlemci mimarisine uygun olan RedHat Linux dağıtımı ve kurulum

ayarlarından bahsedilecektir. Genellikle Linux dağıtımlarının hepsinde aynı paketleme sistemi

ile gelmektedir. RedHat dağıtımının rpm ve tar uzantılı dosyalara desteği olduğu için her iki

şekilde de kurulabilmektedir. Bunun kurulumları sadece paketleri bilgisayara yüklerken bazı

komut değişikliklerine gerek duyduğu bilinmektedir. Apache web sunucusu paketi debian

dağıtımlarında tar veya deb uzantılı gelmektedir. Bu tamamen dağıtımın veya geliştiricilerin

kendi uygulama genelleştirme politikaları ile ilgilidir.

Linux işletim sistemi dağıtımının seçilmesi kurulumun başlatılması ve komutların

verilmesini değiştirebilir. Bu projede daha çok rpm uzantılı paketlerin kullanıldığı işletim

sistemi esas kabul edilerek anlatılacaktır. Bu tip uzantılı dosyaların seçilmesinin diğer bir

nedeni kurulum komutlarının çok kolay olması ve parametrelerinin akılda kalır olmasıdır.

Önce bilgisayarımızda Apache web sunucusunun bulunup bulunmadığını test etmemiz

gerekmektedir. Bunun için komut satırında root yetkisiyle sorgulamamız gerekmektedir.

#rpm –q Apache

komutu ile gelen cevaba göre tekrardan bilgisayarımıza Apache web sunucusunu yükleriz.

Bunun için komut satırında

#rpm –i Apache

yazarak web sunucusunun yüklemesini sağlarız. Yükleme sonunda ekrana gelen yazıda

apahce web sunucusu bilgisayarınıza başarı ile yüklendi yazmaktadır. Bu aşamadan sonra

Yapılandırma dosyaları genellikle “/etc/www” veya “/etc/Apache” dizini gibi olabilmektedir.

Yapılandırma işlemine başlarken kullanacağımız kelime işlemci (vi, emacs, xedit v.s.)

ile yapılandırma ayarlarının bulunduğu dizine giderek (burada/etc/apache olduğu

varsayılmıştır) httpd.conf dosyası açılarak önce ServerName satırı bulunarak önündeki #

(diyez) işareti kaldırılır. Bu satıra sunucunun çalıştığı FQDN (Fully Qualyfied Domain Name)

olarak bilinen sunucunun tüm Internet kayıt adres ismi yazılır. Bu işlem daha çok isim tescili

“Domain Registrar” servisleri tarafından yapılır. Bu tür kayıtları tutan veya bu hizmeti veren

firmalar tüm adresleri http://www.internic.net adresindeki yönergelere göre yaparlar veya bir

DNS (Domain Name Service) servisi veren bir firmaya kayıt yaptırarak kullanırlar.

70

Page 13: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Aşağıdaki yapılandırma ayarında web sunucusunun çalışacağı kök dizinin neresi

olduğunu göstermektedir. Bunun anlamı sunucu bilgisayar yazılan dizin içerisinde

çalışmaktadır. Bazı durumlarda sunucu bilgisayar NFS (Networked File System) şeklinde bir

dizin hizmeti olan sistemde çalışabilir ve bağlanılan dizin başka bir bilgisayarda olabilir. Bu

durumda bu satıra bağlanılan (mount edilen) dizin yazılır. Örneğin sunucunun çalıştırıldığı

bilgisayar www.bizimsirket.com adresine sahip bilgisayarda yapılandırma ve dokümanların

bulunduğu bilgisayar ise NFS sisteminde URL:nfs://doc.bizimsirket.com adresinde olsun,

buradaki doc bilgisayarının “/var/htdocs” dizinine www sunucu bilgisayarı “/etc/htdocs”

olarak bağlansın. Web sunucusunun çalıştığı bilgisayar dizini aşağıdaki gibi olacaktır.

# Do NOT add a slash at the end of the directory path. # ServerRoot "/etc/httpd" # # ScoreBoardFile: File used to store internal server process information. # If unspecified (the default), the scoreboard will be stored in an # anonymous shared memory segment, and will be unavailable to third-party # applications.

Dokümanların bulunduğu dizin ise NFS ile başka bir biligisayarda bağlandığı için biz

aşağıdaki satıra ise “/etc/htdocs” yazarak yapılandırmayı tamamlayacağız. Bu tanımlama bize

diğer bilgisayarda bulunan ve NFS hizmeti ile sanki bizim bilgisayarımızda bir dizinde

çalışıyormuş gibi ayarlama yapmamıza olanak verir.

# # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/etc/htdocs” # # Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). Yukarıda bahsedilen durum NFS kullanılan gerekli durumlara bir örnek olarak

verilmiştir. Genellikle bu durum istisnadır. Eğer kurulum yaptığımız bilgisayar bir NFS

sisteminde değil ve bizde buna ihtiyaç duymuyorsak yapılandırma ayarları RedHat

dağıtımlarında doküman dizini“/var/www/html/” altında standart olarak tanımlıdır. Bu

satırları değiştirdiğimizde aşağıdaki yazan satırlarada aynı dizin yolunu girmemiz gerekir.

# This should be changed to whatever you set DocumentRoot to. #

71

Page 14: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

<Directory "/var/www/html"> #

Yapılandırma ayarlarında önemli ve dikkat edilmesi gereken bir nokta ise PID

(Process IDentification) olarak tanımlanan ve çalışma süreç bilgisidir. Bu bilgi apache web

sunucusu başladığında tutulan bir dosyadır. Sistem yöneticisi web sunucu servisini

başlattığında ve sonlandırdığında bu dosyaya bir sistem sinyali gönderilir. Bu sinyalin

gönderilmesinin amacı sistemin çalışmasının çekirdek tarafından kontrolünü sağlamaktır.

Örneğin sistemin yeniden başlatılması için HUP (HangUp) veya unix sinyali olan USR1

sinyali gönderildiğinde web sunucusu yapılandırma ayarlarını tekrar okuyarak yeniden

başlatılır.

# PidFile: The file in which the server should record its process # identification number when it starts. # PidFile run/httpd.pid #

Apache web sunucusunun çalışacağı port numarasını değiştirmek için aşağıdaki yazılı

olan satırdaki geçerli numarayı değiştirmemiz yeterlidir. Bu değişiklik apache web

sunucusunun bilgisayarımızın farklı bir port numarası ile çalışmasını sağlar. Port numarasının

değişikliğin temel sebebi web sunucumuz bir güvenlik duvarı (FireWall-FW) arkasında

çalışması istendiğinde veya bu port numarasını başka bir bilgisayara port yönlendiriciler ile

yönlendirildiğinde ihtiyaç duyulmaktadır. Burada önemli olan bir konuda web sunucumuz bir

içağ (Intranet) çalışıyor ise ve web sunucusunun çalıştığı bilgisayara dışarıdan yönlendirilecek

veya ilerletilecek (forwarding) olan port numaralarının kontrolünü de sağlar. # #Listen 12.34.56.78:80 Listen 80 #

Linux işletim sisteminde kullanıcılar ve gruplar sınıflandırılmıştır. Bu sınıflandırma

servis hizmetleri içinde geçerlidir. Web sunucu bir servis mekanizması içerisinde çalıştığı için

çekirdek sistemine bunun bilgisin verilmesi gerekir. Bu bilgi aşağıdaki satırda verilmektedir. # don't use Group #-1 on these systems! # User apache Group apache

72

Page 15: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

#

Apache web sunucusu bazı durumlarda istemcilere hata mesajı gönderebilir.

Karşılaşılan bu durumlarda sistem yöneticisinin bilinmesi veya iletişim kurulacak e-postanın

istemciye gönderilmesi gerekir. Yapılandırma dosyasında bu isim ve e-poasta adresini

aşağıdaki satırda belirleyerek gerekli olduğu durumlarda istemcilerin iletişim kurmasını

sağlarız.

# ServerAdmin: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. [email protected] # ServerAdmin [email protected] #

Sunucun kendi kendini tanımlaması için aşağıdaki satırın yazılması gerekir. Web

sunucusunun adresinin DNS tanımlamaları yapılmış ise buraya bu adres ve port numarasın

girilmesi gerekir. Bir çok dağıtımda gelen web sunucusu bu adres girilmediği için

çalışmayacaktır. “ServerName” satırı aktif olmadığı durumda sunucu tarafında oluşturulan

yönlendirme (server-generated redirection) özelliği çalışmayacaktır. Eğer DNS kaydı

yapılmamış bir sunucu kullanıyorsanız bu durumda buraya sunucu bilgisayarın IP adresini

girmeniz gerekecektir.

# #ServerName new.host.name:80 ServerName www.bizimsirket.com:80 # # Redirect permanent /etc/htdocs http://yedek.bizimsirket.com/var/www/html #

Web sunucularında çalışacak sayfaları değişik programlama dilleri ile oluşturmak

mümkündür. Betik dilleri veya Internet’in temel betik dili olan html kodları ile oluşturulan

web sayfalarını uzantılarını tanımlanması gerekmektedir. Web göz atıcıları (browser) ile

internet üzerinde gezinirken adres olarak yazdığımız yerde hangi betik dilinin geçerli veya

öncelikli olduğunu belirlememiz gerekecektir. PHP veya htm uzantılı bir web sayfasının

hangisinin web sunucu üzerinde dizine yönlendiğinde çalışacağını bu sıralamada belirlemek

mümkündür. Bunu şu şekilde açıklayabiliriz; web göz atıcı adres çubuğuna girilen adresi

73

Page 16: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

DNS kaydını arayarak bulur ve 80 numaralı port’tan erişim kurmaya çalışır. Bu sırada sunucu

isteğin sıralanacağı sayfa şekline göre sunucudaki doküman dizininden ilgili dosyayı çağırır.

Bu dosyalar index.html, index.htm veya index.php olabilir. İste bu sıraların hangisinin

bağlantı esnasında geçerli ve öncelikli olduğunun belirlenmesi işleminde aşağıdaki

satırlardaki sıralama kullanılır. Aşağıdaki sıralamada bir göz atıcı bu sunucuya ulaşmaya

çalıştığında sunucunun doküman dizininde bulunan dosyalardan index.php’yi öncelikle

istemci yani göz atıcı tarafına göndermeye çalışacaktır. Sıralama ilk olarak index.php, sonra

index.html şeklindedir. Açıklamayı şu şekilde genişletebiliriz; göz atıcı adres çubuğuna

http://www.bizimsirket.com yazıldığında sunucu göz atıcıya ilk olarak index.php dosyasını

göndermeye çalışacak ve göz atıcıda bunu görmeye çalışacaktır.

# DirectoryIndex index.php index.html index.html.var #

Web sunucularda Türkçe problemi karşılaşılan problemlerden birisidir. Web sunucusu

değişik dillerde destek vermek üzere yapılandırılmaktadır. Dünyadaki bir çok dilin yazımında

kullanılan alfabe farklıdır. Bu farlılıklar çeşitli sorunları da beraberinde getirmektedir.

Örneğin Japonca’nın kendine özgü bir dili ve yazım kuralı vardır. Aynı şekilde Türkçe’de

bulunan bir çok harf İngilizce’de bulunmamaktadır. Bu durumda Türkçe harflerin

görülmesinin sağlanması gerekmektedir. Apache web sunucusunda bunun için karakter

setlerini ve dil kodlamasının yapılandırılması gerekir. Geçerli dil kodlaması için aşağıdaki

satırı yazmak yeterlidir. Bundan sonraki aşamada dil kodunun eklenmesini sağlayan satır

yazılır.

# DefaultLanguage tr # AddLanguage tr .tr AddLanguage nl .nl AddLanguage en .en AddLanguage et .et AddLanguage fr .fr AddLanguage de .de AddLanguage he .he AddLanguage el .el AddLanguage it .it AddLanguage ja .ja AddLanguage pl .po AddLanguage kr .kr AddLanguage pt .pt

74

Page 17: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

AddLanguage nn .nn AddLanguage no .no AddLanguage pt-br .pt-br AddLanguage ltz .ltz AddLanguage ca .ca AddLanguage es .es AddLanguage sv .se AddLanguage cz .cz AddLanguage ru .ru AddLanguage tw .tw AddLanguage zh-tw .tw AddLanguage hr .hr Dil kodlaması geçerli dil kodlama yapılandırmasında sonra dil önceliğinin göz

atıcılara bildiren satırı yazmak gerekir. Bu satırda web sunucunun dil önceliği belirlenmiştir. # LanguagePriority tr en da nl et fr de el it ja kr no pl pt pt-br ltz ca es # Dil öncelikleri belirlendikten sonra geçerli kodlama sayfasının eklenmesine gelir. Bu

sayfada uluslar arası karakter seti tablosunda belirlenen kodlama şekli kullanılır. Her dil ve

kodlamasının uluslararası yapı tablosu bulunmaktadır. Genellikle o ülkede konuşulan dile ve

yazım kurallarına göre çeşitli kısaltmalar veya simgeler bulunmaktadır. Bu ifadeleri gösteren

tablolarda web sayfaları tasarlanırken kullanılacak olan dil kodları da html veya web kodları

içerisine gömülmektedir. Bu kodlamalar web sayfalarının hangi dilde nasıl görüneceğini

fontlara kadar bir çok değişkeni etkilemektedir. Türkçe için kullanılan karakter seti tablosu

ISO-8859-9 ve latin9 şeklindedir. Geçerli kodlamalar ve diğer ülke karakter setleri tablolarına

ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets dizininden ulaşılabilir. # AddDefaultCharset ISO-8859-9 # # Commonly used filename extensions to character sets. You probably # want to avoid clashes with the language extensions, unless you # are good at carefully testing your setup after each change. # See ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets for # the official list of charset names and their respective RFCs # AddCharset ISO-8859-1 .iso8859-1 .latin1 AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen AddCharset ISO-8859-3 .iso8859-3 .latin3 AddCharset ISO-8859-4 .iso8859-4 .latin4 AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk AddCharset ISO-2022-JP .iso2022-jp .jis AddCharset ISO-2022-KR .iso2022-kr .kis AddCharset ISO-2022-CN .iso2022-cn .cis

75

Page 18: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

AddCharset Big5 .Big5 .big5 # For russian, more than one charset is used (depends on client, mostly): AddCharset WINDOWS-1251 .cp-1251 .win-1251 AddCharset CP866 .cp866 AddCharset KOI8-r .koi8-r .koi8-ru AddCharset KOI8-ru .koi8-uk .ua AddCharset ISO-10646-UCS-2 .ucs2 AddCharset ISO-10646-UCS-4 .ucs4 AddCharset UTF-8 .utf8 # Apache bilgisayar sunucu sistemlerinde bazı durumlarda birden fazla web sitesi tek

sunucuda barındırılabilir. Sanal web sunucuları tanımlama ve yapılandırmaları temel olarak

beş kısımdan oluşmaktadır. Buna sanal web sunucusu kullanma denir. Sanal web sunucuları

iki şekilde barındırılabilir. Birincisi IP tabanlı web sunucusu tutma, ikincisi isim tabanlı web

sunucusu tutmadır. IP tabanlı sunucu tutma işleminde her web sitesi için ayrı IP adresine

ihtiyaç yoktur. Örneğin 1.2.3.4 nolu IP adresine birden fazla sanal web sunucusu

oluşturulabilir. Bu adreslerin DNS tanımlamaları yapılmalıdır. Eğer DNS tanımlamaları

yapılmadı ise web sunucuları oluşturulamayacaktır. Web sunucusunun oluşturulması

sırasında tanımlama kısmına sadece IP numarası girilir ise DNS’te reverse dns tanımlamasının

yapılması gerekir. Aksi takdirde IP numarasının kaydı bulunamadığı mesajı gelecek ve web

sunucusuna erişilemeyecektir. Aşağıdaki yapılandırma örneğinde her IP adresi DNS kayıtları

yapılarak bir web sunucusu üzerinde çalışmaktadır.

Listen www.bizimsirket.com:80

<VirtualHost www. bizimsirket.com>

ServerAdmin webmaster@mail. bizimsirket.com

DocumentRoot /groups/bizimsirket/www

ServerName www.bizimsirket.com

ErrorLog /groups/bizimsirket/logs/error_log

TransferLog /groups/bizimsirket/logs/access_log

</VirtualHost>

<VirtualHost www.digersirket.org>

ServerAdmin [email protected]

DocumentRoot /groups/digersirket/www

ServerName www.digersirket.org

ErrorLog /groups/digersirket/logs/error_log

TransferLog /groups/digersirket/logs/access_log

</VirtualHost>

76

Page 19: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

Bu tanımlamaları açıklayacak olursak temel olarak altı kısımdan oluştuğunu

söyleyebiliriz. İlk kısımda yapılandırma dosyasında DNS kaydı yapılmış hangi web adresi ve

dinleyeceği port numarasının bildirimi vardır. sanal web sunucusunun tanımlanması vardır.

Listen www.bizimsirket.com:80

İkinci kısımda sanal sunucunun adresi ve yapılandırma ayarlarının olduğu satır

yeralır. Bu satır bize sunucumuzun hangi kayıtlı adres üzerinden çalışacağı bilgisi vardır.

<VirtualHost www.bizimsirket.com>

Üçüncü kısımda sunucu yetkilisinin adı yeralır. Sunucu arızası veya herhangi bir kırık

link veya diğer öenmli durumların bildirileceği sistem yetkilisi tanım olarak anılır.

ServerAdmin webmaster@mail. bizimsirket.com

Dokümanların yer alacağı dizinin tanımlanması ise dördüncü kısım olarak

belirteceğimiz yerde bulunmaktadır. Buradaki dizin yolu kendi bilgisayarımızda olabileceği

gibi NFS üzerinde başka bir bilgisayar üzerinde de bulunabilir.

DocumentRoot /groups/bizimsirket/www

Beşinci kısım sunucunun adının yer aldığı bölümdür. Bu bölümde DNS kaydı yapılmış

olan kayıt ismi vardır.

ServerName www.bizimsirket.com

Altıncı kısımda sunucu hata ve erişim kayıtlarının tutulduğu dizinleri yeri belirtilir.

İstenmesi durumunda syslogd sunucu sistemi devreye alınarak diğer baçka kayıtlarında

buradan tutulması mümkündür. Bu kısmın sonunda sanal web sunucusunun bitirildiği başlık

etiketi bulunur.

ErrorLog /groups/bizimsirket/logs/error_log

TransferLog /groups/bizimsirket/logs/access_log

</VirtualHost>

77

Page 20: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

İsim tahsisli web sunucusu ise bir web sunucusunun DNS kaydı üzerinde birden fazla

web sunucusunun tutulması işlemidir. Bu işlem httpd.conf dosyası tanımlama kısmında

aşağıdaki yapılandırma satırı eklenerek oluşturulur. Bu satırda web sunucusunun hangi web

sitelerine hizmet vereceği yazılır.

NameVirtualHost *:80

<VirtualHost *:80>

ServerName www.bizimsirket.com

ServerAlias bizimsirket.com *.bizimsirket.com

DocumentRoot /www/bizimsirket

</VirtualHost>

<VirtualHost *:80>

ServerName www.digersirket.com

DocumentRoot /www/digersirket

</VirtualHost>

Bazı durumlarda web sunucularında bir adresin birden fazla karşılığı olması

istenmektedir bu durumda ise aşağıdaki satırları yapılandırma dosyasında “VirtualHost”

kısmına ekleyerek bu işlemi sağlarız.

ServerAlias www.digersirket.com *.digersirket.com

Kullanıcılar kurumlarında bazı durumlarda kendilerine ait web sayfalarının olmasını

veya web sayfalarını kendileri oluşturmak isterler. Böyle durumlarda yapılandırma dosyasına

“Userdir” satırı yazılarak tanımlamalar yapılır ve her kullanıcıya kendisine ait dizin içerisinde

web sayfası oluşturulmasına izin verilir. Bu yapılandırma ayarı Linux sistemi üzerinde

bulunan kullanıcıları kendi ev dizinlerinde web sayfalarının tutulmasına olanak tanır.

Userdir http://www.bizimkurum.org.tr/~kullanıcı1

Linux veya unix altında betik dillerinin desteği genelde modüller ile verilmektedir. Modül

bildirimi sistemin kurulacağı yapı ve kullanılacak betik dilleri ile birlikte web sunucusunun

üzerinde çalışacak olan yapının da önemi vardır. Örneğin PHP betikleri ile yapılandırılan bir

sistemde Perl betik dili ile CGI programlama yapılamayacak ise bu modüllerin de

78

Page 21: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

yüklenmesinin bir anlamı olmayacak ve güvenlik açlıklarının çıkmasına sebep olabilecektir.

Modül olarak bir PHP desteği Linux işletim sisteminde aşağıdaki gibi verilebilmektedir.

<IfModule mod_php3.c> AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps AddType application/x-httpd-php3 .phtml </IfModule> <IfModule mod_php4.c> AddType application/x-httpd-php .php AddType application/x-httpd-php .php4 AddType application/x-httpd-php-source .phps </IfModule>

Yukarıdaki ilke blokta php sürüm 3 desteğinin verilişi, alttaki blokta ise php 4

sürümünün desteği verilişi gösterilmiştir. Bu satırların yazılması ile php modülleri

yüklendiğinde php uzantıları ve çalışma zamanı dosyalarının (runtime) apache web

sunucusundan çalıştırılması mümkün olacaktır.

Web sunucularında yetkilendirme işlemi çok kapsamlı olarak yapılandırılması gereken

önemli bir durumdur. Web sunucunuza belirlediğiniz kişilerin erişimine izin verilmesi

istendiğinde “allow from all” satırında işlem yapılır.

<Directory>

Allow from all

</Directory>

Diğer bir durum ise bir bizine belirli kullanıcıların erişmesini durumudur. Bu durumda

ise .htaccess dosyası oluşturulur. Apache web sunucusu bu dosyayı kontrol ederek dizin veya

dosya erişiminde izin verir. Bu işlemler genel olarak üç aşamaya ayrılabilir. Birinci aşamada

kullanıcı ve parolaların bulunduğu bir dizin oluşturulur. Bu dizine tüm kullanıcıların

erişiminin olabileceği “/usr/local” dizini altında olması tercih edilmelidir. Çünkü kullanıcılar

bu dizinde bulunan erişim bilgilerinin yetkilendirme işlemleri ile dosya veya dizin erişimine

sahip olacaktır. İkinci aşamada oluşturduğumuz bu dizin altına “.htaccess” içeriği aşağıdaki

gibi olan satırları ekleriz.

79

Page 22: Bölüm 4 Apache Web Sunucu - cu.edu.trhpss.endustri.cu.edu.tr/ders/ENM424/Bolum4-Apache.pdfbulunup kullanılabilen ve uygulama alanının geniş olduğu işletim sistemleri tercih

İrfan MACİT Bölüm 4 Apache Web Sunucusu

#bizim şirket özel erişim alanı

AuthName “Sirket Özel Erişim Alanı”

AuthType Advaced

AuthUserFile /usr/local/sirket/sifre

Require valid-user

En son aşama olan üçüncü aşamada ise kullanıcıların ve şifrelerinin oluşturulması

işlemi vardır. Burada komut satırından gerekli olan parametreler verilerek bu şifrelerin

oluşturulması sağlanır. burada dikkat edilmesi gereken bir nokta “-c” parametresi yalnızca

dosya oluşturulurken sadece bir kez girilir ve daha sonra bu parametre eğer bu dosya yeniden

oluşturulmayacaksa kullanılmaz.Kullanıcı1 için şifre oluşturulması sırasında ekrana gelen

şifre girme mesajında şifre girilirken ekranda güvenlik nedeniyle herhangi bir karakter

görünmez.

E#htpasswd –c /usr/local/sirket/sifre kullanici1

Adding password for kullanici1

New pasword:

Re-type new password:

Bu işlemin sonucunda “/usr/local/sirket/sifre” dosyasında oluşturulan

kullanıcılar ve bun kullanıcılara ait şifreler bulunur. herhangi ir web göz atıcısından ilişki

kurulan bu dizine ulaşılmaya çalışıldığında istemci ekranına kullanıcı ve şifresinin girilmesini

isteyen bir mesaj kutucuğu çıkar. Kullanıcı ve şifre doğrulandığı durumda göz atıcının dizine

erişimine izin verilir.

80