PHP Programlama
February 09, 2012 Thursday

PHP VE WEB SUNUCUSU

         Bizim açımızdan PHP, bir Web sunucu programıdır; kurulacağı sistemdeki Web sunucusu ile uyumlu olması gerekir. 4'ncü sürümü itibariyle, PHP bütün Unix-türevi sistemler (örneğin Linux) ve Microsoft Windows sistemleri ile uyumludur. Birlikte çalışabileceği Web sunucu programları arasında Apache, IIS, FHTTP, Omni HTTPd, Xitami ve Windows 95/98 için PWS (Personal Web Server) vardır. Tasarımlarımızı sınayabilmek için kendi bilgisayarımıza bir kişisel Web Server kurmak ve bu programı PHP-uyumlu hale getirmek gerekir.

Unix/Linux Sistemleri

         Kurma işlemine Unix ortamından başlayalım. Bunun için önce http://www.PHP.net/ adresini ziyaret etmemiz gerekiyor. Downloads köprüsünü tıklayarak açılacak sayfada Unix/Linux için kaynak kodunu bilgisayarınıza aktarın. PHP'yi kuracağınız bilgisayarda bir Web sunucu programı yoksa, http://www.apache.org/dist/ adresinden apache_1.3.12.tar.gz (veya daha ileri) dosyasını da indirmeniz gerekir. Unix-Linux sistemleri için bilgisayarınızda "gcc C derleyici" bulunması gerekir. Linux sisteminizde örneğin Red Hat Linux sürüm 5.2 gibi eski bir gcc derleyici varsa, gcc sürüm 2.8.1'i Internet'ten bulmanız gerekir.

Linux'ta Program Derlemek

         Daha önce hiç Linux programı derlemediyseniz, önce bazı kavramları açıklığa kavuşturalım:

tar (tape archiver) birden fazla dosyayı tek dosya haline getirir ve sıkıştırır. Teyplere yedekleme amacıyla geliştirilmiştir. tar dosyaları sıkıştırılmışsa uzatması .gz, değilse .tar olur.
gcc GNU'nun C derleyicisidir. İnsan tarafından okunabilen kaynak kodlarını makina tarafından okunabilen nesne (object) dosyalarına dönüştürür. C programlama diliyle yazılmış kaynak kodları içeren dosyaların uzantını .c olur. Nesne dosyalarının adının uzantısı genellikle .o olur. Derleyici başlık (header, uzantısı .h olan) dosyalarını bulamazsa derleme hatası verir.
make Henüz derlenmemiş kaynak dosyalarını derleyen yardımcı bir programdır. make, derleme talimatlarını Makefile adlı bir dosyadan alır.
ld GNU'nun bağlayıcı (linker) programıdır. Nesne dosyalarını ve kitaplık denen dosyaları birbirine bağlayarak ortaya çalıştırılabilir bir program dosyası çıkartır. Genellikle Makefile'ın içinde linker'ın çalıştırılması talimatı bulunur ve sizin bu programı kullanmanız gerekmez.
ldconfig Paylaşılan kitaplık dosyalarını (shared library) arar. Bu dosyalardan birden fazla program tarafından paylaşılır, ve dosya adlarında .so bulunur.
./configure C derleyecisi ve header dosyalarının nerede olduğunu araştırır, ve vardığı sonuca göre Makefiles dosyasında değişiklik yapar.

         PHP, bir Unix/Linux sisteminde müstakil yorumlayıcı veya Apache Web sunucusunun bir modülü olarak çalışmak üzere derlenebilir. PHP, müstakil yorumlayıcı olarak kurulduğunda, Web sunucusu, her ihtiyaç halinde PHP yorumlayıcısının bir örneğini çalıştırır. Bu, bir süre sonra Web sunucusunun bulunduğu işletim sisteminin yükünün artmasına ve işleyişinde yavaşlamaya yol açabilir. Oysa PHP, sunucunun bir modülü olarak kurulduğunda, bu sakınca ortaya çıkmaz. (Bu özelliği ile PHP, klasik CGI/Perl'ün çalışma tarzından ayrılır, ASP'nin ve ColdFusion'ın çalışma tarzına yaklaşır.) Bununla birlikte kötü niyetle veya beceriksizce yazılmış PHP programları modül olarak kurulmuş PHP'yi çökertirlerse, Web sunucusunu da çökertmiş olurlar; oysa müstakil PHP yorumlayıcı çökerse, Web sunucusuna bir şey olmaz.

         Burada yapacağımız kurulum işlemi sırasında Linux kurulu olan bilgisayarımıza Apache Web sunucu programını, bu sunucunun kullanacağı güvenli Socket katmanını sağlayacak Mod_SSL programını, bu programın gerektirdiği OpenSSL aracını, MySQL veritabanı sunucusunu ve PHP Scripting dilini kurmuş olacağız.

         PHP'yi Linux ortamında Apache Web sunucusuna modül olarak kurmak için sırasıyla şu işlemleri yapmamız gerekir (Sisteminizde gzip veya gunzip ile gcc and GNU make kurulu olduğunu varsayarak):

         1. Sisteminizi root olarak başlatın ve sıkıştırılmış olarak alacağınız PHP ve Apache dosyalarını geniş yer olan geçici bir dizinde açın, ve o dizine gidin. Sözgelimi, Apache'nin tar-zip olarak sıkıştırılmış kaynak dosyalarının tmp adlı dizinde olduğunu varsayalım:

# cd /tmp
# gunzip –c apache_1.3.12.tar.gz  | tar xf –

         Burada, indirdiğiniz Apache sürümü farklı ise onun adını yazacaksınız. Şimdi Apache'yi açtığınız klasöre gidin ve buradaki configure dosyasını çalıştırın:

# cd apache_1.3.12
# ./configure --prefix=/usr/local/apache

         Buradaki örnekte Apache'yi /usr/local/apache dizinine koyduğumuza dikkat edin. Bu dizini, bir çok kurulumun varsayım olarak arayacağı dizin olduğu için tercih ediyoruz. Ama isterseniz siz Apache'yi başka dizine de kurabilirsiniz.

         2. Sıra MySQL veritabanı sunucusunda. Linux'ta root oturumunda iken sıkıştırılmış dosyaları indirdiğiniz geçici dizine  geçin ve dosyaları açın; sonra oluşturulan dizine giderek, configure komutu ile veritabanı sürücüsünü yapılandırın:

# cd /tmp
# gunzip -dc mysql-3.22.32.tar.gz | tar xvf -
# cd mysql-3.22.32
# configure --prefix=/usr/local/mysql

Şimdi make komutu ile binary dosyalarını oluşturarak, ve sisteme yükleyelim:

# make
# make install

MySQL'in kullanım izinlerini belirlememiz gerekir. Aşağıdaki komutları yazarken "parola" kelimesi yerine vermek istediğiniz parola kelimesini yazmanız gerekir:

# scripts/mysql_install_db
# cd /usr/local/mysql/bin
# ./safe_mysqld &
# ./mysqladmin -u root password 'parola'

Kurulum işleminin başarılı olup olmadığını sınamak için, kurulum sırasında oluşturlan örnek veritabanı dosyalarını bulunup bulunmadığını soruşturabilir ve kendimiz yeni bir veritabanı oluşturabiliriz. Bunun için şu komutu yazalım:

# BINDIR/mysqlshow -p
# mysql -u root -p

Sistem "Enter password:" karşılığını verdiğinde, yukarıda kullanım izinlerini belirlerken yazdığınız parolayı yazın; MySQL sunucusu çalışacak ve size kullanıcı izinlerinin bulunduğu "mysql" ve sınama amacıyla oluşturulan  "test" adlı iki veritabanının bulunduğunu bildirecektir. Şimdi kendi veritabanımızı oluşturalım. MySQL sunucu komut istemcisi satırına şunu yazın:

mysql> create database deneme; 

Sunucu "Query OK, 1 row affected (0.00 sec)" şeklinde karşılık verecektir.  Şimdi bu veritabanını seçerek içinde deneme adlı ve içinde "no" ve "isim" adlı iki alan bulunan bir tablo oluşturalım (MySQL komutları büyük harf-küçük harf ayrımı yapmaz; komutlardan sonra noktalı virgül konur):

mysql> use deneme;
Database changed
mysql> CREATE TABLE books (no int(3) not null auto_increment,
	isim char(50) not null,	unique(no), primary key(no));
Query OK, 0 rows affected (0.00 sec)

Tablomuzu oluşturup oluşturamadığımıza bakalım:

mysql> show tables;
mysql> describe deneme;

Field	Type	Null	Key	Default		Extra
no 	int(3) 	PRI 	0 	auto_increment	isim char(50)

2 rows in set (0.00 sec) 

         Şu anda hem MySQL'i kurmuş, hem de ilk tablomuzu oluşturmuş bulunuyoruz. MySQL komutlarını daha ayrıntılı öğrenebilmek için MySQL'in http://www.mysql.com adresindeki sitesini ziyaret edebilirsiniz. Şimdilik MySQL'den çıkalım ve kuruluma devam edelim.

3. PHP kaynak dosyasının bulunduğu geçici dizine geçin, ve dosyaları açın; sonra açılan dosyaların bulunduğu dizine gidin:

# gunzip -c PHP-4.0.1pl2.tar.gz | tar xf -
# cd PHP-4.0.1pl2 

         Şimdi configure dosyasını çalıştıracağız; bu komutun bir çok opsiyonu vardır; bunların tümünü görmek istiyorsanız, "configure --help" komutunu verebilirsiniz. Biz sadece PHP'ye MySQL ve Apache opsiyonlarını eklemekle yetineceğiz:

# ./configure --with-mysql=/usr/local/mysql \
--with-xml \
--with-apache=../apache_1.3.12 \
--enable-track-vars

         Oluşan binary dosyalarını program dosyasına çevirerek, yükleyelim:

# make
# make install 

         Oluşan ini dosyasını lib dizinine koplayalım:

# cp PHP.ini-dist /usr/local/lib/PHP.ini 

         PHP.ini dosyasındaki bir çok özelliği değiştirerek, PHP'nin çalışma tarzını ayarlayabilirsiniz; örneğin şu satırı ekleyerek, PHP'nin azamî çalışma süresini arttırabilirsiniz:

max_execution_time = 60; 

Güvenli socket ve Internet Erişimi Katmanı

         Kuracağınız Web sunucusu gerçek Internet'e açılacaksa, sisteminize Mod_SSL yeteneğini kazandırmanız gerekir. Bu sistemin rsaref-2.0 adında bir eki vardır; ancak Amerika dışında kurulan Web Sunucularda rsaref-2.0 ekinin kurulması gerekmez. Apache sunucusunu sadece PHP dosyalarınızı sınamak amacıyla kendi bilgisayarınıza kuruyorsanız, Mod_SSL kurmak şart değildir.

         Bu işlemi yapmak zorunda iseniz, önce http://www.openssl.org/ adresinden openssl-0.9.1c.tar.gz adlı dosyayı, http://www.modssl.org/ adresinden de mod_ssl-2.6.5-1.3.12.tar.gz dosyasını indirin. Sonra sırasıyla şu işlemleri yapabilirsiniz:

# gunzip -dc openssl-0.9.5c.tar.gz | tar xvf -
# cd openssl-0.9.x
#./config --prefix=/usr/local/ssl \ -L`pwd`/../rsaref-2.0/local/rsaref -fPIC 
# make
# make test
# make install
# cd ..

         Şimdi Mod_SSL modülünü Apache ile kullanılacak şekilde kuralım:

# gunzip -dc mod_ssl-2.6.4-1.3.12.tar.gz |tar xvf -
# cd 
# ./configure --with-apache=../apache_1.3.12
# cd ..
# cd apache_1.3.12
# SSL_BASE=../openssl-0.9.x \
RSA_BASE=../rsaref-2.0/local \
./configure \
--enable-module=ssl \
--activate-module=src/modules/PHP4/libPHP4.a \
--enable-module=PHP4 \
--prefix=/usr/local/apache \
--enable-shared=ssl
# make 

         Bu noktada sistem binary dosyaların oluşturulduğunu ve kurulumun gerekli güvenlik sertifikalarını istediğini bildirecektir. (Sertifika oluşturma konusunda fazla bilgi için, http://www.modssl.org/docs/2.6/ssl_faq.html#ToC25 adresine bakabilirsiniz.) Diyelim ki sadece ISS'in yeri, firma adı ve bir iki diğer bilgiden oluşan özel bir sertifika oluşturmakla yetineceksiniz. Bunun için şu komutu girin ve sistemin soracağı sorulara cevap verin:

# make certificate TYPE=custom 

         Şimdi Apache'yi yeniden kurabiliriz:

# make install 

         Herşey yolunda gittiyse, sistem "You now have successfully built and installed the Apache 1.3 HTTP server," şeklinde başlayan uzun bir mesaj verecektir. Bu durumda Apache sunucusu şu komutla başlatılabilir:

/usr/local/apache/bin/apachectl start 

         Apache'yi güvenli iletişim katmanı desteği ile başlatmak istiyorsanız şu komutu yazın:

/usr/local/apache/bin/apachectl startssl 

         Bu işlemleri başarıyla bitirmiş olsak bile sistemin çalıştığını kontrol etmemiz gerekir. Önce Apache'nin çalıştığından emin olalım. Bunun için önce Apache'nin yapılandırılmasına PHP'nin eklendiğinden emin olmamız gerekir. Kurulumu buradaki gibi yaptı iseniz /usr/local/apache/conf dizininde bulunan  httpd.conf dosyasını açın; ve "addtype for PHP4" satırların önündeki yorum (#) işaretlerini kaldırın; yani bu satır yorum olmaktan çıkıp yapılandırma komutu olsun:

#AddType application/x-httpd-PHP .PHP
#AddType application/x-httpd-PHP-source .PHPs

şeklindeki satırları şu şekle getirin:

AddType application/x-httpd-PHP .PHP
AddType application/x-httpd-PHP-source .PHPs

Şimdi Apache sunucusunu çalıştırabilir ve PHP desteğinin bulunup bulunmadığını sınayabilirsiniz:

# cd /usr/local/apache/bin
# ./apachectl configtest
Syntax OK
# ./apachectl start
./apachectl start: httpd started

         "httpd started" ifadesi bize Apache'nin çalıştığını gösteriyor. Şimdi Browser'ınızı açın ve HTTP sunucusu olarak Apache'nin adresini yazın. Bu, bilgisayarınızın Domain adıdır; Apache'nin kurulu olduğu bilgisayarın IP numarasını da yazabilirsiniz.

Şimdi, bir düzyazı dosyasına şunları yazın:

<? phpinfo(); ?> 

         Dosyayı PHP.PHP adıyla Apache'nin Web sunucu için kök dizin saydığı klasöre kaydedin. Browser'ınızın URL adresi alanına sunucu adıyla birlikte dosyanın adını yazın.

         Aldığınız sonuç, PHP'nin sistem ve sunucu hakkında ayrıntılı raporu ise, hem Apache sunucu, hem de PHP çalışıyor demektir.

Windows - Personel Web Server ve Internet Information Server

         PHP'yi Windows 95/98/NT/2000 işletim sistemlerinden biri ile çalışan bilgisayara kurmak için önce http://www.PHP.org adresinden PHP-4.0.1pl2-Win32.zip veya daha ileri sürümdeki zip dosyasını almamız gerekir. Bu dosyayı açın ve içindekileri sözgelimi c:\PHP dizinine kopyalayın. (Dizini oluştururken "PHP" "Php" veya "php" yazdığınıza dikkat edin!)

         Daha önce Wihdows sistemine PHP 3.x kurmuş olanlar PHP 4.0'ün kurulumumu biraz farklı bulacaklardır. Bu, daha önce PHP kişisel ve Internet amaçlı Web sunucuda (PWS veya IIS) müstakil bir CGI programı olarak çalışırken şimdi buna ek olarak (tıpkı ASP gibi) DLL yoluyla, bir ISAPI modülü  olarak çalışmasının sağlanmış olmasından kaynaklanıyor.

         PHP'yi Windows 95 veya NT4.0 sisteminde kurulu bir PWS veya IIS için kuracaksınız, önce bazı önlemler almanız gerekiyor. NT 4.0 sistemlerinde IIS 4.0'ün bulunduğu Option Pack'in kurulması şart. Windows 95 sistemlerinde ise önce DCOM bileşenlerinin günceleştirilmesi gerekiyor. Bu dosyayı Microsoft Firmasının Web Sitesinden alabilirsiniz.

         PHP'yi müstakil çalışan CGI programı olarak kullanmayı düşünseniz bile daha önceki sürümlerinden farklı olarak bazı DLL dosyalarının Windows dizininde sistem alt-dizinine kopyalanması gerekir. Açtığınız Zip dosyasından çıkan ve C:\PHP dizinine kopyaladığınız dosyalar arasında bulunan MSVCRT.DLL ve PHP4TS.DLL adlı dosyaları Windows 9x sistemlerinde WINDOWS dizininde SYSTEM, NT/2000'de ise WINNT dzininde SYSTEM32 dizinine kopya edin. (Windows, MSVCRT.DLL dosyasının kullanılmakta olduğu bildirerek, kopyalamayı reddederse, kopyalamaya gerek yok demektir).

Internet Information Server 4.0 ve 5.0

         Windows NT/2000'e kurulu olan IIS 4.0 veya 5.0'e PHP desteği kazandırmak için, önce yukarıdaki gibi DLL dosyalarını gerekli yere kopyalayın. Açtığınız Zip dosyasından çıkmış olan PHP.ini-dist isimli düz yazı dosyasını Notepad ile açın ve "extension_dir=" satırını bularak, karşısındaki "./" yazısını silip yerine PHP dosyalarını kopyaladığınız dizinin adını (örneğin C:\PHP) yazın. PHP dizinin adını doğru yazdığınızı kontrol etmekte daima yarar vardır. Sonra ";browscap =" satırını bulun ve önündeki noktalı virgülü kaldırarak karşısındaki "extra/browscap.ini" kelimelerini c:\Winnt\browscap.ini olarak değiştirin. Bu dosyayı, PHP.ini adıyla Winnt dizinine kaydedin. (Windows dizininin Winnt adını taşıyor ise böyle yapmanız gerekir. Sizin Windows dizininiz başka ise, gerekli düzeltmeyi yapmalısınız.)

Browser yetenek dosyası : browscap.ini

Windows sistemine kurulu bir Web Sunucu programına (PWS, IIS veya Apache Win32) PHP yeteneği kazandırabilmek için PHP'nin talep sahibi Browser'ın yeteneklerini bir dosyadan okuması gerekir. Bu dosyanın adı "browscap.ini" dir.
Internet'te http://asptracker.com/browscap.zip dosyasını alarak açın ve çıkacak "browscap.txt" dosyasının adını "browscap.ini" olarak değiştirerek Windows/Winnt klasörüne kopyalayın.

Internet Services Manager'ı açın; bu araç, NT 4.0'te Start menüsünde Programs/Option Pack'te, 2000'de ise Control Panel/Administrative Tools'dadır. Açılacak pencerede muhtemelen Default Web Server adını taşıyan Web sunucusunun adını sağ tıklayın. Açılan listede Properties maddesini; açılan kutuda Home Directory sekmesini seçin; Configuration düğmesini tıklayın ve  yeni bir Application Mappings satırı eklemek üzere, Executable kutusuna PHP4isapi.dll dosyasının tam yolunu ve adını (örneğin C:\PHP\PHP4isapi.dll); Extension kutusuna ise .PHP yazın (IIS 4.0'te Method exclusions kutusunu boş bırakın) ve Script engine kutusuna işaret koyun. ISAPI Filters sekmesini seçin. Add düğmesini tıklayarak yeni bir ISAPI filtresi kaydı yapın. Açılacak kutuda filtre adı olarak PHP, yol olarak da PHP4isapi.dll dosyasının bulunduğu dizinin yolunu (örneğin C:\PHP\ PHP4isapi.dll) yazın. IIS'i tamamen durdurun; ama bunun için sadece Internet Services Manager'daki Stop düğmesini tıklamak yetmez; komut istemci (MSDOS Prompt) penceresinde net stop iisadmin yazın. Windows, bu servisin bağlı olduğu diğer bazı hizmetlerin de durdurulacağını bildirince "Y" tuşuna ve sonra Enter'a basın. Şimdi IIS'i tekrar başlatmak için aynı pencerede net start w3svc yazın. Artık IIS'iniz PHP anlar hale gelmiş olmalı. Bunu, hemen sınayalım. Notepad veya bir başka düzyazı programıyla şunları yazın:

<? PHPinfo(); ?> 

Dosyayı PHP.PHP adıyla IIS'in kök dizin saydığı klasöre kaydedin. Browser'ınızın URL adresi alanına sunucu adıyla birlikte dosyanın adını yazın.

Personal Web Server 4.0

Windows'un 95/98/SE/Me türlerine kişisel Web sunucu programı olarak Personal Web Server (PWS 4.0) kurulmalıdır. PHP Zip dosyasından çıkacak DLL'leri Windows dizininde System klasörüne kopyaladıktan sonra, Zip dosyasından çıkmış olan PHP.ini-dist isimli düzyazı dosyasını Notepad ile açın ve "extension_dir=" satırını bularak, karşısındaki "./" yazısını silip yerine PHP dosyalarını kopyaladığınız dizinin adını (örneğin C:\PHP) yazın. PHP dizinin adını doğru yazdığınızı kontrol edin! Sonra ";browscap =" satırını bulun ve önündeki noktalı virgülü kaldırarak karşısındaki "extra/browscap.ini" kelimelerini c:\Windows\browscap.ini olarak değiştirin. Bu dosyayı, PHP.ini adıyla Windows dizinine kaydedin. Daha önceki sayfalarda göreceğiniz şekilde Browscap.ini dosyasını Windows dizinine kopyalamış olmanız gerekir. (Windows dizininin Windows adını taşıyor ise böyle yapmanız gerekir. Sizin Windows dizininiz başka ise, gerekli düzeltmeyi yapabilirsiniz).

Şimdi, açtığınız PHP Zip dosyasının içinden çıkan PWS-PHP4.reg adlı dosyayı bir düzyazı programıyla, örneğin Notepad ile açın. ".PHP"="[PUT_PATH_HERE]\\PHP4isapi.dll" yazılı satırı PHP dosyalarını koyduğunuz dizine göre, örneğin şöyle değiştirin:

".PHP" = "C:\\PHP\\PHP4isapi.dll"

Burada çok dikkat etmeniz gereken nokta, ters-bölü işaretlerinin başka yerlerde normal olarak yazdığımız gibi bir adet değil, iki adet olmasıdır. Dosyayı kaydettikten sonra, iki kere tıklayın ve Windows'un Registry'de değişiklik yapmayı isteyip, istemediğinize ilişkin sorusuna Evet yanıtını verin. PHP bilen bir PWS'iniz oldu. Ama bunu bir sınayalım.
Düzyazı programınızla şu metni merhaba.PHP adıyla PWS'in Web için kök dizin saydığı (muhtemelen C:\Inetpub\wwwroot) klasöre kaydedin:

<html>
<?PHP
          echo ("Merhaba Dünya!");
?>
</html>

Sonra Personal Web Manager kutusunda, Ana başlıklı bölümde, Yayımlama kısmındaki "http://" diye başlayan ve kişisel Web sunucunuzun adı ile devam eden köprüyü tıklayın. Varsayılan Browser'ınız, kişisel Web sunucunuzun ana sayfasını açacaktır. Browser'ın URL adres bölümüne, merhaba.PHP yazın.

3.2.4. Windows NT'de Apache

         NT sisteminizde ISS değil de Apache for Win 32 Web Server programını çalıştırıyorsanız, sürümüne göre httpd.conf veya srm.conf dosyasına şu ekleri yapmanız gerekir:

ScriptAlias /phproot/"c:/<php.exe dosyasinin dizini>/"
AddType application/x-httpd-PHP3 .PHP3
Action application/x-httpd-PHP3"/phproot/php.exe"

3.2.5. Apache Web Sunucusu Kurulumu

         Apache, dünyadaki sunucu piyasasının %60'ına hakim olan en popüler Web Sunucusu'dur. Hem Windows, hem UNIX sistemler altında çalışabilmektedir. Şimdi Apache'ı Windows altında nasıl hızlı bir şekilde kurup işler hale getirebileceğinizi göreceğiz. Apache'ın en son sürümünü http://www.apache.org/ adresinden temin edebilirsiniz, burada kurulumunu açıkladığımız sürüm 1.3.12 dir.

         Apache size tek dosya halinde ve sıkıştırılmış olarak gelecektir. Kurulum herhangi bir Windows programından daha zor değil, Apache sitesinden çektiğiniz dosyanın üstüne çift tıklayın ve kurulumu başlatın. Karşınıza lisansla ilgili bilgiler ve Apache'ın Windows sürümünün halen beta aşamasında olduğu ve UNIX'teki kardeşine oranla güvenlik açıklarının daha fazla olduğu hakkında uyarılar çıkacaktır. Amacımız yazdığımız programları bilgisayarımızda test etmek olduğu için bu uyarılar bizi ilgilendirmiyor. Bu ekranları geçtikten sonra Apache'ı hangi klasöre kaydetmek istediğiniz sorulacak. Burada 'Browse' a tıklayarak bu klasörü 'C:\Apache' olarak değiştirin. Bu işlem ileride size kolaylık sağlayacak. Sonraki ekranda 'Typical' seçeneğini seçin. Apache dosyaları kopyalanacak ve kurulum tamamlanacak.

Bundan sonra yapacağımız işlemlerin çoğu MS-DOS ekranında geçecek

"Başlat | Programlar | MS-DOS Komut İstemi" ile DOS ekranına çıkın. DOS ekranından tekrar Windows'a dönmek için 'exit' komutunu kullanacaksınız. DOS ekranını Windows altında bir pencere olarak görmek isterseniz, 'ALT+ENTER' tuşlarına basın. DOS ekranına çıktıktan sonra aşağıdaki komutları sırasıyla veriniz:

cd \apache\htdocs
ren index.html.en index.html
cd \apache\conf
edit httpd.conf

         Apache'ın konfigürasyon dosyasıyla karşı karşıyasınız. Yukarıdan aşağıya gerekli bütün satırları inceleyeceğiz ve kendi gereksinimlerimize göre değiştireceğiz. '#' ile başlayan satırlar açıklama satırlarıdır. Sol taraf var olan ayarı, sağ taraf sizin yapmanız gereken değişikliği gösteriyor. Baştaki '#'i kaldırmayı unutmayın yoksa değişikliğiniz işleme konmaz.

Var Olan Ayar Yapılması Gereken Değişiklik
#ServerName new.host.name ServerName localhost
DirectoryIndex index.html DirectoryIndex index.html index.php3 index.php

         Sonraki değişiklik Alias eklemek olacak. Alias, harddiskinizdeki herhangi bir klasörü sunucunuza tanıtmanızı sağlar. Önceden tanımlanmış bir Alias var, biz de kendimizinkini tanımlayalım. Siz daha sonra istediğiniz kadar Alias tanımlayabilirsiniz. Aşağıdaki satırı var olan Alias satırının altına ekleyin:

Alias /php/ "C:/apache/php" 

         Bir kademe aşağıda ScriptAlias var. Önceden var olan ScriptAlias satırının altına aşağıdaki satırı ekleyin:

ScriptAlias /php3/ "C:/php3/" 

         Yapmamız gereken iki değişiklik daha var. Aşağıya inerek AddType bölümünü bulun ve aşağıdaki satırı yenisiyle değiştirin. Bu değişiklik, sunucunun .php .php3 ve .phtml soyadlı dosyaları tanıması ve PHP ile işlemesi için:

Var Olan Ayar Yapılması Gereken Değişiklik
AddType application/x-httpd-php3 .phtml AddType application/x-httpd-php3 .php3 .php .phtml

         Daha aşağıda Action bölümü var. Buraya eklenecek satır:

Action application/x-httpd-php3 "/php3/php.exe"

Bu dosya ile işimiz şimdilik bitti. Dosyayı kaydedip editörden çıkın.

Şimdi Apache'ın çalışıp çalışmadığını kontrol edelim.

cd\apache
apache --standalone 

         Bu iki komutu uyguladıktan sonra,

Apache/1.3.12 (Win32) Running...

mesajını almanız gerekiyor. Şimdi Windows'a geri dönün. Tarayıcınızı çalıştırın. Adres satırına http://localhost yazın. Eğer her şeyi doğru yaptıysanız, Apache'ın karşılama mesajı ile karşılaşacaksınız. Hata aldıysanız, başa dönüp ServerName ve DirectoryIndex'i kontrol edin ve tekrar deneyin.

Apache Web Sunucusunu kapatmak için eski DOS ekranına dokunmadan yeni bir tane açmanız gerekiyor. Windows'tan yeni bir DOS ekranı açın.

cd \apache
apache -k shutdown 

         İlk çalıştırdığınız ekrandaki Apache'ın durmuş olduğunu göreceksiniz. Eğer durmamışsa CTRL+BREAK tuşlarına basarak çalışmasını durdurabilirsiniz. Bu yöntemi zorda kalmadıkça kullanmayın.

         Apache için, DOS ekranına çıkmadan Başla/Yeniden Başla/Dur komutlarını vermenizi sağlayan küçük bir program var. ZIP dosyasını kendinize çekin, içindeki apmgr.exe dosyasını c:\apache klasörüne kopyalayın ve her bilgisayarı açışınızda çalıştırın. Program sistem çubuğuna yerleşiyor ve kullanım kolaylığı sağlıyor.